Gene Ontology (GO) 注釋
相似的基因在不同物種中,其功能往往保守的。顯然,需要一個統一的術語用於描述這些跨物種的同源基因及其基因產物的功能,否則,不同的實驗室對相同的基因的功能的描述不同,將極大限制學術的交流。而 Gene Ontology (GO) 項目正是為了能夠使對各種數據庫中基因獲基因產物功能描述相一致的努力結果。
所謂的 GO,是生物學功能注釋的一個標准詞匯表術語(GO term),將基因的功能分為三部分:
- 基因執行的分子功能(Molecular Function)
- 基因所處的細胞組分(Cellular Component)
- 基因參與的生物學過程(Biological Process)
不同的 GO term 通過有向無環圖關聯起來,如下圖所示:
可以看出,不同的 GO term 間的關系由三類:is_a
、part_of
和 regulates
。
如 regulation of cell projection assembly
是一種生物學過程,是 regulation of cell projection organization
中的一類(is_a
),還調節(regulates
)cell projection assembly
;又如 cellular component assembly
是 celluar component biogenesis
的一部分(part_of
)。值得注意的是,這些關系都是有方向的,即反過來不成了,因而叫做有向無環圖。
目前,GO 注釋主要有兩種方法:
- (1)序列相似性比對(BLAST)
- (2)結構域相似性比對(InterProScan)
這里以序列相似性比對為例,簡單介紹 GO 注釋的步驟:
-
將基因序列與 swiss-prot 蛋白質數據庫進行 BLAST (blastp 或者 blastx)比對,得到如下結果:
c49_g1_i1 RNF13_MOUSE 52.00 50 23 1 17 166 240 288 2e-11 65.5c72_g1_i1 RS25_NEUCR 78.72 94 20 0 375 94 1 94 1e-32 116c75_g1_i1 POLX_TOBAC 45.28 53 29 0 162 4 457 509 1e-08 55.1c86_g2_i1 POLX_TOBAC 46.43 112 60 0 339 4 879 990 2e-30 120c91_g1_i1 BUB1_ARATH 55.71 70 28 2 61 264 289 357 1e-14 73.6c143_g1_i1 STL1_YEAST 31.98 172 85 4 6 518 407 547 6e-17 82.8c150_g1_i1 CST26_YEAST 37.63 93 38 3 223 5 142 234 6e-10 58.2c150_g2_i1 YHOE_SCHPO 42.67 75 41 1 227 3 54 126 5e-16 74.7c156_g2_i1 EXOL2_ARATH 47.17 53 28 0 299 141 229 281 6e-06 47.0c169_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 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
拓展閱讀: