GSEA分析一文就够(单机版+R语言版)

通过前面的讲解,我们顺利的了解了GEO数据库以及如何下载其数据,得到我们想要的表达矩阵,但,这只是分析的开始,最经典的分析就是GSEA了,看看基因全局表达量的变化是否有某些特定的基因集合的倾向性。

历史目录:

解读GEO数据存放规律及下载,一文就够

解读SRA数据库规律一文就够

从GEO数据库下载得到表达矩阵 一文就够

GSEA软件的用法

这个是java软件,所以各个电脑操作系统都可以很容易安装及使用。我在生信菜鸟团博客也手把手讲解了详细操作过程,这里就不再赘述咯:

  • 用GSEA来做基因集富集分析 http://www.bio-info-trainee.com/1282.html

  • 批量运行GSEA,命令行版本 http://www.bio-info-trainee.com/1334.html

GSEA的原理

首先对每个样本里面的基因的表达值在样本内部进行排序,本质是是根据该基因在两个group之间的差异来排序!但是差异如何量化,就有多种方法了,可以是Signal2Noise 值,或者是Ttest值,或者是fold change,logFC等等。默认的,GSEA会根据signal-to-noise metric 来对基因进行排序。但是也可以选择其它metric。

  • 如果是自己已经排序好了的基因,也可以直接拿来做GSEA分析了,见: GSEAPreranked Page in the GSEA User Guide.

  • 如果是affymetrix的表达矩阵,不需要提前进行Present/Marginal/Absent Calls. 来过滤掉一些表达探针,GSEA需要各种情况的表达数据。

  • 如果是gct and pcl 的表达矩阵,缺失值空着就好了。但是如果缺失值太多了,这样在计算signal-to-noise的时候,不同group的样本数就不一致了,mean和sd都会变好,最好是避免这样的情况,可以考虑进行插值,或者过滤掉这样的探针。

同时不需要提前过滤掉低表达量的探针或者低variance的探针。它们都会在我们算好的 ranked gene list 的中间部分,增强我们的统计效应。完全不用担心数据量计算时间的问题。

值得注意的是如果要想计算Signal2Noise ,每个group必须要有3个及以上的samples

值得一提的是除了两个group之间的比较可以做gsea之外,还可以针对连续性的phenotypes和time-course数据。参考:http://software.broadinstitute.org/gsea/doc/GSEAUserGuideFrame.html

假设芯片或者其它测量方法测到了2万个基因,那么这两万个基因在case和control组的差异度量(六种差异度量,默认是signal 2 noise,GSEA官网有提供公式,也可以选择大家熟悉的foldchange)肯定不一样,那么根据它们的差异度量,就可以对它们进行排序,并且Z-score标准化,在下图的最底端展示的就是

img

那么图中间,就是我们每个gene set里面的基因在所有的2万个排序好基因的位置,如果gene set里面的基因集中在2万个基因的前面部分,就是在case里面富集,如果集中在后面部分,就是在control里面富集着。

而最上面的那个ES score的算法,大概如下:

1

仔细看,其实还是能看明白的,每个基因在每个gene set里面的ES score取决于这个基因是否属于该gene set,还有就是它的差异度量,上图的差异度量就是FC(foldchange),对每个gene set来说,所有的基因的ES score都要一个个加起来,叫做running ES score,在加的过程中,什么时候ES score达到了最大值,就是这个gene set最终的ES score!

所谓的GSEA分析,就是一个个遍历探索已知的基因集合,在我们的表达矩阵里面是否出现了某种统计学显著的扰动,如上图所示,要深入理解,请看我在生信菜鸟团写的另外3个教程:

  • java版本GSEA软件的ES score图片的修改 http://www.bio-info-trainee.com/2105.html

  • GSEA的统计学原理试讲 http://www.bio-info-trainee.com/2102.html

  • 制作自己的gene set文件给gsea软件 http://www.bio-info-trainee.com/2144.html

(0)

相关推荐

  • 非肿瘤纯生信3分SCI思路分享

    没有时间.没有经费做实验的穷苦科研人,利用这方法零成本的方法照样可以发3分的SCI.下面我们将这种方法分享给大家,这里介绍的文章题目如下:Integrative analyses of biomark ...

  • 转录组学习八(功能富集分析)

    任务 选择p<0.05而且abs(log2FC)大于1的基因为显著差异表达基因集,对这个基因集用R包做KEGG/GO超几何分布检验分析. 把表达矩阵和分组信息分别作出cls和gct文件,导入到G ...

  • 基因或蛋白富集分析,gsea与ssgsea

    大家应该对通路富集分析都很熟悉,如DAVID.超几何富集分析等.都是在大量文章中常见的通路富集方法,给大家介绍一个更加复杂的通路富集分析的前期数据处理包GSVA(gene set variation ...

  • 一看就会的3+非肿瘤纯生信分析

    导语 今天和大家分享的是2019年11月发表在Frontiers in Genetics杂志(IF=3.517)上的一篇文章,"Identifying Key Genes and Funct ...

  • 关于功能富集分析的基础知识

    富集分析基因富集分析(gene set enrichment analysis)是在一组基因或蛋白中找到一类过表达的基因或蛋白.研究方法可分为三种:Over-Repressentation Analy ...

  • 【Meta分析】网状Meta分析中网络证据图的绘制(R语言版)

    基于严格设计随机对照试验直接比较的系统评价/Meta 分析已被公认为是评价干预措施疗效的最高级别证据,称为传统系统评价/Meta 分析,而在临床实践中,经常会碰到许多不同干预措施的疗效差异尚无直接比较 ...

  • 30道练习题带你玩转统计学的R语言版

    前天在天津医科大学做生物信息学分享的时候,提到了小伊老师的统计学课程,不过昨天航班晚点,来不及整理分享回答大家的疑惑,所以今天才出这30个题目. 生信五周年-天津站 统计学是一门很深的学问,这里仅仅是 ...

  • R语言GSEA分析(一)

    安装并导入要用到的R包 BiocManager::install("clusterProfiler") #感谢Y叔的clusterprofiler包 BiocManager::in ...

  • R语言GSEA分析(二)

    转换基因ID 如基因名是symbol,需要将基因ID转换为Entrez ID格式.Entrez ID实际上是指的Entrez gene ID,是对应于染色体上一个gene location的.每一个发 ...

  • R语言GSEA分析(三)

    GAEA df_all_sort <- df_all[order(df_all$logFC, decreasing = T),]#先按照logFC降序排序 gene_fc = df_all_so ...

  • 芯片的探针ID找到基因名-基于R语言-一文就够

    使用bioconductor注释包 如果该芯片平台有对应的bioconductor注释包,只有约90个常用的芯片有! 比如: library(hgu133a.db) ids=toTable(hgu13 ...

  • 手把手教你用R做GSEA分析

    GSEA是非常常见的富集分析方式,以前我们做GSEA需要用依赖java的GSEA软件,那个时候准备分析的文件可能要花上很长时间,报错还不知道如何处理.现在我们来学习一下R语言进行GSEA分析. 加载R ...

  • R语言生存分析: 时变竞争风险模型分析淋巴瘤患者

    原文链接:http://tecdat.cn/?p=22422 在本文中,我们描述了灵活的竞争风险回归模型.回归模型被指定为转移概率,也就是竞争性风险设置中的累积发生率.该模型包含Fine和Gray(1 ...

  • R语言基于Bagging分类的逻辑回归(Logistic Regression)、决策树、森林分析心脏病患者

    原文链接:http://tecdat.cn/?p=22448 今天,我们将看下bagging 技术里面的启发式算法. 通常,bagging 与树有关,用于生成森林.但实际上,任何类型的模型都有可能使用 ...