文章轉載於 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