文章转载于 python
类似的基因在不一样物种中,其功能每每保守的。显然,须要一个统一的术语用于描述这些跨物种的同源基因及其基因产物的功能,不然,不一样的实验室对相同的基因的功能的描述不一样,将极大限制学术的交流。而 Gene Ontology (GO) 项目正是为了可以使对各类数据库中基因获基因产物功能描述相一致的努力结果。数据库
所谓的 GO,是生物学功能注释的一个标准词汇表术语(GO term),将基因的功能分为三部分:app
基因执行的分子功能(Molecular Function)post
基因所处的细胞组分(Cellular Component)ui
基因以及参与的生物学过程(Biological Process)lua
不一样的 GO term 经过有向无环图关联起来,以下图所示:spa
能够看出,不一样的 GO term 间的关系由三类:is_a
、part_of
和 regulates
。code
如 regulation of cell projection assembly
是一种生物学过程,是 regulation of cell projection organization
中的一类(is_a
),还调节(regulates
)cell projection assembly
;又如 cellular component assembly
是 celluar component biogenesis
的一部分(part_of
)。值得注意的是,这些关系都是有方向的,即反过来不成立,于是叫作有向无环图。component
目前,GO 注释主要有两种方法:blog
(1)序列类似性比对(BLAST)
(2)结构域类似性比对(InterProScan)
这里以序列类似性比对为例,简单介绍 GO 注释的步骤:
将基因序列与 swiss-prot 蛋白质数据库进行 BLAST (blastp 或者 blastx,这篇文章介绍了如何作 BLAST 分析:BLAST 知多少?)比对,获得以下结果:
c49_g1_i1 RNF13_MOUSE 52.00 50 23 1 17 166 240 288 2e-11 65.5
c72_g1_i1 RS25_NEUCR 78.72 94 20 0 375 94 1 94 1e-32 116
c75_g1_i1 POLX_TOBAC 45.28 53 29 0 162 4 457 509 1e-08 55.1
c86_g2_i1 POLX_TOBAC 46.43 112 60 0 339 4 879 990 2e-30 120
c91_g1_i1 BUB1_ARATH 55.71 70 28 2 61 264 289 357 1e-14 73.6
c143_g1_i1 STL1_YEAST 31.98 172 85 4 6 518 407 547 6e-17 82.8
c150_g1_i1 CST26_YEAST 37.63 93 38 3 223 5 142 234 6e-10 58.2
c150_g2_i1 YHOE_SCHPO 42.67 75 41 1 227 3 54 126 5e-16 74.7
c156_g2_i1 EXOL2_ARATH 47.17 53 28 0 299 141 229 281 6e-06 47.0
c169_g1_i1 SPT5_ASPFU 60.98 82 31 1 20 262 725 806 2e-18 84.0
其中,第二列 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 accession
2. UniProtKB ID
3. EntrezGene
4. RefSeq
5. NCBI GI number
6. PDB
7. Pfam
8. GO
9. PIRSF
10. IPI
11. UniRef100
12. UniRef90
13. UniRef50
14. UniParc
15. PIR-PSD accession
16. NCBI taxonomy
17. MIM
18. UniGene
19. Ensembl
20. PubMed ID
21. EMBL/GenBank/DDBJ
22. 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:0020037
c93619_g2_i3 GO:0009733,GO:0020037,GO:0044550,GO:0016021,GO:0016020,GO:0016711,GO:0009813,GO:0005789,GO:0005506
c70056_g1_i1 GO:0005737,GO:0019722,GO:0071889,GO:0005829,GO:0001077,GO:0006357,GO:0097720,GO:0000978,GO:0046872,GO:0005634,GO:0006874
c93748_g1_i1 GO:0006729,GO:0008124
c107639_g1_i1 GO:0009737,GO:0009738,GO:0005623,GO:0006970,GO:0009651,GO:0045454,GO:0009789
c106424_g1_i1 GO:0043565,GO:0009555,GO:0003700,GO:0005634,GO:0009793,GO:0006351
c66585_g1_i1 GO:0005737,GO:0003746,GO:0003924,GO:0005525
c110618_g1_i8 GO:0015297,GO:0016021,GO:0015238
c105249_g1_i5 GO:0046872,GO:0043161,GO:0005829,GO:0006915,GO:0032648,GO:0050691,GO:0005654,GO:0070936,GO:0061630,GO:0005634
c134727_g1_i1 GO:0072546,GO:0030246,GO:0005783
拓展阅读:
Ontology Relations:http://geneontology.org/page/ontology-relations#basics
Frequently Asked Questions (FAQ):http://geneontology.org/faq-page
脚本 UniProt2GO_annotate.py 下载:
连接:http://pan.baidu.com/s/1kVjzJYv 密码:vigu