看教程不够直观,那就看视频吧! >>点击加载视频
推荐使用生信人的heatmap工具,更简单:http://gap.shengxin.ren/tool/3/
在基因的表达模式分析中,我们往往需要对多个基因表达数据进行可视化处理,使得我们所关注的基因在不同样本中表达情况一目了然。在日常研究中,我们往往习惯于选择热图实现这一基因表达模式可视化的需求,进而直观的表述我们的基因表达模式的分析结果。
今天就介绍一下非常简易使用的一个绘图包pheatmap
写在前面,准备一个表达谱矩阵,横轴为100个基因,纵轴为208个样本,如下:
首先安装pheatmap
source("http://biocoundctor.org/biocLite.R")
biocLite("pheatmap")
然后加载
library(pheatmap)
最简单的调用如下:
pheatmap(profile)
长这个鬼样子简直没法看,从右侧可以看出数据跨度很大从0-200以上,图中大部分蓝色显示其实大部分值应该是在0-50这个区间,所以我们调整策略,取log(x+1)
pheatmap(log2(profile+1))
比之前好看了点,但是还是有好多黄色,但是很明显看得出来聚类效果比之前好多了,但是很明显最小值太小以至于几乎看不到蓝色,颜色区分不开,进一步的来调整一下区间
bk = unique(c(seq(-5,5, length=100)))
pheatmap(log2(profile+1),breaks = bk)
此时看起来还不错,但是这个颜色有点不舒服,换个颜色试试
bk = unique(c(seq(-5,5, length=100)))
pheatmap(log2(profile+1),breaks = bk
,color = colorRampPalette(c("navy", "white", "firebrick3"))(100))
bk = unique(c(seq(-5,5, length=100)))
pheatmap(log2(profile+1),breaks = bk,scale = 'column'
,color = colorRampPalette(c("navy", "white", "firebrick3"))(100))
bk = unique(c(seq(-5,5, length=100)))
pheatmap(log2(profile+1),breaks = bk,scale = 'column',show_rownames = F
,color = colorRampPalette(c("navy", "white", "firebrick3"))(100))
bk = unique(c(seq(-5,5, length=100)))
clust=pheatmap(log2(profile+1),breaks = bk,scale = 'column'
,show_rownames = F
,color = colorRampPalette(c("navy", "white", "firebrick3"))(100))
annotation_col = data.frame(
ClassGene = factor(paste0('Cluster',cutree(clust$tree_col,10)))
)
rownames(annotation_col) = colnames(profile)
pheatmap(log2(profile+1),breaks = bk,scale = 'column'
,show_rownames = F
,annotation_col = annotation_col
,color = colorRampPalette(c("navy", "white", "firebrick3"))(100))
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!