WGCNA分析中TOMplot热图颜色设置
2022-09-12 本文已影响0人
生信交流平台
前面给大家介绍了
☞【R语言】WGCNA分析blockwiseModules函数报错
我们会使用下面的代码来绘制TOM矩阵热图
library(gplots)
#获取表达矩阵列数,即基因数
nGenes = ncol(datExpr)
#获取矩阵行数,即样本数
nSamples = nrow(datExpr)
#计算相似性矩阵
dissTOM = 1-TOMsimilarityFromExpr(datExpr, power = softPower)
#指定用多少个基因作图,建议设置为400~800之间,数值越小运行越快。
#一般不使用所有基因画图,这样画出来的图有几十兆,很难打开。
nSelect = 400
#设置种子序列,保证结果具有可重复性
set.seed(10)
#从所以基因中抽取400个基因
select = sample(nGenes, size = nSelect)
#提取400个基因对应的TOM矩阵
selectTOM = dissTOM[select, select]
#根据抽取的TOM矩阵重新对基因聚类
selectTree = hclust(as.dist(selectTOM), method = "average")
#提取抽取的400个基因的模块颜色
selectColors = moduleColors[select]
#绘制热图
pdf(file="TOM_plot.pdf")
#对TOM矩阵进行指数转化,使中等强度的关系更容易在热图上展示出来
plotDiss = selectTOM^7
#将对角线数据设为NA
diag(plotDiss) = NA
TOMplot(plotDiss, selectTree, selectColors, main = "Network heatmap plot, selected genes")
dev.off()
得到的热图如下
这个就有点难看了,官网上给出来的例子是这样的。
这个其实就是一个配色问题。前面给大家介绍了如何使用R自带的heatmap函数+R自带的配色方案来绘制热图
也给大家介绍了如何使用R自带的heatmap函数+gplots的配色方案来绘制热图
也给大家介绍了如何使用R自带的heatmap函数+grDevice的配色方案来绘制热图
☞【R语言】热图绘制-heatmap+grDevice配色方案
还有heatmap+RColorBrewer这个R包里面的配色方案
☞R语言】热图绘制-heatmap+RColorBrewer配色方案
所以解决这里的热图问题我们只需要将配色方案简单的修改一下就可以了,加入下面一行代码,然后在绘图命令里面使用指定的配色方案。
myheatcol = colorpanel(250,'red',"orange",'lemonchiffon')
pdf(file="TOM_plot0.pdf")
plotDiss = selectTOM^7;
diag(plotDiss) = NA;
TOMplot(plotDiss, selectTree,col=myheatcol, selectColors, main = "Network heatmap plot, selected genes")
dev.off()
就可以得到跟官网上一样的配色了。