Microarray: 把 Affyxmetrix annotation import 到 MySQL



如果你想把從 Affymetrix 下載回來的註解檔 例如 (HG-U133P2) 倒入 MySQL 中, 進一步的利用。你可能會遇到幾個問題,例如欄位格式要怎麼設,單筆資料會超過 MySQL 的限制(8000byte)等.. ,顯然的Affymetrix 提供的註解檔是用關聯資料庫倒出來,這樣產生的沒有辦法簡單的用一個單一Table放資料庫,而要重建Affyx DB的Schema 也不是個好點子,我想了一下,決定刪去那些佔空間的功能註解(例如:Geneontology等),因為這些可以輕易的從ID 去查出來。所產生了一個了一個精簡版的Table,我把SQL command 列出來,如果有人正要這麼做,希望對你有幫助。




##ReadMore###Complete version annotation table
# 結構上可行,但會撞到 MySQL 的 8000 byte 限制,所以U133B可以,U133 p2 就不行了。

CREATE TABLE affyxannotation (
Probe_Set_ID varchar(32) NOT NULL,
GeneChip_Array varchar(32) default NULL,
Species_Scientific_Name varchar(32) default NULL,
Annotation_Date date default NULL,
Sequence_Type varchar(32) default NULL,
Sequence_Source varchar(32) default NULL,
Transcript_ID varchar(32) default NULL,
Target_Description text,
Representative_Public_ID varchar(32) default NULL,
Archival_UniGene_Cluster varchar(32) default NULL,
UniGene_ID varchar(256) default NULL,
Genome_Version varchar(16) default NULL,
Alignments text,
Gene_Title text,
Gene_Symbol varchar(512) default NULL,
Chromosomal_Location varchar(512) default NULL,
Unigene_Cluster_Type varchar(32) default NULL,
Ensembl text,
Entrez_Gene varchar(512) default NULL,
SwissProt text,
EC varchar(256) default NULL,
OMIM varchar(256) default NULL,
RefSeq_Protein_ID text,
RefSeq_Transcript_ID text,
FlyBase varchar(16) default NULL,
AGI varchar(16) default NULL,
WormBase varchar(16) default NULL,
MGI_Name varchar(16) default NULL,
RGD_Name varchar(16) default NULL,
SGD_accession_number varchar(16) default NULL,
Gene_Ontology_Biological_Process text,
Gene_Ontology_Cellular_Component text,
Gene_Ontology_Molecular_Function text,
Pathway text,
InterPro text,
Trans_Membrane text,
QTL varchar(16) default NULL,
Annotation_Description text,
Annotation_Transcript_Cluster text,
Transcript_Assignments text,
Annotation_Notes text,
PRIMARY KEY  (Probe_Set_ID)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

#Import data form local file
LOAD DATA INFILE 'd:/HG-U133_Plus_2.na28.annot.csv' INTO TABLE affyx.U133P2
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
IGNORE 13 LINES;


我移除了一些可以在後面再加的欄位,以下是精簡版本。

## build simple annoation table
CREATE TABLE affyx.U133P2 (
Probe_Set_ID varchar(32) NOT NULL,
Transcript_ID varchar(32) default NULL,
Representative_Public_ID varchar(32) default NULL,
Archival_UniGene_Cluster varchar(32) default NULL,
UniGene_ID varchar(256) default NULL,
Alignments text,
Gene_Title text,
Gene_Symbol varchar(512) default NULL,
Chromosomal_Location varchar(512) default NULL,
Unigene_Cluster_Type varchar(32) default NULL,
Ensembl text,
Entrez_Gene varchar(512) default NULL,
SwissProt text,
EC varchar(256) default NULL,
OMIM varchar(256) default NULL,
RefSeq_Protein_ID text,
RefSeq_Transcript_ID text,
InterPro text,
PRIMARY KEY  (Probe_Set_ID)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

#Import data form local file

LOAD DATA INFILE 'd:/HG-U133_Plus_2.na28.annot.csv' INTO TABLE affyx.U133P2
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
IGNORE 13 LINES
(Probe_Set_ID,@X,@X,@X,@X,@X,Transcript_ID,@X, Representative_Public_ID, Archival_UniGene_Cluster,
UniGene_ID,@X, Alignments, Gene_Title, Gene_Symbol, Chromosomal_Location,Unigene_Cluster_Type,
Ensembl,Entrez_Gene,SwissProt,EC,OMIM,RefSeq_Protein_ID,RefSeq_Transcript_ID,
@X,@X,@X,@X,@X,@X,@X,@X,@X,@X,InterPro);






留言