GSEA基因富集分析R语言版

Python014

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文件?

根据rawdata算出来FPKM,然后进行 单个基因与其他基因 之间相关性的计算

转置后文件内容为:纵坐标是样本名称,横坐标是不同基因的 Ensembl

这样就算好了基因间的相关性系数

接下来做GSEA分析

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

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

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

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

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

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

结果解读教程2

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

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

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

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