热图 就是很热的图,会冒火的那种~~~
直接上代码
1library(pheatmap) 2library(RColorBrewer) 3library(ggsci) 4library(DESeq2) 5vsd.T <- vst(dds, blind = FALSE) 6#选取差异基因做热图 7resSig_P <- subset(res, abs(log2FoldChange)>1 & padj 0.01) 8>mat.1 <- assay(vsd.T.1[rownames(resSig_P), ]) 9>mat.1 <- mat.1 - rowMeans(mat.1)p>
10#选取区分明显的基因做热图
11topVarGenes <- head(order(rowVars(assay(vsd.T)), decreasing = TRUE),1000)12mat <- assay(vsd.T[ topVarGenes, ])13mat <- mat - rowMeans(mat)14#设置行列名15anno.1 <- as.data.frame(colData(vsd.T.1)[, c("condition")])16rownames(anno.1) <- colnames(mat.1)17colnames(anno.1) <- c("State")18anno.1_T=subset(anno.1,anno.1$State=="Tumor")19anno.1_N=subset(anno.1,anno.1$State=="Normal")20anno.1<-rbind(anno.1_T,anno.1_N)21mat.1=mat.1[,rownames(anno.1)]22mypal = pal_gsea("default", n = 10, alpha = 0.9)(10)23ann_colors <- list(State=c(Mesenchymal="#756EF8FF",Proneural="#FC7D7FFF"))24pheatmap(mat.1, annotation_col = anno.1,cluster_cols = F,cluster_rows = F,25 show_colnames=F,show_rownames = F, 26 annotation_colors = ann_colors,color = mypal) 27pheatmap(mat, annotation_col = anno.1,cluster_cols = F,cluster_rows = F,28 show_colnames=F,show_rownames = F, 29 annotation_colors = ann_colors,color = mypal) ~~30
代码解释
resSig_P 1 & padj < 0.01)这句中res为DESeq2输出的结果,来自于这个:res=result(dds),另外,倍数和padj参数自己看心情调整吧topVarGenes 这句中1000这个数字自己看心情调整吧mat 这句就是热图中数值标准化算法,当然还有别的,想DIY自己去google吧anno.1 这句中"condition"的condition就是DESeq2准备的coldata中那个列名,这个名字错了会错pheatmap(mat.1, annotation_col = anno.1,cluster_cols = F,cluster_rows = F,show_colnames=F,show_rownames = F, annotation_colors = ann_colors,color = mypal) 这句中所有的F都可以改成T,F就是关闭,T就是打开比如列聚类打开cluster_cols=T,行聚类打开cluster_rows =T显示列名show_colnames=T,显示行名show_rownames = Trownames(anno.1) colnames(anno.1) anno.1_T=subset(anno.1,anno.1$State=="Tumor")anno.1_N=subset(anno.1,anno.1$State=="Normal")anno.1mat.1=mat.1上面这些是对热图中列名的注释,其中anno.1_T=subset(anno.1,anno.1$State=="Tumor")anno.1_N=subset(anno.1,anno.1$State=="Normal")anno.1mat.1=mat.1是为了防止coldata中,各组乱排列造成的顺序混乱,重新整理一下mypal = pal_gsea("default", n = 10, alpha = 0.9)(10)ann_colors 这两句,是选配色的,根据自己喜好改吧,#756EF8FF是色彩编号配色,真的是水很深,自己看心情调整吧,如果感兴趣以后专门给大家讲一下。
关于赞赏
站长默认最低赞赏是19元,按照一杯咖啡或者奶茶定的价钱,所以希望大家也能按照这个赞赏,谢谢大家的支持!
One More Thing...... 1、站长以后在B站进行直播教学。欢迎关注+投币+转发彩蛋
站长收集了R语言学习卡片的PDF版本例如
R语言学习卡片
获得方式
1、分享此文到朋友圈24小时无删除或者分享此文到3个微信群(人数>300)
2、截图直接在微信公众号内回复即可。。