相似的基因在不同物种中,其功能往往保守的。显然,需要一个统一的术语用于描述这些跨物种的同源基因及其基因产物的功能,否则,不同的实验室对相同的基因的功能的描述不同,将极大限制学术的交流。而 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
拓展阅读: