GSEA基因富集分析R语言版

Python018

GSEA基因富集分析R语言版,第1张

官方github地址

1.安装

library("devtools")

install_github("GSEA-MSigDB/GSEA_R")

2.查看说明文档

??GSEA::GSEA

3.举例

两个主要的输入文件格式:input.ds and input.cls

RNAseq数据 input.ds

GSEA(input.ds = system.file('extdata', 'Leukemia_hgu95av2.gct', package = 'GSEA', mustWork = TRUE),

input.cls = system.file('extdata', 'Leukemia.cls', package = 'GSEA', mustWork = TRUE),   #输入文件

input.chip = system.file('extdata', 'Human_AFFY_HG_U95_MSigDB_7_0_final.chip',package = 'GSEA',mustWork = TRUE),                               #RNAseq无需此参数

gs.db = system.file('extdata', 'h.all.v7.0.symbols.gmt', package = 'GSEA', mustWork = TRUE),

output.directory =  getwd(),    #输出文件夹

doc.string='gsea_result',        # 输出前缀

collapse.dataset = TRUE,      # 与input.chip联用

collapse.mode = 'max',          # 与input.chip联用

reshuffling.type = "sample.labels",    # 生物学重复<7, gene.labels?

nom.p.val.threshold=-1,

fdr.q.val.threshold=0.05,

use.fast.enrichment.routine=T,   #use EnrichmentScore2 to compute random perm. enrich.

#gs.size.threshold.min=15,

#gs.size.threshold.max=500)

4.部分结果

补充:

1.如何读取gmt文件进行操作?

2. 如果要有选择性的进行GSEA分析,如何制作特定的gmt文件?

关于GSEA富集分析,其实很早就接触过了,但一直没有深究下去。这里白介素同学抽空进行了测试。

关于原理的理解,我考虑自身情况只在用,就不去深究数学公式如何,只需要大概知道其原理,与 常用的DAVID做分析 有何区别即可。

常规的富集分析多是在差异分析之后得到差异基因集,然后进入富集分析,但值得注意的是,差异基因的获取必须是认为的设定了阈值的,我们通俗的讲, 假设一个基因的差异倍数是1.2, 你觉得是不是差异基因? 如果设置阈值为2,它就不是,你设置阈值为1.1它就是了,因此就存在人为的主观影响。 从生物学的角度来讲,1.2倍的差异也可能是差异,因为有时某些基因表达的微量变化也能引发重要的生物学功能变化

关于软件的点击操作其实都不会难,难点在于要理解清楚,输入的数据格式,需要哪些数据,格式是什么?

关于操作,其实网络上已有很多教程,这里可以留下链接,就不去重复闭门造车了。

输入文件准备教程及结果解读

结果解读教程2

白介素同学当然是完整测试过一遍了,给大家看看结果,就是一个文件夹里面包含所有结果。大概过了几分钟就跑完了,关键还是格式准备。

关键图形结果展示,简单解释一下,黑色线是基因,峰表示富集分数。正的为高表达,负的为低表达。

仍然发现有一个问题,就是图片太丑了,恐怕放到文章里不是很合适。

这样,还得想办法用R语言解决一下,下次看如果解决了分享出来。

R语言数据类型 :向量(vector);列表(list);矩阵(matrix);数组(array);因子(factor);数据框(data.frame)

详细介绍可参考 R 数据类型 | 菜鸟教程 (runoob.com)

R语言数据的导入

read.table(),从带分隔符"\t"的文本文件中读入,返回的是数据框。

col.names 指定列名的向量,c() 是一个创造向量的函数。

在shell下写R语言脚本 vim DESeq2.R ;运行脚本 Rscript DESeq2.R。

或者进入R,分别执行每行的命令

导出SY14_VSBY4742.csv所有基因的表格,可用于GSEA差异分析

导出SY14_up.csv,可用于GO、KEGG通路分析。

DESeq2提供两种数据标准化方法:VST (variance stabilizing transformations)和rlog (regularized logarithm)。

两种方法都使用了log2缩放,并且已经进行了library size 或其他normalization factors的校正,可能使用VST标准化后数据的标准差比较稳定。

从PC1主成分上看,样本聚类挺好的。