GSVA-热图和显著性检验的箱型图

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】
Fig1-geneset

Fig1-geneset

Fig2-anno_col

Fig3-pheatmap

Fig4-boxplot

Fig4-boxplot
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容