BioinformaticsNGS生物信息学与算法

高通量测序数据处理学习记录(三):Pathway Analysi

2017-11-06  本文已影响1405人  面面的徐爷

Pathway Analysis讨论及基因富集分析软件(Gene Set Enrichment Analysis,GSEA)使用实战

在所有物是人非的景色里,我最中意你。


背景:聊一聊 Pathway Analysis

本文衔接高通量测序处理学习记录,通过Htseq得到read counts matrix之后,下游使用Deseq2处理得到差异基因。

太多文章介介绍Deseq2的使用了,此处予以推荐hoptop的基因表达分析,上手简单,深入浅出

当然所有数据处理的Destination都应该是为实验服务,所以这里主要还是想学习一下后期的一个pathway analysis
PLOS CB 2012年的一篇文章总结了十年来数据分析方法的进化历程,存有三个方法学上的改进,依次为Over-representation analysis, Functional Class Scoring, Pathway Topology, 每种方法都有着其与时代相适应的能力与特质同时又迭代进步,最早使用的Over-representation analysis到目前也还是会有使用

journal.pcbi.1002375.g001.png Analysis tools

根据上面的介绍,我选用GSEA来进行pathway analysis,因为三代分析还不成熟,一代分析又显得老套,中规中矩按照基本法做分析就好啦。

当然GO/KEGG pathway分析也是可以做一做的,我没有钦定谁来当特首分析工具
——Chevy

我们输入基础的数据不是差异基因而是表达数据,我们可以使用Deseq2里面的counts()函数对dds对象提取标准化之后的数据:

NormData <- counts(dds, normalized=TRUE)

经过简单的处理之后,就可以输入GSEA进行分析了。


GSEA入门

Gene Set Enrichment Analysis (基因集富集分析)用来评估一个预先定义的基因集的基因在与表型相关度排序的基因表中的分布趋势,从而判断其对表型的贡献。其输入数据包含两部分,一是已知功能的基因集 (可以是GO注释、MsigDB的注释或其它符合格式的基因集定义),一是表达矩阵,软件会对基因根据其于表型的关联度(可以理解为表达值的变化)从大到小排序,然后判断基因集内每条注释下的基因是否富集于表型相关度排序后基因表的上部或下部,从而判断此基因集内基因的协同变化对表型变化的影响。

Workflow

The gene sets are defined based on prior biological knowledge, e.g., published information about biochemical pathways or coexpression in previous experiments. The goal of GSEA is to determine whether members of a gene set S tend to occur toward the top (or bottom) of the list L, in which case the gene set is correlated with the phenotypic class distinction.

GSEA原理

给定一个排序的基因表L和一个预先定义的基因集S (比如编码某个代谢通路的产物的基因, 基因组上物理位置相近的基因,或同一GO注释下的基因),GSEA的目的是判断S里面的成员s在L里面是随机分布还是主要聚集在L的顶部或底部。这些基因排序的依据是其在不同表型状态下的表达差异,若研究的基因集S的成员显著聚集在L的顶部或底部,则说明此基因集成员对表型的差异有贡献,也是我们关注的基因集。


GSEA计算中几个关键概念:

  1. 计算富集得分 (ES, enrichment score). ES反应基因集成员s在排序列表L的两端富集的程度。计算方式是,从基因集L的第一个基因开始,计算一个累计统计值。当遇到一个落在s里面的基因,则增加统计值。遇到一个不在s里面的基因,则降低统计值。每一步统计值增加或减少的幅度与基因的表达变化程度(更严格的是与基因和表型的关联度)是相关的。富集得分ES最后定义为最大的峰值。正值ES表示基因集在列表的顶部富集,负值ES表示基因集在列表的底部富集。

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

  3. 多重假设检验矫正。首先对每个基因子集s计算得到的ES根据基因集的大小进行标准化得到Normalized Enrichment Score (NES)。随后针对NES计算假阳性率。(计算NES也有另外一种方法,是计算出的ES除以排列检验得到的所有ES的平均值)

  4. Leading-edge subset,对富集得分贡献最大的基因成员。

GSEA分析

理论上需要输入的数据自己准备好的gene sets,我这里不使用自己的geneset list,直接使用GSEA为使用者整理好的gene sets database,人生苦短,我选简单

简单示例:

这里输入文件需要两个,第一个是基因表达矩阵.gct文件,第二个为样品分组信息文件.cls

Deseq2出来的数据在R里面处理一下就是GCT文件,加上两行,插入一列,第一行第一列直接赋值为为“#1.2”(默认),第二行第一列就是nrow(your_data)-3,第二行第二列为ncol(your_data)-2,其余为NA,保存为.gct文件,sep= "\t",即可

GCT文件: Gene Cluster Text file format (*.gct)


参考.gct文件
示例.gct文件

这里只讨论简单的对照实验,不考虑时间点等多组对照实验(详情可参见官网示例文件,在此基础上简单变形,很简单)
依旧可以通过R创建一个data.frame,三行,每行信息如下所示,保存为.gct文件,sep= "\t"
或者使用文本处理软件编辑一下即可

参考.cls文件 示例.cls文件 browse 成功load 个人设置理解 running message

点击对应ERROR 或者 SUCCESS 可以获取相应的信息

Details

以上每一个可点击的项都是有用的信息,可以自行探索,主要解释一下下面的图:

常见结果图
  • 图最上面部分展示的是ES的值计算过程,从左至右每到一个基因,计算出一个ES值,连成线。最高峰为富集得分(ES)。在最左侧或最右侧有一个特别明显的峰的基因集通常是感兴趣的基因集。
    图中间部分每一条先代表基因集中的一个基因,及其在基因列表中的排序位置。
  • 最下面部分展示的是基因与表型关联的矩阵,红色为与第一个表型(MUT)正相关,在MUT中表达高,蓝色与第二个表型(WT)正相关,在WT中表达高。
  • Leading-edge subset 对富集得分贡献最大的基因成员。若富集得分为正值,则是峰左侧的基因;若富集得分为负值,则是峰右侧的基因。
  • FDR GSEA默认提供所有的分析结果,并且设定FDR<0.25为可信的富集,最可能获得有功能研究价值的结果。但如果样品数目少,而且选择了gene_set作为Permumation type则需要使用更为严格的标准,比如FDR<0.05。
    ——引自参考文献
个人参数

对应结果可以保存


结果
好啦,学习到此结束,大家十一月快乐

参考文献

Khatri, P., Sirota, M., & Butte, A. J. (2012). Ten years of pathway analysis: Current approaches and outstanding challenges. PLoS Computational Biology, 8(2).

Subramanian A, Tamayo P, Mootha V K, et al. Gene set enrichment analysis: a knowledge-based approach for interpreting genome-wide expression profiles[J]. Proceedings of the National Academy of Sciences, 2005, 102(43): 15545-15550.

GSEA富集分析


日常Bob镇楼
上一篇下一篇

猜你喜欢

热点阅读