在BILIBILI上观看视频:《【GCModeller教程】基因组GO功能注释原理》

哈喽,各位小伙伴们好啊,你们可爱的六神无主鸠今天又开新课了。今天主要为大家讲解的内容是GO基因功能注释的原理和操作。在开始今天的新视频前,我先为大家来讲一个圣经中的神话:

大洪水过去后, 诺亚的三个儿子的后裔形成了人类的三大支系,居住在世界各地,遍布地面。那时候人们的语言、口音都没有分别。他们在往东边迁移的时候,在示拿这个地方遇见一片平原,就在那里住下。因为在平原上,用作建筑的石料很不易得到,他们就发明了制造砖的方法,用泥作成方块,再用火烧透,他们就拿砖当石头,又拿石漆当灰泥,建造起繁华的巴比伦城。
人们为自己的业绩感到骄傲,他们决定在巴比伦修一座通天的高塔,来传颂自己的赫赫威名,并作为集合全天下弟兄的标记,以免分散。因为大家语言相通,同心协力,阶梯式的通天塔修建得非常顺利,很快就高耸入云。
上帝是不允许凡人达到自己的高度的。他看到人们这样统一强大,心想,他们语言都一样,如果真修成宏伟的通天塔,那以后还有什么事干不成呢? 必须制止人类接近自己的狂妄。上帝就离开天国到人间,变乱了人们的语言。人们各自操起不同的语言,感情无法交流,思想很难统一。修造工程因语言纷争而停止了,通天塔的建造终于半途而废了。

好,故事讲完了,回到我们今天的正题:

背景信息

我们在拿到一个非模式生物或者无参考基因组的项目的时候,经常需要进行基因的功能注释,才能够进行生物信息学的数据分析工作。虽然啊,序列相似的基因在不同物种中,其功能往往保守的,但是以前往往会存在不同的实验室对相同的基因的功能的描述因为我们的自然语言的模糊性而不尽相同的问题。显然,我们需要一个统一的术语用于描述这些跨物种的同源基因及其基因产物的功能,否则这种模糊性将会极大限制不同的科研人员间的学术的交流。

随着生物信息学数据的积累,出现了不同的应用于描述基因功能的分类数据库。这些分类系统的目标都是希望能够用于阐述这些跨物种的同源基因的生物学功能。但是因为分类系统之间的基因功能注释结果可能在自然语言描述上都不尽相同,存在都相互为各自的方言的情况,大部分分类结果都几乎无法在分类系统之间直译。 Gene Ontology (GO) 项目正是为了能够使对各种数据库中基因获基因产物功能描述相一致的努力结果。

在GO分类系统中,有三大基础分类(官方的称呼为词条的命名空间):

  • 细胞组分(cellular component):细胞的每个部分和细胞外环境。
  • 分子功能(molecular function):可以描述为分子水平的活性(activity),如催化(catalytic)或结合(binding)活性。
  • 生物过程(biological process):生物学过程系指由一个或多个分子功能有序组合而产生的系列事件。

与GO分类相似的,尝试进行阐明生物学功能的本质的还有比较早诞生的非常经典的NCBI的直系同源蛋白簇,即COG分类(COG还分为4大版本:原核细菌分支为COG,真核分支为KOG,古细菌分支为arCOG,噬菌体分支为POG)。COG分类系统中有下面的4大基础分类:

  • 遗传信息存储以及遗传信息处理相关的(INFORMATION STORAGE AND PROCESSING)
  • 胞内过程以及信号转导相关的(CELLULAR PROCESSES AND SIGNALING)
  • 代谢相关的(METABOLISM)
  • 难以分类的(POORLY CHARACTERIZED)

而另一个系统领域内非常重要的进行基因功能分类的KEGG直系同源相对于COG分类则是更加细分为7大基础功能分类:

  • 代谢相关的(Metabolism)
  • 遗传信息处理相关的(Genetic Information Processing)
  • 环境信息处理相关的(Environmental Information Processing)
  • 胞内生命过程相关的(Cellular Processes)
  • 有机体生命系统组成相关的(Organismal Systems)
  • 人类疾病相关的(Human Diseases)
  • 无法进一步分类的(Not Included in Pathway or Brite)

基因本体

单单从GO的全称Gene Ontology,我们就可以明白,GO注释系统是以阐述生物大分子的本质属性而建立的分类系统,在这里本质属性就是指的是生物学功能。GO分类使用4种元素来描述基因单元的本质信息:

  • 概念(concepts):一个本质的概念就是我们对某一个基因其产物的功能注释结果的描述,在GO注释中,一个概念就是一个具体到某一个GO id编号的Term词条。
  • 关系(relationship):在Go注释系统中,两个词条之间可以存在有is_a,part_of,has_part以及regulates这4种关系。如果将词条看作为一个节点,词条间的关系看作为两个节点之间的一条边连接的话,我们就可以在许多个节点的基础上构建出一个有向无环图,也可以看作为一个关系网络。
  • 实例(instances):实例就是在生命活动中发挥具体的生物学功能的,具有GO注释信息的蛋白之类的实际存在的现实世界中的生物大分子物质了。在UniProt蛋白数据库中所有具有uniprot编号的蛋白序列都是一个GO注释的目标实例对象。
  • 公理(axioms):公理推断规则是在GO注释系统中最重要的一个本质概念阐述过程的规则。公理指的是词条与词条之间的关系推断的规则,例如A is_a B,并且B is_a C,那么我们就可以推断出A is_a C,将A推断为C的一个过程中所使用的推断规则信息,就是一个公理。因为我们根据关系推断出A is_a C,所以C就是A的本质,同样的,C也是B的本质。

理解基因本体的公理推断过程

那么,我们如何理解Go注释系统中的这个最重要的关系的公理推断来进行蛋白的本质属性信息的描述?我们可以举出下面的一个例子来做类比帮助大家进行理解:

A是一位程序猿,他是一个男人,B是一个程序媛,她是一个女人。在这个例子中,A和B这两个人就是两个实例对象,同时存在有程序猿 is_a 男人以及程序猿 is_a 程序员,并且存在有 程序媛 is_a 女人以及程序媛is_a 程序员,同时程序员是人类的一种社会职业,男人和女人是人类的一种生物分类。

则我们就可以做出下面的推断:A是一个程序猿,B是一个程序媛,程序媛和程序猿本质都是程序员,所以我们可以推断出A和B的社会本质是程序员。程序猿指的是一个男人,男人是一个人,那么我们就可以推断出A是一个男人,程序猿的本质是一种人类社会职业,所以程序猿的本质是人,故而实例A的生物本质是一个人。相同的,我们也可以推断出B的生物本质也是一个人。

我喘口气先,一口气说了这么长的绕口令,相信现在大家应该对GO注释中的公理推断有一个很直观的认识了吧。在这里大家可以将现实世界中真实存在的蛋白质分子看作为A或者B;他们的生物学功能,也就是对应的GO注释词条了,可以看作为A或者B的职业或者性别。GO注释中的三大命名空间则对应于A和B的社会本质和生物学本质之类。

如何对蛋白序列做GO注释

说了那么多概念性的东西,现在再来说说GO注释是如何出现在我们所研究的蛋白上面的吧。现在进行蛋白序列的GO注释,目前主要是有两种途径来完成:生物学实验注释和预测计算。

1. 生物学实验注释

生物学实验注释指的是我们通过具体的生物学实验设计,验证了某一个蛋白分子确实具有某一种生物学功能。那么我们就可以将我们的实验结果,进行论文发表。完成论文发表之后,就可以向GO委员会提出注释申请,基于我们所发表的实验结果将某些个GO注释词条与我们所研究的蛋白关联上。这个过程就是生物学实验注释。生物学实验注释的意义在于如果所研究的蛋白质是完全功能未知的,则我们的论文数据可能会产生新的GO注释词条,为我们目前的人类知识库添加宝贵的真实存在的新知识。

2. 预测计算

生物学实验注释得到的结果都是真实存在的,但是生物学实验注释耗时会非常长,并且代价昂贵。所以在现如今我们拥有非常大规模的知识库的情况下,我们可以通过计算的方式进行非常低成本而且高效的蛋白序列的GO功能注释。但是需要明确的是,通过计算预测得到的注释结果可能和真实的生物功能有一些偏差,并且计算预测并不能产生新的GO注释词条,这方面也是预测计算注释和实验注释相比非常明显的两个缺陷。

在通过预测计算进行GO注释方面,我们一般是可以通过两种手段来进行注释分析:序列相似性比对和结构域相似性比对。

在这两个方法中最简单的就属序列相似性比对方法了,序列相似性比对就是基于blastp的双向最佳比对来搜索直系同源的方法做GO注释。如果数据库中的蛋白参考序列有GO注释结果,并且我们的query序列中有一条序列是该参考序列的直系同源,则我们的query序列很有可能具有该参考序列所有的GO注释词条。

序列相似性比对方法虽然简单明了直观,但是我们也可以看得出,基于序列相似性比较做注释,我们得到的结果只能够是在参考序列上已存在的GO注释结果组合,如果参考库没有做更新的话就没有办法产生新的GO注释结果的组合。并且因为直系同源的结果一般会比较少,能够准确注释上的GO注释的query序列的数量也会比较少。

所以啊,如果想产生新的GO注释组合结果并且希望能够得到尽可能多的GO注释结果的query序列,我们会需要做基于结构域相似性的比对。做结构域相似性比对,我们同样可以使用blastp来完成,也可以使用interpro scan进行基于隐马科夫模型的HMM方法注释。

GO注释操作实例

在这里我们在大家非常熟悉的NCBI的blast+套件的基础上,通过blastp比对来进行基于结构域相似性的比较注释分析,来为大家讲解GO注释的基本原理:

  1. 在这里我们使用Pfam结构域数据来进行GO功能的注释操作,首先我们会需要在Pfam的官方的ftp站点下载Pfam的结构域序列文件,同时,还需要在GO的官网上下载Pfam到GO的ID mapping文件备用。
  2. 然后在这里我们将Pfam的结构域序列作为query进行单向最佳比对操作即可完成功能结构域的注释分析操作了。

    等等,为什么是将Pfam的结构域序列作为query进行查询?为什么只做单向最佳比对而不是BBH?因为蛋白质的功能结构域一般是完整的蛋白分子序列中的一部分序列区域,所以Pfam的结构域序列一般是远短于一条完整的蛋白分子序列的。故而对于Pfam的结构域序列而言,其作为query的时候,blastp比对可能会在目标蛋白序列上得到一部分与Pfam结构域序列100%相同的片段结果,但是不太可能找到和Pfam序列完全一致的蛋白序列。做反向比对就没有太多实际意义了,所以这是只做单向最佳比对的原因。

  3. 所以最后在这里我们会设定对于query需要达到identities至少90%,coverage也是至少达到90%才可以得到一个在目标蛋白序列上比较准确的Pfam功能结构域的注释结果。

对于基于功能结构域的GO注释,因为蛋白序列中可能含有多个功能结构域,也可能含有目前而言未知的功能结构域,所以一条蛋白序列可能会得到好几个GO的注释结果,也可能一个都没有。

课程的内容就到这了,今天在这个视频中我为大家讲解了GO注释的原理,具体的下游的GO富集分析的背景模型的建立以及GO富集计算结果分析,我将会在下一个新视频中为大家继续进行讲解,敬请期待吧。喜欢我的视频的话,就投两个币点赞支持一下你们的阿婆主哦,拜拜了。

Attachments

No responses yet

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注