我们的云平台上的GO富集分析工具,需要输入的文件表格和参数很简单,但很多同学都不明白其中的原理与结果解读,这个帖子就跟大家详细解释~
一、GO富集介绍:
Gene Ontology(简称GO)是一个国际标准化的基因功能分类体系,提供了一套动态更新的标准词汇表(controlled vocabulary)来全面描述生物体中基因和基因产物的属性。GO总共有三个ontology(本体),分别描述基因的分子功能(molecular function)、细胞组分(cellular component)、参与的生物过程(biological process)。GO的基本单位是term(词条、节点),每个term都对应一个属性。
富集的含义:
每个基因都会对应有一个或多个GO term(也就是GO功能)。
富集涉及到两个概念:前景基因和背景基因。前景基因就是你关注的要重点研究的基因集,背景基因就是所有的基因集。比如做两个样本对照组和处理组的转录组测序,前景基因就是对照组vs处理组的差异基因,背景基因就是这两组样本的所有表达基因。再比如,我想知道与整个广东省相比,深圳市的大学生是不是显著更多(“大学生”就相当于深圳市民的其中一个GO term)。那么前景就是深圳市的人口,背景就是广东省的人口,每个个体都会有一个标签(如大学生、中学生、小学生等)。
富集的意思就是,某个GO term在所关注的前景基因集中占的比例要显著高于在所有背景基因集中所占的比例。比如上面的例子,深圳市大学生显著富集,意思就是深圳市本科毕业的人口所占深圳市总人口的比例显著高于广东省本科毕业人口在广东省总人口中所占的比例。例如下图,我们要计算的就是10%与2%相比是否有显著性。
那么,这个“显著性”是如何计算的呢?就是我们众所周知的P value。P value是利用超几何检验计算出来的,具体公式如下:
其中,N为所有Unigene中具有GO注释的基因数目;n为N中差异表达基因的数目;M为所有Unigene中注释为某特定GO term的基因数目;m为注释为某特定GO term的差异表达基因数目。
计算得到的P value会进一步经过多重检验校正,得到corrected-pvalue(也就是Q value)。通常我们会以Q value≤0.05为阈值,满足此条件的GO term定义为在差异表达基因中显著富集的GO term。
二、数据准备:
明白了GO富集的原理后,我们需要准备的数据就只有两份:前景基因文件和背景基因文件。
富集目的基因文件(前景基因文件):就是你要富集分析的基因集。在上面的例子中,就是对照组vs处理组的差异表达基因。格式为每行一个基因ID,文本文件(制表符分隔)(*.txt)。
GO背景基因文件:就是所有的基因集,在上面的例子中,就是对照组和处理组所有的表达基因。1)如果你研究的物种是有参考基因组的模式物种,那么可以直接使用数据库上已有的参考基因作为背景基因文件。目前提供的物种有水稻、拟南芥、小鼠、大鼠、斑马鱼、鸡、秀丽线虫、果蝇、人。ID类型可选择基因ID或转录本ID,根据富集目的基因的ID类型决定。如果不清楚自己的文件是什么ID,可以点击“预览参考文件”来查看具体ID。后面的“版本”是最新的Ensemble版本号。
2)如果你研究的物种不在这些选择范围内,那么就要自己准备GO背景基因文件了。
因为一个基因可有多个GO term,所以文件格式有两种:一种为第一列为基因ID,第二列为所对应的GO term,如下表:
另一种为第一列是基因ID,第二列之后为同一个基因的所有GO号,这种格式也是我们基迪奥的转录组denovo流程出来的结果格式,如下表:
上传这两种格式中的任何一种都是可以的~ 要记住,前景基因文件里的基因ID必须包含在背景基因文件里面!
如何得到基因的GO注释?
有一些同学不知道如何获得背景基因的GO号。通常,如果你的数据是从公司测序得到的,那么测序报告里都会有。如果你是自己捣腾的数据,那么,如果是无参考基因组的物种,就需要根据unigene的Nr注释,用Blast2go软件得到unigene的GO注释信息。具体Blast2go的使用,可参考我们第二期在线交流课堂:http://www.omicshare.com/forum/thread-176-1-1.html。如果是有参考基因组的物种,可以在GO 官网上下载GO注释信息,也可以在Biomart上下载物种的GO注释信息,我们也有相应的教程:http://www.omicshare.com/forum/thread-437-1-1.html。
上传完这两个文件后,点击“提交”就OK了。等着收菜~~
三、结果解读: 这次我试运行的数据为荔枝趋势分析文章里的趋势分析结果数据,我以profile1包含的基因为前景基因集,所有趋势包含的基因为背景基因集,做GO富集分析。
1. GO二级分类图(out.secLevel.png/svg)
这个图显示了profile1的基因在各个GO term的数目和富集情况。横坐标代表GO三个 ontology的更细一级分类,即二级分类;纵坐标代表每个分类条目所包含的基因数目。由于一个基因常常对应多个GO term,因此同一个基因会在不同分类条目下出现,即被多次统计,因此如果你把这里所有柱子的基因数目加起来,肯定是多于profiel1总的基因数目的。
2. GO富集结果表(out.[PFC].html ) 三个Ontology(C, F, P)会分别展示。以生物过程(biological process)为例子,如下表: