文章发表于2013年,GSVA: gene set variation analysis for microarray and RNA-Seq data 同样是broad 研究生出品,其在2005年PNAS发表的gsea已经高达1.4万的引用了,不过这个GSVA才不到300。
GSVA
1.expr:表达矩阵,行对应基因,列对应样本;
2.gset.idx.list:用于GSVA分析的基因集,如MSigDb的gmt格式注释文件;
3.annotation:储存特定数据集的R包名称;
4.method:可选gsva, ssgsea , zscore, plage, 默认gsva;
5.kcdf:当method设置为gsva时,默认选项Gaussian (针对芯片表达矩阵,log CPMs, log RPKMs, log-TPM标准化后RNA-seq的表达矩阵), 可选Poisson (针对未标准化的RNA-seq的count表达矩阵) ;
6.abs.ranking:只在mx.diff=TRUE时使用 该参数,当abs.ranking= FALSE (默认)时,将使用修正的Kuiper统计量来计算富集得分,即极值的随机游走偏差。当 abs.ranking= TRUE时,将使用原始的Kuiper统计量,即使用极值的随机游走偏差和计算富集得分,该情况下,上调或下调的基因富集显著的基因集被认为是高度激活的;
7.min.sz和max.sz:结果基因集的最小和最大的基因数目,inf表示不设限制;
8.parallel.sz和parallel.type :线程数和集群架构的类型,保持默认即可。
9.mx.diff:mx.diff= FALSE时ES为0到最大值的距离,mx.diff= TRUE (默认值)时: ES为极值的随机游走偏差;
10.tau:method为gsva,默认tau=1,当method为ssgsea时,默认tau=0.25;
11.ssgsea:当method为ssgesa时,默认值TRUE,在进行ssgsea分析的最后一步进行标准化;
12.verbose:是否打印计算步骤信息,默认TRUE,打印信息。
8、全文总结
1、GSEA和GSVA都是基于
对基因的某一个值的排序来进行富集分析
2、GSEA主要是用
case和control之间的差异倍数或信噪比来进行排序
(一次处理两个样本)
3、GSVA则不需要做对比
而是对每个样本或单个细胞按基因的表达量进行单独排序
然后将富集分数的值做个标准化
再在不同的样本间对比
算法细节
算法本身就不是很好理解,并不强求一定要理解透彻,可以参考2005年的GSEA算法:
GSEA 算法 GSEA分析一文就够