我们的云平台上的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)为例子,如下表:

       第一列为GO term的ID,点击GO ID,可显示这个GO term包含的所有基因:
 
再点击这个GO ID,就可以链接到http://amigo.geneontology.org 官网,可以查看GO的具体信息。
       第二列为GO term的功能描述;
       第三列前面的数字为差异表达基因中富集到这个GO term的基因数,后面的数字为差异表达基因的总数;
       第四列前面的数字为背景基因中富集到这个GO term的基因数,后面的数字为背景基因的总数;
       第五列为P value,即计算第三列的百分比与第四列的百分比相比,是否有显著差异。我们将小于0.05的P value标红显示;
       第六列为多重检验校正后的Q value,也是把小于0.05的Q value标红显示。这些GO term是按照P value从小到大排列的,方便老师找差异富集结果。如在这个例子中,microtubule-based process为在差异基因中富集最显著的GO term,说明profile1中的基因显著富集于这个功能。
3.  GO有向无环图(out.C/P/F.png)
       从整体上来看,GO注释系统是一个有向无环图(Directed Acyclic Graphs),GO各term之间的关系是单向的,GO term之间的分类关系有三种:is a、part of 和 regulates。具体的解释可看这个帖子:http://www.omicshare.com/forum/thread-538-1-1.html。富集分析结果会分别给出GO三个ontology(细胞组分、分子功能、生物过程)的有向无环图,如下图是生物过程的有向无环图:
 
在这个图中,越接近根结点的GO term越概括,往下分支的GO term为注释到更细层级的term。我们来看每个GO term里的含义:
 
其中,Pvalue 这一行,如果大于0.05,即会显示NA,即图中只显示显著的P value。
形状的含义:程序默认把显著性最高的前10个GO term设置为方形,其他的GO term为圆形。
颜色的含义:颜色越深,代表该GO term越显著。颜色由浅到深分别为:无色——浅黄——深黄——红色。
那么,从颜色上来看,在molecular function这个ontology上,最显著的GO term是GO:0003774。因此后续可以从这个GO term入手,这个GO term所在的分支上的其他GO term也值得研究。
意义:
GO有向无环图展示了GO term之间的分类关系,并且从另一方面帮助老师寻找显著富集的GO term。
四、引用
大家如果在数据处理的过程中,使用了我们的omicshare tools云工具网站,那么在文章中的method部分可以这样引用:GO enrichment analysis was performed using the OmicShare tools,a free online platform for data analysis (www.omicshare.com/tools)。
 
五、详细版:英文method 加 引用

Gene Ontology (GO)is an international standardized gene functional classification system whichoffers a dynamic-updated controlled vocabulary and a strictly defined conceptto comprehensively describe properties of genes and their products in anyorganism. GO has three ontologies: molecular function, cellular component andbiological process. The basic unit of GO is GO-term. Each GO-term belongs to a type of ontology.
GO enrichment analysis provides all GO terms that significantly enriched in DEGs comparing to the genome background, and filter the DEGs that correspond to biological functions. GO enrichment analysis was performed using the OmicShare tools,a free online platform for data analysis (www.omicshare.com/tools)。Firstly all DEGs were mapped to GO terms in the Gene Ontology database (http://www.geneontology.org/), gene numbers were calculated for every term, significantly enriched GO terms in DEGs comparing to the genome background were defined by hypergeometric test. The calculated p-value was gone through FDR Correction, taking FDR ≤ 0.05 as a threshold. GO terms meeting this condition were defined as significantly enriched GO terms in DEGs. This analysis was able to recognize the main biological functions that DEGs exercise.

OS Tools-GO富集分析工具的使用与解读详细教程的更多相关文章

  1. 【Java线程与内存分析工具】VisualVM与MAT简明教程

    目录 前言 VisualVM 安装与配置 本地使用 远程监控 MAT 使用场景 安装与配置 获得堆转储文件 分析堆转储文件 窥探对象内存值 堆转储文件对比分析 总结 前言 本文将简要介绍Java线程与 ...

  2. Tools - 源代码阅读分析工具Source Insight

    简介 https://www.sourceinsight.com/ Source Insight是一个面向项目开发的程序编辑器和代码浏览器,可以分析C/C++.C#.Java.Python等语言源代码 ...

  3. 优启通-PE启动盘制作工具 原版Win7系统安装超详细教程!!!!!

    https://www.jianshu.com/p/cd4abc9889b6 前期准备 原版Win7系统ISO映像文件 PE启动U盘或系统光盘(本教程以纯净无捆绑的优启通PE为示例) 优启通v3.3下 ...

  4. GO富集分析

    GO的主要用途之一是对基因组进行富集分析.例如,给定一组在特定条件下上调的基因,富集分析将使用该基因组的注释发现哪些GO术语被过度表示(或未充分表示). 富集分析工具    用户可以直接从GOC网站的 ...

  5. Analysis Tools(分析工具)

    分析工具 1.叠加分析 # Process: 交集取反 arcpy.SymDiff_analysis("", "", 输出要素类, "ALL" ...

  6. Linux资源分析工具杂谈(长文慎入)

    Linux资源分析工具杂谈 开篇之前请大家先思考一个问题:        磁盘的平均I/O响应时间是1 ms,这个指标是好,还是差? 众所周知,计算机科学是客观的,也就是说对于一个给定的问题,我们总是 ...

  7. Linux 日志分析工具之awstats

    一.awstats 是什么 官方网站:AWStats is a free powerful and featureful tool that generates advanced web, strea ...

  8. Android代码分析工具lint学习

    1 lint简介 1.1 概述 lint是随Android SDK自带的一个静态代码分析工具.它用来对Android工程的源文件进行检查,找出在正确性.安全.性能.可使用性.可访问性及国际化等方面可能 ...

  9. 【转】gc日志分析工具

    性能测试排查定位问题,分析调优过程中,会遇到要分析gc日志,人肉分析gc日志有时比较困难,相关图形化或命令行工具可以有效地帮助辅助分析. Gc日志参数 通过在tomcat启动脚本中添加相关参数生成gc ...

随机推荐

  1. python摸爬滚打之day02----while循环,运算符,格式化输出

    1.while循环 1.1  结构:while +条件判断: while 循环体 else: 条件不成立时语句块 while...else...是一个循环整体,当循环条件成立时执行while循环体内容 ...

  2. 【pyqtgraph绘图】Qt速成课程

    解读官方API-Qt速成课程 参考:http://www.pyqtgraph.org/documentation/qtcrashcourse.html Qt速成课程 PyQtGraph广泛使用Qt来生 ...

  3. 【python基础】文件操作

    文件操作目录 一 .文件操作 二 .打开文件的模式 三 .操作文件的方法 四 .文件内光标移动 五. 文件的修改 一.文件操作介绍 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用pyt ...

  4. js:return [ expression ],return false,return true,return的区别

    1.return [ expression ] return返回值实际上是对window.event.returnvalue进行设置. 2.return false,阻止默认的行为, ① 当给a标签绑 ...

  5. 图书管理(Loj0034)+浅谈哈希表

    图书管理 题目描述 图书管理是一件十分繁杂的工作,在一个图书馆中每天都会有许多新书加入.为了更方便的管理图书(以便于帮助想要借书的客人快速查找他们是否有他们所需要的书),我们需要设计一个图书查找系统. ...

  6. 10.1-uC/OS-III任务堆栈空间

    1.设置任务优先级 嵌入式系统中的重要的应用应该被设置为高优先级,一些显示操作就应该被设置为低优先级. 然而, 由于实时系统的复杂性, 在大多数情况下任务的优先级是不能被事先确定的.多数系统中,不是所 ...

  7. tr 命令

    [root@localhost .txt abcdefg [root@localhost .txt |tr [a-z] [A-Z] ABCDEFG // 把文件小写字母变成大写字母

  8. python序列元素引用容易出错的地方

    python序列分列表和元组,不同之处在于元组的元素不能修改.元组使用小括号,列表使用方括号.元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可.举个简单的例子,a1是一个元组,a2是一个列表 ...

  9. 如何在Digital Ocean上申请服务器的教程

    本文会详细叙述如何在digital ocean上注册.申请.创建以及配置服务器,亲测有效. what's the Digital Ocean ? 根据度娘释义,Digital Ocean是digita ...

  10. WIN32,_WIN32_WIN64

    MSDN 里说,VC 有 3 个预处理常量,分别是 _WIN32,_WIN64,WIN32. 只要包含了 Windows.h,那么 WIN32 常量是肯定定义了的,所以不能用于判断平台环境(如果x64 ...