欢迎关注微信公众号《生信修炼手册》!
之前的文章中介绍了GSEA软件的使用和结果解读,但是有几点漏掉了,在本文中补充一下。
首先是Leading Edge
对应的3个统计量,示例如下
在富集结果的表格中,最后一列为LEADING EDGE
, 在这一栏中,包含以下3个统计量
- tags
- list
- signal
对于一个基因集而言,定义其中对Enrichment score贡献最大的基因为核心基因,也称之为leading edge subset
, 参考下图
对于Enrichment score为正数的基因集而言,其核心基因是峰值之前的基因,对于Enrichment score为负数的基因集而言,其核心基因是峰值之后的基因。
tags
表示核心基因占该基因集基因总数的比例,而list
表示核心基因占所有基因总数的比例,signal
利用这两个指标计算得到,公式如下
N
代表所有基因的数目,Nh
代表该基因集下的基因总数。对于一个基因集而言,当核心基因的数目和该基因集下的基因总数相同,signal
取值最大,当该基因集的基因数目和所有基因数目接近时,signal
的取值接近于0。
GSEA软件提供了Enrichment Map Visualization功能,自动调用cytoscape软件展示基因集富集结果,生成的图片示意如下
在该网络图中,两个基因集的基因存在overlap,则用线条连线,overlap基因的比例越越高,连线越宽。这张图和clusterProfiler
中的emapplot
函数残生的图片是一样的。
最后提下GSEA这个软件存在的问题,对于转录组数据分析而言,我们通常会采用DESeq2
等软件进行差异分析,在差异分析的结果中已经给出了计算好的foldchange值,转录组的差异分析是非常复杂的,涉及到非常多的算法,比如归一化方法的选择,差异检验的统计模型等等,采用大家官方认可的差异分析软件,其结果更加的可靠。
GSEA软件默认的输入是基因表达量矩阵和样本分组,然后内置的进行归一化,进行差异分析,计算singal2noise等统计量,其本质就是自己进行了差异分析,计算出类似foldchange的统计值,其归一化算法是否适用于我们输入的表达量矩阵,在计算基因的foldchange值时有没有考虑生物学重复本身的变化程度,这些都导致其计算出的foldchange值并不能满足我们的需求,更加有效的做法是我们采用
专用的差异分析软件计算出的foldchange值来进行富集分析。
GSEA的开发者也考虑到这个问题,所以提供了Run GSEAPreranked
工具,支持直接导入事先排序好的基因列表,对应文件的后缀为rnk
, 内容示意如下
第一列为基因ID,第二列为对应的foldchange值, #
开头的行为注释,会自动忽略。通过这个工具,我们可以用DESeq2
等差异分析专用工具算出来的foldchange值来进行富集分析。
这个工具相比默认的GSEA分析流程,有一个缺陷,它无法选择permutation test type
, 在默认的流程中,提供了phenotype
和gene set
两种参数供选择,默认值为phenotype
, 而 GSEAPreranked工具只支持gene set
。
phenotype
适用于生物学重复数目大于7个的情况,而gene set
试用于生物学重复小于7个的情况。为了保证结果的可靠性,官方推荐条件允许的情况下尽可能使用phenotype
, 因为这个参数用来评估基因集富集的pvalue值,可以有效控制结果的假阳性率。
GSEA的核心是Enrichment score的计算,除了GSEA软件外,还有很多的工具也都支持这个算法,如果想要利用DESeq2
等工具自定义计算处的基因排序列表进行富集分析,更推荐使用clusterProfiler
等第三方工具。
扫描关注微信号,更多精彩内容等着你!