何为功能富集分析?

功能富集分析是将基因或者蛋白列表分成多个部分,即将一堆基因进行分类,而这里的分类标准往往是按照基因的功能来限定的。换句话说,就是把一个基因列表中,具有相似功能的基因放到一起,并和生物学表型关联起来。

何为GO和KEGG?

为了解决将基因按照功能进行分类的问题,科学家们开发了很多基因功能注释数据库,。这其中比较有名的一个就是Gene Ontology(基因本体论,GO)和Kyoto Encyclopedia of Genes and Genomes(京都基因与基因组百科全书,KEGG)。

其中,GO是基因本体论联合会建立的一个数据库,旨在建立一个适用于各种物种的、对基因和蛋白功能进行限定和描述的、并能够随着研究不断深入而更新的语义词汇标准。GO注释分为三大类:分子生物学功能(Molecular Function,MF)、生物学过程(Biological Process,BP)和细胞学组分(Cellular Components,CC),通过这三个功能大类,对一个基因的功能进行多方面的限定和描述。

而KEGG,大多数人会将其当做一个基因通路(Pathway)的数据库,其实KEGG的功能远不止于此。KEGG是一个整合了基因组、化学和系统功能信息的综合数据库。KEGG下属4个大类和17个子数据库,而其中有一个数据库叫做 KEGG Pathway,专门存储不同物种中基因通路的信息,也是用的最多的一个,久而久之,KEGG被大家当做一个通路数据库了。

下面两个图展示了GO和KEGG Pathway的面貌。

如何做功能富集分析?

做功能富集分析的算法有很多,能够做功能富集分析的工具也非常多,见下面的列表

Funrich 也可以做功能富集分析

以上的工具中,DAVID最为常用也最为权威。DAVID是由美国Leidos生物医学研究公司的LHRI团队开发的一个在线基因注释及功能富集网站(https://david.ncifcrf.gov/)

使用DAVID做功能富集分析

第一步

打开DAVID官网:https://david.ncifcrf.gov/

点击左侧功能菜单:Functional Annotation

进入到如下的页面中,页面中的红框中就是进行分析所用的主要操作区域。

第二步

进入分析页面后,通过如下三步即可完成分析:

提交基因列表 --> 选定提交列表类型 --> 开始分析

具体操作如下:

(1) 在 "Enter Gene List" 中上传基因列表,格式是每行一个基因。按照 DAVID 的要求,总的基因个数不得超过 3000 个。

(2) 在 “Select Identifier” 中选择上传的基因类型,因为我们上传的是基因名(Gene Symbol),所以在下拉菜单中选择 “OFFICIAL_GENE_SYMBOL”

(3) 在 “List Type” 中有两个单选框,我们统一选择 “Gene List” 这一项

(4) 点击 “Submit List” 即可

点击 “Submit” 提交基因列表之后,经过几秒钟的等待,如果分析顺利,就会弹出下面一个提示(如下图所示):Please note that multiple species have been detected in your gene list. 这句话的意思就是在我们提交的基因列表中检测到多个物种,需要我们选择相应的物种。怎么选择物种?点击弹出框中的 “确定”,然后在 “List” 中的选择相应物种,这里我们选择 “Homo sapiens”,并点击下方的 “Select Species” 即可。

第三步

操作完成后,就可以得到如下图所示的分析结果。红框所示折叠框中分别就是GO和KEGG的分析结果。

第四步

做完了分析,我们就来看看如何提取结果,并实现结果的可视化吧。

如下图所示,在功能富集分析的结果中有多个折叠栏,其中 Gene_Ontology 这一折叠栏中有有三个栏目:GOTERM_BP_FAT、GOTERM_CC_FAT、GOTERM_MF_FAT 就是我们想要的 GO 功能富集分析结果。而 Pathways 里面有一个 KEGG_PATHWAY 就是我们想要的结果。如何找到 BP、CC、MF 和 KEGG 对应的详细结果呢? 点击每个栏目后面的 “Chart” 即可。

点击 “Chart” 之后,即可出现如下图所示的结果,这里面有几列数据分别是:Category、Term、RT、Genes、Count、%、P-Value 和 Benjamini。这几列中我们比较关心的是:Term(GO语义)、P-Value(P值)、Count(基因数)、%(基因比例)。后面我们要解决的问题是,如何将这些结果下载下来?点击红框中的 Download File 即可。打开一个新的网页,新打开的网页就是分析结果的文本文件,可以下载或者导入到作图软件中进行后续的操作。

第五步 结果导出和可视化

阅读文献时,大家遇到最多的就是柱状图(一般是水平柱状图),柱子的高低与 P-value 相关,柱子越高则越显著。

高级气泡图用来表征富集分析的结果,x轴是 Gene Ratio,对应的就是 DAVID 结果表格中的 % 一列;y轴是富集出来的通路或者 GO Term;点的大小表示 Gene 数;点的颜色最为重要,代表 P值的高低。

DAVID 进行 GO/KEGG 功能富集分析的更多相关文章

  1. 基因探针富集分析(GSEA)& GO & pathway

    http://blog.sina.com.cn/s/blog_4c1f21000100utyx.html GO是Gene Ontology的简称,是生物学家为了衡量基因的功能而而发起的一个项目,从分子 ...

  2. GSEA 基因集富集分析

    http://software.broadinstitute.org/gsea/index.jsp GSEA(Gene Set Enrichment Analysis)是一种生物信息学的计算方法,用于 ...

  3. 富集分析DAVID、Metascape、Enrichr、ClueGO

    前言 一般我们挑出一堆感兴趣的基因想临时看看它们的功能,需要做个富集分析.虽然公司买了最新版的数据库,如KEGG,但在集群跑下来嫌麻烦.这时网页在线或者本地化工具派上用场了. DAVID DAVID地 ...

  4. 【R】clusterProfiler的GO/KEGG富集分析用法小结

    前言 关于clusterProfiler这个R包就不介绍了,网红教授宣传得很成功,功能也比较强大,主要是做GO和KEGG的功能富集及其可视化.简单总结下用法,以后用时可直接找来用. 首先考虑一个问题: ...

  5. 利用GSEA对基因表达数据做富集分析

      image Gene Set Enrichment Analysis (GSEA) is a computational method that determines whether an a p ...

  6. GO富集分析

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

  7. OS Tools-GO富集分析工具的使用与解读详细教程

    我们的云平台上的GO富集分析工具,需要输入的文件表格和参数很简单,但很多同学都不明白其中的原理与结果解读,这个帖子就跟大家详细解释~ 一.GO富集介绍:       Gene Ontology(简称G ...

  8. GO富集分析示例【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...

  9. python scipy包进行GO富集分析p值计算

    最近总是有需要单独对某一个类型的通路进行超几何分布的p值计算,这里记录一下python包的计算方法 使用scipy的stat里面的hypergeom.sf方法进行富集分析的p值计算 hsaxxxxx ...

随机推荐

  1. Docker入门之安装与简单使用操作

    1.docker安装 #1.检查内核版本,必须是3.10及以上 uname -r #2.安装 yum -y install docker 2.docker简单使用 #1.启动docker system ...

  2. php 获取一张图片所有点的颜色值,感觉不错转载学习

    片段一 //similar_text($numStr, $val, $pre); //计算两个字符串的相似度 //print_r($pre); $imgPath = 'time.jpg'; $size ...

  3. 单片机成长之路(stm8基础篇)- 025 stm8 时钟切换

    stm8 时钟切换; /************************************ 时钟设置 ************************************/ // 时钟 0: ...

  4. C# 身份证号码15位和18位验证

    /// <summary> /// 身份证 /// </summary> [Serializable] public class IDCard {     /// <su ...

  5. AEC_js的加解密

    后台传出来,前端就需要转出,前台传入,后台也需要转出 这是前端加解密 /* CryptoJS v3.1.2 */ var CryptoJS = CryptoJS || function(u, p) { ...

  6. C#实现outlook自动签名

    Outlook下实现自动签名的方式   网上找到一篇资料是在outlook里用vba实现的,但是这样实现的方式由于数字认证的问题不便于部署 在此介绍一种C#下实现的方式,目前确定的outlook版本为 ...

  7. Gin-Go学习笔记七:Gin-Web框架 布局页面

    模板使用 页面布局 1>     一个html页面由:head部分,body部分,内部css,内部js,外联css,外联的js这几部分组成.因此,一个布局文件也就需要针对这些进行拆分. 2> ...

  8. 某安全设备未授权访问+任意文件下载0day

    具体是哪家就不说了,硬件盒子,主要检测病毒. payload如下: https://xxx.xxx.xxx.xxx/downTxtFile.php?filename=/etc/passwd 比较简单, ...

  9. c# 根据域名的到对应的IP

    今天做了域名解析,由于项目里要用到域名对应的ip 所以做了这个小程序 private void button_Net_Click(object sender, EventArgs e)        ...

  10. JVM问题排查工具:Serviceability-Agent介绍

    本文首发于微信公众号:javaadu 简单介绍 构建高性能的Java应用过程中,必然会遇到各种各样的问题,像CPU飙高.内存泄漏.应用奔溃,以及其他疑难杂症,这时可以使用Serviceability ...