DAVID 进行 GO/KEGG 功能富集分析
何为功能富集分析?
功能富集分析是将基因或者蛋白列表分成多个部分,即将一堆基因进行分类,而这里的分类标准往往是按照基因的功能来限定的。换句话说,就是把一个基因列表中,具有相似功能的基因放到一起,并和生物学表型关联起来。
何为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 功能富集分析的更多相关文章
- 基因探针富集分析(GSEA)& GO & pathway
http://blog.sina.com.cn/s/blog_4c1f21000100utyx.html GO是Gene Ontology的简称,是生物学家为了衡量基因的功能而而发起的一个项目,从分子 ...
- GSEA 基因集富集分析
http://software.broadinstitute.org/gsea/index.jsp GSEA(Gene Set Enrichment Analysis)是一种生物信息学的计算方法,用于 ...
- 富集分析DAVID、Metascape、Enrichr、ClueGO
前言 一般我们挑出一堆感兴趣的基因想临时看看它们的功能,需要做个富集分析.虽然公司买了最新版的数据库,如KEGG,但在集群跑下来嫌麻烦.这时网页在线或者本地化工具派上用场了. DAVID DAVID地 ...
- 【R】clusterProfiler的GO/KEGG富集分析用法小结
前言 关于clusterProfiler这个R包就不介绍了,网红教授宣传得很成功,功能也比较强大,主要是做GO和KEGG的功能富集及其可视化.简单总结下用法,以后用时可直接找来用. 首先考虑一个问题: ...
- 利用GSEA对基因表达数据做富集分析
image Gene Set Enrichment Analysis (GSEA) is a computational method that determines whether an a p ...
- GO富集分析
GO的主要用途之一是对基因组进行富集分析.例如,给定一组在特定条件下上调的基因,富集分析将使用该基因组的注释发现哪些GO术语被过度表示(或未充分表示). 富集分析工具 用户可以直接从GOC网站的 ...
- OS Tools-GO富集分析工具的使用与解读详细教程
我们的云平台上的GO富集分析工具,需要输入的文件表格和参数很简单,但很多同学都不明白其中的原理与结果解读,这个帖子就跟大家详细解释~ 一.GO富集介绍: Gene Ontology(简称G ...
- GO富集分析示例【华为云技术分享】
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...
- python scipy包进行GO富集分析p值计算
最近总是有需要单独对某一个类型的通路进行超几何分布的p值计算,这里记录一下python包的计算方法 使用scipy的stat里面的hypergeom.sf方法进行富集分析的p值计算 hsaxxxxx ...
随机推荐
- Spring Boot + Vue 前后端分离开发,权限管理的一点思路
在传统的前后端不分的开发中,权限管理主要通过过滤器或者拦截器来进行(权限管理框架本身也是通过过滤器来实现功能),如果用户不具备某一个角色或者某一个权限,则无法访问某一个页面. 但是在前后端分离中,页面 ...
- Password file not found:.../jmxremote.password
jmxremote.password 在jdk/jre/lib/management/下,jmxremote.password.template复制,去掉.template后缀 在配置JMX远程访问的 ...
- 【模板整合计划】DP动态规划
[模板整合计划]DP动态规划 一:[背包] 1.[01背包] 采药 \([P1048]\) #include<algorithm> #include<cstdio> int T ...
- 深入挖崛:mysql主从复制原理
一.基本原理 MySQL复制过程分成三步: 1).master将改变记录到二进制日志(binary log).这些记录过程叫做二进制日志事件,binary log events: 2).slave将m ...
- JS的数组进行切片slice
代码 var arr = new Array(6) arr[0] = "George" arr[1] = "John" arr[2] = "Thoma ...
- elasticsearch原理学习
用es也差不多一年左右了,但是都是只会用,底层做了什么一窍不通,没有核心竞争力,循序渐进,一个一个攻破,理解的多了,读的多了,自然能力就上去了,es底层是基于lucene的,所以今天先从lucene下 ...
- Delphi编译/链接过程
下面展示了Delphi是怎样编译源文件,并且把它们链接起来,最终形成可执行文件. 当Delphi编译项目(Project)时,将编译项目源文件.窗体单元和其他相关单元,在这个过程中将会发生好几件事情: ...
- 一、VUE基础回顾1
1.v-if和v-show v-if 和v-show都可以显示和隐藏元素: 区别:(1)v-if初始值为false那么这个元素不会被渲染 ,v-show不管初始值为何值都会被渲染 (2)v-if是控制 ...
- android studio学习---Lint工具
对代码进行测试是一回事,但同样重要的是.我们还需要在编写代码的同时引入各种最佳实践.这不仅能够显著改进性能表现,也能增加应用程序的整体稳定性.另外,经过合理结构调整的项目在维护方面也更为轻松. And ...
- HTTP中分块编码(Transfer-Encoding: chunked)
转自: 妙音天女--分块传输编码~ 参考链接: HTTP MDN--HTTP协议 一.背景: 持续连接的问题:对于非持续连接,浏览器可以通过连接是否关闭来界定请求或响应实体的边界:而对于持续连接,这种 ...