GSEA在很多文献中都有使用到,可以使用R分析,也可以使用GSEA软件进行分析,个人觉得用软件分析出来的图好看些,这里记录一下我用GSEA软件分析的一个实战笔记,主要使用的数据是TCGA数据。
一、下载
软件下载
GSEA官网:http://www.gsea-msigdb.org/gsea/index.jsp
首先需要用邮箱注册,登入后进入下载页面
Molecular Signatures Database
这里下载KEGG数据(其它数据也可以用来分析,这里以KEGG为例),点击箭头所指的地方进入下载页面;
由于我的表达矩阵已经将基因转换成Gene Symbols了,所以下载这个文件。
二、数据准备
- 表达矩阵
- 分组信息
- 前面下载的.gmt文件(KEGG)
1.表达矩阵(.txt格式)
前面已经处理好了TCGA的数据,得到了mRNA的表达矩阵和分组信息
注意需要将excel表格另存为.txt格式,这样软件才能识别。行名为基因名,列名为样本名。
2.分组信息
分别拿到要比较的两组的样本名,这里比较tumor和normal;
tumor = mRNA_exp[,group_list_rna == "tumor"]
tumor = as.data.frame(colnames(tumor))
write.table(tumor, file="./data/tumor_sample.xls", sep="\t", row.names=T)
normal = mRNA_exp[,group_list_rna == "normal"]
normal = as.data.frame(colnames(normal))
write.table(normal, file="./data/normal_sample.xls", sep="\t", row.names=T)
还有一种分组是按某个基因的表达量高低分为两组
gene <- "CDK1"
mRNA_exp = t(mRNA_exp[gene,])
mRNA_exp = as.data.frame(mRNA_exp)
mRNA_exp$group <- ifelse(mRNA_exp$CDK1 > median(mRNA_exp$CDK1),'High','Low')
High = mRNA_exp[mRNA_exp$group == "High",]
write.table(High, file="./data/CDK1_high.xls", sep="\t", row.names=T)
Low = mRNA_exp[mRNA_exp$group == "Low",]
write.table(Low, file="./data/CDK1_low.xls", sep="\t", row.names=T)
三、运行软件
这里分析基因的表达量高低分组的结果
软件安装好双击打开
完成图中1,2两个设置就可以出结果了;
第一步,Load data
导入前面准备好的.gmt文件和表达矩阵,并出现导入成功的提示框。
第二步,Run GSEA
Expression dataset选择导入进去的表达矩阵
Gene sets database选本地下载好的c2.cp.kegg.v7.5.1.symbols.gmt
Number of permutations选默认的1000
Phenotype labels点击Create an on-the-fly phenotype
将我们处理好的基因的表达量高低两组的样本名粘贴到1和2方框内,并在下面给它们命名CDK1_high和CDK1_low,点击Apply to dataset。
弹出成功对话框后出现如下页面,点击OK
Collapse/Remap to gene symbols选择no_Collapse
Permutation type
样本较多(大于7个)选phenotype
Chip platform不需要选,因为我们已经转换了基因ID
最后点击Run
运行完成后会出现Success,点击Success进入结果查看页面
四、结果解读
一般FDR < 25%,pvalue < 5%,NES > 1是比较好的结果,点击Snapshot
我们知道CDK1是跟细胞周期相关的,点cell cycle看一下
这里FDR < 25%,pvalue < 5%,NES > 1,说明CDK1高表达上调了cell cycle通路。