GSEA分析

  • 一、GSEA介绍
  • 二、GSEA原理
    • 2.1 数据矩阵文件
    • 2.2 GSEA计算中几个关键概念
      • 1. Ranked Gene List L的排序算法
      • 2. 计算富集得分 (ES, enrichment score).
      • 3. 评估富集得分(ES)的显著性。
      • 4. ES标准化
      • 5. 多重假设检验校正(q-value)。
      • 6. RANK
      • 7. Leading-edge subset
      • 8. LEADING EDGE
  • 三、典型富集结果解读
  • 四、GSEA与传统的比较
  • 参考

一、GSEA介绍

我们先提出问题:在解读传统的富集分析(基于超几何分布或Fisher检验)结果时,经富集分析筛选的功能通路中,既有上调差异基因,也有下调差异基因,那么这条通路总体的表现形式改如何定义(是被抑制还是激活)?或者更直观的解释,这条显著富集的功能通路的(基因)表达水平在实验处理后是上升了,还是下降了?

分析:

  1. 在传统的富集分析时,我们只需要一个差异基因的列表,根本不关心这个差异基因究竟是上调还是下调。这是因为,传统的富集分析根本不需要考虑基因表达量的变化趋势,其算法的核心只关注这些差异基因的分布是否和随机抽样得到的分布一致,即使后期在可视化时,我们在通路图上用不同颜色标记了上下调的基因,但是由于没有采用有效的统计学手段去分析这条通路下所有差异基因的总体变化趋势,这使得传统的富集分析结果无法回答上述的问题。
  2. 或许,我们可以按照一种常规的方法来解决,在进行传统的富集分析时,每次只提取上调或者下调的差异基因来进行分析,由于事先根据表达量变化趋势对差异基因进行了筛选,从而回避了上面的问题。但这样的做法有失偏颇,因为费舍尔精确检验就是想要证明我这个差异基因列表不是随机抽样得到的,而事先对差异基因列表分类后再富集,已经对结果的随机性造成了干扰,最后得出的结论其准确性也大大降低。
  3. 此外,当上调基因和下调基因分开富集,然后富集到了同一条通路,这怎么解释?所以,传统的富集分析只能定位到功能,这些差异基因与哪些功能相关,而不能回答一开始的这个问题。想要回答一开始的这个问题,我们需要GSEA富集方法的结果。

二、GSEA原理

首先,我们看一下原理图(如下)。

2.1 数据矩阵文件

  1. Ranked Gene List L:该基因列表为待检测的数据集(通常为试验获得的表达矩阵文件);
  2. Gene Sets S:该基因集为已知功能注释的某一个通路所含基因(如一个GO term中所用基因);
  3. Leading Edege Subset:核心基因集,通常为位于ES的某一侧(或者Rank Gene List的某一端)。

通俗解释:GSEA的输入是一个基因表达量矩阵,其中的样本分成了A和B两组,首先对所有基因进行排序,可依据foldchange(A/B), 用来表示基因在两组间表达量的变化趋势。排序之后的基因列表其顶部可以看做是上调的差异基因(或在A中显著富集),其底部是下调的差异基因(或在B中显著富集)。GSEA分析的是一个基因集下的所有基因是否在这个排序列表的顶部或者底部富集。如果在顶部富集,该基因集(功能通路)是上调趋势,反之,如果在底部富集,则该基因集(功能通路)是下调趋势。

2.2 GSEA计算中几个关键概念

1. Ranked Gene List L的排序算法

  • 下面提到的均值也可以是中位数。
  • 如果表型是分组信息,GSEA在计算分组间的差异值时支持5种统计方式,分别是signal2noise、t-Test、ratio_of_class、 diff_of_class和log2_ratio_of_class。
  • 如果表型是连续数值信息(定量表型): GSEA通过表型文件和表达数据集文件,使用pearson相关性、Cosine、Manhattan 或Euclidean指标之一计算两个配置文件之间的相关性。

2. 计算富集得分 (ES, enrichment score).

  • ES反应基因集成员S在排序列表L的两端富集的程度。计算方式是,从基因集L的第一个基因开始,计算一个累计统计值。当遇到一个落在s里面的基因,则增加统计值。遇到一个不在s里面的基因,则降低统计值。
  • 每一步统计值增加或减少的幅度与基因的表达变化程度(更严格的是与基因和表型的关联度,可能是fold-change,也可能是pearson corelation值)是相关的(可以是线性相关,也可以是指数相关) 。富集得分ES最后定义为最大的峰值。正值ES表示基因集在列表的顶部富集,负值ES表示基因集在列表的底部富集。
    计算方式如下:

    ∑\sum∑:基于基因列表L的表达变化趋势强度,计算基因集S(功能通路)中所有基因的表达变化趋势程度的和值;
    NNN:表示基因列表L中基因的数目;
    NHN_HNH​:表示基因集S中基因的数目。

3. 评估富集得分(ES)的显著性。

通过基于表型而不改变基因之间关系的排列检验 (permutation test)计算观察到的富集得分(ES)出现的可能性。若样品量少,也可基于基因集做排列检验 (permutation test),计算p-value。

4. ES标准化

5. 多重假设检验校正(q-value)。

首先对每个基因集S计算得到的ES,然后根据基因集的大小进行标准化得到Normalized Enrichment Score (NES)。随后针对NES计算假阳性率。(注:GSEA采用p-value<5%,q-value<25%进行数据过滤)

6. RANK

  • 当ES值最大时,对应基因在排序好的基因列表L中的位置;

7. Leading-edge subset

  • 对富集得分贡献最大的基因成员,即核心基因集;

8. LEADING EDGE

  • 该处有3个统计值,tags表示核心基因集占该基因集S中基因总数的百分比;list表示核心基因集占基因列表L中基因总数的百分比;signal,将前两项统计数据结合在一起计算出的富集信号强度,计算公式如下:

三、典型富集结果解读

典型的结果如下:


解读:

  • 第一部分是Enrichment score折线图:显示了当分析沿着排名列表(基因列表L)计算基因集S中每一个基因的ES值时,累计ES值的变化趋势。最高峰处的得分便是该基因集S的ES值。
  • 第二部分,用线条标记了基因集S中每个基因出现在基因排序列表中的位置,黑线基因集S(功能注释通路)中的基因位于排序基因列表L中。leading edge subset 就是到绿色曲线峰值ES出现对应的这部分基因(通常情况下,ES大于0,为ES左侧的基因集合;ES小于0,为ES右侧的基因集合)。
  • 第三部分是排序后所有基因rank值得分布,热图红色部分对应的基因在case组中高表达,蓝色部分对应的基因在control组中高表达,每个基因对应的信噪比(Signal2noise,前面选择的排序值计算方式)以灰色面积图显展示。在上图中,我们一般关注ES值,峰出现在排序基因集的前端还是后端(ES值大于0在前端,小于0在后端)以及Leading edge subset(即对富集贡献最大的部分,领头亚集或和核心基因集);在ES图中出现领头亚集的形状,表明这个功能基因集在某处理条件下具有更显著的生物学意义;对于分析结果中,我们一般认为|NES|>1,p-val<0.05,FDR q-val<0.25的通路是显著富集的。

四、GSEA与传统的比较

  • GO富集分析:筛选差异基因,再判断差异基因在哪些注释的通路存在富集;这涉及到阈值的设定,存在一定主观性并且只能用于表达变化较大的基因,即我们定义的显著差异基因;仅考虑了差异基因的数目

  • GSEA分析:不局限于差异基因,从基因集的富集角度出发,理论上更容易囊括细微但协调性的变化对生物通路的影响;关联基因与表型,即富集分析兼顾基因与表达变化趋势(程度)

  • GSEA分析似乎与GO分析类似但又有所不同。GO分析更加依赖差异基因,实则是对一部分基因的分析 (忽略差异不显著的基因),而GSEA是从全体基因的表达矩阵中找出具有协同差异 (concordant differences)的基因集,故能兼顾差异较小的基因。因此二者的应用场景略有区别。另外GO富集是定性的分析,GSEA考虑到了表达或其它度量水平的值的影响。另外,对于时间序列数据或样品有定量属性时,GSEA的优势会更明显,不需要每个分组分别进行富集,直接对整体进行处理。

  • GSEA分析的目的是要判断S集基因(基于先验知识的基因注释信息,某个关注的基因集合)中的基因是随机分布还是聚集在排序好的L基因集的顶部或底部(这便是富集分析)。

  • 与GO富集分析的差异在于GSEA分析不需要指定阈值(p值或FDR)来筛选差异基因,我们可以在没有经验存在的情况下分析我们感兴趣的基因集,而这个基因集不一定是显著差异表达的基因。GSEA分析可以将那些GO/KEGG富集分信息中容易遗漏掉的差异表达不显著却有着重要生物学意义的基因包含在内。

参考

https://cloud.tencent.com/developer/article/1426130

GSEA原理的通俗易懂的理解相关推荐

  1. GSEA原理及一些理解

    生信宝典之前总结了一篇关于GSEA富集分析的推文--<GSEA富集分析 - 界面操作>,介绍了GSEA的定义.GSEA原理.GSEA分析.Leading-edge分析等,是全网最流行的原理 ...

  2. [通俗易懂]深入理解TCP协议(下):RTT、滑动窗口、拥塞处理

    转自即时通讯网:http://www.52im.net/ 前言 此文为系列文章的下篇,如果你对TCP不熟悉的话,请先看看上篇<[通俗易懂]深入理解TCP协议(上):理论基础> . 上篇中, ...

  3. [通俗易懂]深入理解TCP协议(上):理论基础

    转自即时通讯网:http://www.52im.net/ 前言 TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面.所以学习TCP本身是个比较痛苦的过程,但对于学习的 ...

  4. php 策略模式实现原理,php 策略模式原理与应用深入理解

    php 策略模式原理与应用深入理解,策略,可以用,接口,简单,算法 php 策略模式原理与应用深入理解 易采站长站,站长之家为您整理了php 策略模式原理与应用深入理解的相关内容. 本文实例讲述了ph ...

  5. 欧拉角死锁_刚体运动学最通俗易懂的理解万向节死锁

    在网上看了很多所谓的通俗易懂的理解万向节死锁的文章,甚至动画. 可能是我想象力有问题,实在是理解不了: 如果xyz表示机体坐标系,那机体坐标系永远不可能重合,也就不会出现第二种状态. 恰巧,我们刚看了 ...

  6. TCP 三次握手原理,你真的理解吗

    转载自  TCP 三次握手原理,你真的理解吗 最近,阿里中间件小哥哥蛰剑碰到一个问题--client端连接服务器总是抛异常.在反复定位分析.并查阅各种资料文章搞懂后,他发现没有文章把这两个队列以及怎么 ...

  7. 《编译原理》-用例题理解-自底向上的语法分析,FIRSTVT,LASTVT集

    <编译原理>-用例题理解-自底向上的语法分析,FIRSTVT,LASTVT集 上一篇:<编译原理>-用例题理解-自顶向下语法分析及 FIRST,FOLLOW,SELECT集,L ...

  8. 岭回归原理简单分析与理解

    岭回归原理简单分析与理解 首先说明一下,岭回归用于回归.学习岭回归,给我的感受是,它的数学公式推导比较简单,然而理解其含义相对难一些,所以本文着重引导你去理解它,而不仅仅是会推导公式.至于背景介绍,网 ...

  9. 【大话Java面试】-如何通俗易懂的理解Redis的回收算法LRU?

    如何通俗易懂的理解LRU算法? 1.LRU是什么? LRU全称Least Recently Used,也就是最近最少使用的意思,是一种内存管理算法,最早应用于Linux操作系统. LRU算法基于一种假 ...

最新文章

  1. 学C++,能不能简单点?
  2. python打飞机源代码-如何用 Python 打飞机 ?
  3. Callback到Promise再到Async进化初探
  4. 图像处理之添加图像水印
  5. 【背包】SMRTFUN
  6. c# datetime._C#| DateTime.Year属性与示例
  7. kloxo 安装图解
  8. WebLogic 控制台乱码
  9. 《浪潮之巅》读书笔记——第6章 Microsoft
  10. 5.1--5.1.2 Permutations of a Multiset 多重集合的排列
  11. 某些函数原型及其用法
  12. fastjson对Date的处理
  13. h5将数字翻译为大写汉字_将阿拉伯数字翻译成中文的大写数字
  14. python中数组,列表和集合的区别
  15. 第五章-畅销书排行榜
  16. ZF与MMSE接收检测
  17. Java 标准 IO 流编程一览笔录( 下 )
  18. 专访中科云创周北川:用AI来做工业设备的故障诊断,目前还停留在“鸡尾酒疗法”阶段
  19. 决定系数 均方误差mse_【机器学习】回归误差:MSE、RMSE、MAE、R2、Adjusted R2 +方差、协方差、标准差(标准偏差/均方差)、均方误差、均方根误差(标准误差)、均方根解释...
  20. 2019CCPC网络赛部分题解

热门文章

  1. 计算三角形内切圆半径的C++实现
  2. 刚怀孕该注意些什么?
  3. **KMeans中自动K值的确认方法**
  4. 英特尔携手爱立信打造全球Cloud RAN技术中心
  5. python组合和继承的区别_Python开发之面向对象、类和对象、组合与继承的实例讲解...
  6. TR069协议向导——一个帮助你了解TR069协议的简明教程(一)【转】
  7. 网络编程 广播、组播
  8. 这三大生肖都是成功人士,前途一片光明
  9. html5 video 停止播放视频,html5 video怎么停止播放视频
  10. Cocos Creator 3D 必懂知识(点乘、叉乘)