写在前面: 1某些富集代码 |关于GSEA|某些主流富集分析工具 ---- 两类富集分析 A:差异基因富集分析(不需要表达值,只需要gene name) B: 基因集(gene set )富集分析(不管有无差异,需要全部genes表达值) ---- A:差异基因富集分析(不需要表达值,只需要gene name) ---- -----------富集什么----------- 最常用的基因注释工具是 GO和KEGG注释,这基本上是差异基因分析一定做的两件事。 --------什么是富集(原理)-------- 富集的统计学基础是超几何分布,简单来说根据下面的Fisher精确检验(Fisher exact test)公式,对每个GO或KEGG term计算一个 ---- B: 基因集(gene set)富集分析(不管有无差异,需要全部genes表达值) ---- 好处:可以发现被差异基因舍弃的genes可能参与了某重要生理过程或信号通路(参看这里) 工具
一、GSEA 简介 Gene Set Enrichment Analysis (基因集富集分析)用来评估一个预先定义的基因集的基因在与表型相关度排序的基因表中的分布趋势,从而判断其对表型的贡献 富集得分 ES 最后定义为最大的峰值。正值 ES 表示基因集在列表的顶部富集,负值 ES 表示基因集在列表的底部富集。 2、评估富集得分(ES)的显著性。 https://software.broadinstitute.org/cancer/software/gsea/wiki/index.php/Data_formats 之前的推文也有介绍,详细参考: 富集分析 :GSEA分析准备 五、利用 R 实现 GSEA 虽然 GSEA 客户端可以非常方便的完成 GSEA 的分析,但 JAVA 版的 GSEA 软件图形输出格式是 png 格式,图片分辨率较低 ,不方便编辑,所以,也可以使用 R 包进行 GSEA 分析。
ORA过表达分析 富集分析的算法有很多,最常用是Over Representation Analysis,ORA过表达分析,其次是gene set enrichment analysis, GSEA基因集富集分析 富集分析的P值:即计算出现抽中600个球(通路中富集到600个基因)及以上(更极端情况)概率之和。并与显著性系数0.05/0.01/0.001进行比较。 总结: 富集分析可以简单的理解为不放回的抽球问题,其概率符合超几何分布。 富集分析p值为X个基因富集到通路中及大于X个基因富集到通路中(更极端的情况)的概率之和,p.adjust是对多重假设检验的校正,目的是减少假阳性率。 R语言中intersect函数在进行一万多次富集分析时明显较慢,我们可以使用顾叔用c++写的相同功能的函数可以提升一点富集分析的效率。
·通过将差异基因做 GO 富集分析,可以把基因按照不同的功能进行归类,达到对基因进行注释和分类的目的。 图片 图片 富集分析-衡量每个通路里的基因在差异基因里是否足够多 富集分析代码 rm(list = ls()) load(file = 'step4output.Rdata') library(clusterProfiler ggthemes) library(org.Hs.eg.db) library(dplyr) library(ggplot2) library(stringr) library(enrichplot) 1.GO 富集分析 gene_down = deg[deg$change == 'down','ENTREZID'] gene_diff = c(gene_up,gene_down) #(2)对上调/下调/所有差异基因进行富集分析 或者换一种方式富集,或者调整差异基因的阈值后面会有) # 富集分析所有图表默认都是用p.adjust,富集不到可以退而求其次用p值,在文中说明即可 (4)双向图 上下调基因分开画图 source("kegg_plot_function.R
本次开设新专题,“富集分析”,了解富集分析的各种手段,学会十八般武艺。 不过,因为公众号没有留言功能,大家交流学习讨论不知从“何”下手,为了解决这个问题,大家可以移步论坛发帖。 分析的是基因集合而非单个基因(GO)或少数基因(Pathway); 3. 富集分析。 怎么理解这个富集分析? 那么,将获得的两组数据进行一定处理后与按先验知识归类的基因集合比对分析,将某个干预和某个生物学功能变化联系起来,这个过程就叫富集分析。 4. 四、与传统富集分析的区别 GO 富集分析通过分析差异基因在生物学过程,分子功能、细胞组成中的富集定位,从而对基因进行注释和分类,它通过设定 cut-off 值选出差异表达基因,对它们进行 GO KEGG 通路分析和 GO 富集分析类似,选出差异基因,通过统计学分析判断差异基因可能和哪些通路相关。这两个分析方法都需要筛选出差异基因,忽略对结果有贡献但没有落在差异显著范围内的基因。
其中第一行第一列是默认的格式,一般为#1.2 或#1.3,10100 是指基因数,50 是指样本数,Name 下面一般是基因名或基因探针,本例中是基因名,如果是基因探针,则分析时要进行基因探针的转换。
背景 本次带大家实操gsea,将从分析前参数选择、分析流程操作演示和分析中常见错误分析三个方面给大家进行介绍. 首先我们来进行 GSEA 软件的参数选择与讲解。 如图所示,一般我们自己填进去 5 就行,选择的越大,数据分析准确性越好,但是对于电脑的内存要求越高,同时分析时间也越长。 Analysis name 即自己命名分析结果,注意命名不能有空格。 Enrichment statistic 即计算富集得分,富集得分的算法,默认选择 weighted。 :p53_hgu95av2.gct 是芯片表达谱数据,我们一会儿会下载,但是不分析此数据,P53_collapsed.gct 是我们要进行分析的基因表达谱数据,p53.cls 是指包含表型标签的数据。 好了,GSEA 分析流程就为大家写到这里,谢谢大家。
前面给大家介绍了这么多的富集分析,其实主要就是两种:ORA和GSEA。通常都是需要一个基因集才可以做。 单个基因能做富集分析吗?肯定是不行的,所以需要我们用间接的方法实现。 对于单基因,你如果要做富集分析,有两种思路: 批量计算和这个基因相关的其他基因,把其他基因进行富集分析,这个富集分析结果就可以近似的看做是单基因的结果 根据这个基因的表达量进行分组,然后做差异分析,用差异基因做富集分析 AC006486.3 根据这个结果得到82个mRNA,然后对这82个mRNA进行富集分析即可,不过我们就不演示了,因为富集分析在之前已经详细介绍过了! 3.760606 0.0001907947 0.0008006871 0.02293662 ## genesymbol ## VGF VGF 接下来就可以使用这311个差异基因进行富集分析了 ,我们还是演示下吧,进行GO和KEGG的富集分析: suppressMessages(library(clusterProfiler)) deg_entrezid <- bitr(deg_limma$
富集分析 通常用的富集分析有ORA、FCS和拓扑三种方法。ORA简单来说就是超几何检验或Fisher精确检验,大同小异,都符合超几何检验,这也是目前用的最多的方法,优劣不谈。 FCS的代表就是GSEA,即基因集富集分析,优劣亦不谈。clusterProfiler提供了这两种富集分析方法。 1. ORA(Over-Representation Analysis) GO富集参考代码: #标准富集分析 ego <- enrichGO( gene = gene$entrzID, KEGG Pathway富集参考代码: #标准富集分析 ego <- enrichKEGG( gene = gene, keyType = "kegg", GSEA(Gene Set Enrichment Analysis) GO富集参考代码: #标准富集分析 ego <- gseGO( geneList = geneList,
今天为大家带来常见的富集分析类型,其实主要就是两类: ORA(Over-Representation Analysis),通过超几何分布检验实现 基因集富集分析GSEA(gene set enrichment 大家比较常用的是对基因做富集分析,但是疾病也是可以做富集分析的,有基因本体论(GO),也有疾病本体论(DO) DOSE包是专门用来做疾病富集分析的。 clusterProfiler提供了用于超几何检验的enricher()函数和用于基因集富集分析的GSEA()函数,可以让用户根据自己的注释信息进行富集分析。 多个基因集富集结果比较 同时对多个基因集进行富集分析,这个功能在单细胞里面简直是绝配! ,所以其他的富集分析结果就不再一一演示了。
昨天给大家简单的介绍了一下富集分析的常见算法(基因富集分析算法介绍),但是具体要怎么实现基因的富集分析呢? 根据我们之前介绍的三种富集分析的算法,这个数据库也同样基于三种算法分成了三个功能。 ? 1.2 选择分析方式 之前介绍的三种富集分析方式都可以进行选择。我们可以基于自己想要的分析方式来进行选择。 ? 1.3 选择背景数据库 这里我们需要选择背景数据库。 由于我们经常想要做很多方面的富集分析,网站很贴心的也有了一个添加背景数据集的按钮。我们通过 + 也就可以添加额外的数据了。 ? 2. NTA结果 网络分析的结果主要是通过亚网络的格式展示的。在这里我们可以看到具体的信息同时也可以看到网络中基因的富集结果。 ? >>>> 数据下载 对于任何的分析结果。
相信大家都做过基因的功能富集分析,小编前面也花了不少篇幅给大家介绍GO和KEGG富集分析 ☞GO和KEGG富集分析视频讲解 ☞GO简介及GO富集结果解读 ☞四种GO富集柱形图、气泡图解读 ☞ GO富集分析四种风格展示结果—柱形图,气泡图 ☞KEGG富集分析—柱形图,气泡图,通路图 也给大家介绍了零代码GO和KEGG富集分析以及可视化 1.基因富集工具DAVID介绍(一)-基因ID转换 2.基因富集工具 DAVID介绍(二)-KEGG富集分析 3.基因富集工具DAVID介绍(三)-零代码展示KEGG富集结果 4.基因富集工具DAVID介绍(四)-GO富集分析及柱形图展示 5.零代码GO富集分析—柱形图同时展示 BP,MF,CC,KEGG 6.零代码GO富集分析—一张图展示BP,MF,CC 不知道大家有没有做过miRNA的功能富集分析。 选择miRNA成熟体还是前体,一般我们应该用miRNA来做分析。点击Next step2. 选择分析的类型,这里支持两种。一种是富集分析,一种是类似于GSEA的分析。
简单总结clusterProfiler包进行GO、KEGG的富集分析方法,结果输出及内置的图形展示。 内置示例数据 data(geneList, package="DOSE") #富集分析的背景基因集 gene <- names(geneList)[abs(geneList) > 2] gene.df = TRUE) 3.2 enrichGO 富集分析 ego_ALL <- enrichGO(gene = test1$ENTREZID, universe = names 五、注释文件、注释库 如果clusterProfiler包没有所需要物种的内置数据库,可以通过自定义注释文件或者自建注释库的方法进行富集分析。 待补充富集结果ggplot2绘制,GSEA等相关分析。
GSEA定义 Gene Set Enrichment Analysis (基因集富集分析)用来评估一个预先定义的基因集的基因在与表型相关度排序的基因表中的分布趋势,从而判断其对表型的贡献。 这与之前讲述的 GO富集分析 不同。GO富集分析是先筛选差异基因,再判断差异基因在哪些注释的通路存在富集;这涉及到阈值的设定,存在一定主观性并且只能用于表达变化较大的基因,即我们定义的显著差异基因。 GSEA分析 软件和基因集下载 (http://software.broadinstitute.org/gsea/downloads.jsp) ? ? 输入数据准备 表达矩阵。 FDR GSEA默认提供所有的分析结果,并且设定FDR<0.25为可信的富集,最可能获得有功能研究价值的结果。 Leading-edge分析 主要对筛选感兴趣的基因有意义;选择一个或多个显著富集的基因集,查看其内Leading-edge基因的表达和重叠状态。 ? ?
以下是富集分析需要用到的R包 rm(list = ls()) load(file = 'step4output.Rdata') library(clusterProfiler) library(ggthemes library(org.Hs.eg.db) library(dplyr) library(ggplot2) library(stringr) library(enrichplot) #南方医某个大佬写的R包 富集分析需要很长的时间跑代码 change == 'up'] gene_down = deg$ENTREZID[deg$change == 'down'] gene_diff = c(gene_up,gene_down) #2.富集分析 , showCategory = 5) + facet_grid(ONTOLOGY ~ ., space = "free_y",scales = "free_y") KEGG富集分析 gene_down = deg[deg$change == 'down','ENTREZID'] gene_diff = c(gene_up,gene_down) #2.对上调/下调/所有差异基因进行富集分析
昨天我们介绍了富集分析的基本的内容:GO分析和KEGG分析都是啥?。但是富集分析还是有很多不同的算法的,对于主要的算法过程其实不用太多了解,这个由专业人士来解决就行。 ◆ ◆ ◆ ORA (Over Representation Analysis) 过表达分析 我们常规的做的或者公司给的富集分析的结果里面给的GO分析和KEGG分析的结果就是使用ORA的算法来做的。 可视化选择 基于GSEA算法我们也可以得到一个评估富集的得分(ES得分)。基于富集的过程也有一个特殊的可视化的图。 ? 对于GSEA图形的解读,我们可以把GSEA分析的图分成三个部分来进行解读。 中间部分:代表在进行GSEA分析当中目标通路相关基因在基因的差异分析当中所处的位置。如果我们把横坐标移上去就是这个样子的了。 ? 最上面的那个部分,则是GSEA富集分析当中通路的走势图。 写在最后 基本上关于富集分析的内容就是这么多。通过上面的内容,我们也发现,其实算法是固定的;背景数据库呢,虽然都是叫GO或者KEGG。
R语言学习 - 富集分析泡泡图 刚一出品,Y叔就说有硬伤。 Y叔是著名富集分析软件clusterprofiler的原创,而且软件内集成dotplot, enrichmap,cnetmap (后续也实现这两个的一步出图)等画图方法,具体看这个教程http://guangchuangyu.github.io 不只clusterprofiler的用户需要 如果用clusterprofiler做富集分析,write.table输出结果,那么输入文件、R、ggplot2都有了,一步出图没有问题。 再次,如果拿到的是已经做好的富集分析结果 (可能是clusterprofiler的,也可能是其它软件的),总不能再导入clusterprofiler绘图吧,可以有简单的方式的。 今天用clusterprofiler做了富集分析,运用dotplot配合不同参数出了图;过几天心情一变,想换个风格了,怎么办?再运行一次clusterprofiler还是加载之前存储的.Rdata。
前面讲述了富集分析泡泡图的绘制,富集分析结果也可以用网络形式同时展示富集的条目以及对应的基因。 首先看下示例数据,列数可多可少,这里只用到Description列和geneID列。 columns to be included in final matrix) 点击提交,下载结果(如果结果直接在浏览器打开了,则右键另存为下载) 获得转换后的数据格式如下 (两列文件,基因和其对应的富集条目
基因组学分析在得到差异表达基因之后,最常做的还是富集分析。通过富集分析我们可以了解相关基因集主要在形式的功能是什么。目前用来做基因富集分析的工具很多。 这次介绍的这个叫g:profiler(https://biit.cs.ut.ee/gprofiler/gost); G:profiler 不止是可以进行富集分析。 这个网站包括四个主要的工具: g:GOSt: 对基因集进行富集分析 g:Convert: 基因ID转换工具 g:Orth: 不同物种之间同源基因名转换 g:SNPense: SNP注释工具 g:GOSt :富集分析 g:GOSt是一个可以进行富集分析的工具。 富集分析的结果可以通过一个瀑布图和分布热图来进行可视化。同时也提供了数据结果下载的界面。
小编前面给大家介绍过 ☞GO简介及GO富集结果解读 ☞四种GO富集柱形图、气泡图解读 ☞GO富集分析四种风格展示结果—柱形图,气泡图 ☞GO和KEGG富集分析视频讲解 小编前面也用了好几期的内容来给大家介绍 如何使用DAVID做GO富集分析,并且给大家演示了如何使用Excel,零代码展示GO富集分析的结果。 1.基因富集工具DAVID介绍(一)-基因ID转换 2.基因富集工具DAVID介绍(四)-GO富集分析及柱形图展示 3.零代码GO富集分析—柱形图同时展示BP,MF,CC,KEGG 4.零代码GO富集分析 【R】四种风格展示DAVID GO富集分析结果 6.展示DAVID富集分析结果中感兴趣的GO条目和KEGG通路 今天小编在给大家介绍另外一种展示GO富集分析结果的图,circleplot。 GO富集分析结果,通过查看EC$david这个变量,我们来看看数据格式 关于如何做GO富集分析,可以参考下面这些文章 ☞GO富集分析四种风格展示结果—柱形图,气泡图 ☞ 基因富集工具DAVID介绍(