目前,GO 注释主要有两种方法:
(1)序列相似性比对(BLAST)
(2)结构域相似性比对(InterProScan)
这里以序列相似性比对为例,简单介绍 GO 注释的步骤:将基因序列与 swiss-prot 蛋白质数据库进行 BLAST (blastp 或者 blastx,这篇文章介绍了如何做 BLAST 分析:BLAST 知多少?)比对,得到如下结果:
blast.result
blast.result
其中,第二列 swiss-prot 蛋白质数据库序列的 ID(UniProtKB ID)。
从 ftp://ftp.pir.georgetown.edu/databases/idmapping 下载 idmapping.tb.gz,该文件共有 22 列(tab 键分割):
Q6GZX4 001R_FRG3G 2947773 YP_031579.1 81941549; 49237298 PF04947 GO:0006355; GO:0046782; GO:0006351 UniRef100_Q6GZX4 UniRef90_Q6GZX4 UniRef50_Q6GZX4 UPI00003B0FD4 654924 15165820 AY548484 AAT09660.1
每一列的含义分别为 (可以看出,许多数据库已经和GO关联了):
1. UniProtKB accession2. UniProtKB ID3. EntrezGene4. RefSeq5. NCBI GI number6. PDB7. Pfam8. GO9. PIRSF10. IPI11. UniRef10012. UniRef9013. UniRef5014. UniParc15. PIR-PSD accession16. NCBI taxonomy17. MIM18. UniGene19. Ensembl20. PubMed ID21. EMBL/GenBank/DDBJ22. EMBL protein_id
根据文件 idmapping.tb.gz,将 blast 的结果,通过 UniProtKB ID,将第八列的 GO 号注释到对应的基因上。
python UniProt2GO_annotate.py idmapping.tb.gz blastout outputfile
结果如下:
c93619_g2_i1 GO:0005506,GO:0016705,GO:0016021,GO:0004497,GO:0020037c93619_g2_i3 GO:0009733,GO:0020037,GO:0044550,GO:0016021,GO:0016020,GO:0016711,GO:0009813,GO:0005789,GO:0005506c70056_g1_i1 GO:0005737,GO:0019722,GO:0071889,GO:0005829,GO:0001077,GO:0006357,GO:0097720,GO:0000978,GO:0046872,GO:0005634,GO:0006874c93748_g1_i1 GO:0006729,GO:0008124c107639_g1_i1 GO:0009737,GO:0009738,GO:0005623,GO:0006970,GO:0009651,GO:0045454,GO:0009789c106424_g1_i1 GO:0043565,GO:0009555,GO:0003700,GO:0005634,GO:0009793,GO:0006351c66585_g1_i1 GO:0005737,GO:0003746,GO:0003924,GO:0005525c110618_g1_i8 GO:0015297,GO:0016021,GO:0015238c105249_g1_i5 GO:0046872,GO:0043161,GO:0005829,GO:0006915,GO:0032648,GO:0050691,GO:0005654,GO:0070936,GO:0061630,GO:0005634c134727_g1_i1 GO:0072546,GO:0030246,GO:0005783
网友评论