library(GSVA)
library(limma)
library(GSEABase)
geneset<-getGmt("hy_g.gmt")#可自定义,也可从数据库直接下载【Fig1】https://www.gsea-msigdb.org/gsea/msigdb/index.jsp
df<-read.table("df",header=T,row.names=1,sep="\t")#读入表达矩阵,可先进行简单筛选,例如去除表达质量差的基因
mt<-as.matrix(df)#要转为矩阵才能进行
gsvaOut<-gsva(mt,geneset)#开始计算,结果是每行一个通路,每列一个样本
#anno_col<-data.frame(sampleType=factor(c(rep("E",length(E)),rep("C",length(C)))))
#row.names(anno_col)<-colnames(df)#添加不同组别注释条
anno_col<-read.table("group",header=T,row.names=1,sep="\t")#可选,添加注释条,包含样本的组别,注意行名要和df的列名一致【Fig2】
#热图
library(pheatmap)
pheatmap(gsvaOut,annotation_col=anno_col,show_colnames=F)#【Fig3】
#箱型图
a<-gsvaOut
a$pathway<-row.names(a)
library(reshape2)
b<-melt(a,id.vars="pathway")#变为ggplot需要的长序列,按照pathway列进行转换
b$group<-anno_col[b[,2],]#添加组别
library(ggplot2)
library(ggsignif)
ggplot(b,aes(x=group,y=variable,fill=group))+geom_boxplot()+geom_point(position=position_jitterdodge())+geom_signif(comparisons=list(c("P","T")),test=wilcox.test,map_signif_level=TRUE)#comparisons参数可设置进行显著性检验的组,list格式;最后一个参数map_signif_level设为TRUE,直接以*显示,FALSE显示出具体的p值【Fig4】
GSVA-热图和显著性检验的箱型图
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 箱线图添加显著性差异标识 有时候我们会看到如上图片,觉得挺好,但是如何实现呢?没有做的的时候,觉得挺难,但是真要做...
- 相关系数(回归系数)检验 其实在(2)中已经提到了相关系数和回归系数,在计算过程中,直接返回了对应的p-value...