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
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容