技术贴 | R语言:构建一个转录代谢互作调控网络:(二)热图的美化以及大样本分组信息的快速注释

本文由可爱的乔巴根据实践经验而整理,希望对大家有帮助。

原创微文,欢迎转发转载。

导读

上期介绍了利用WGCNA包中的Cor函数和corPvalueStudent函数计算两组小样本的相关性并进行热图可视化。这期主要针对热图的美化,热图美化主要做了热图上色的美化和行列样本信息的注释两部分,希望可以帮助到大家。

GeneCorMeta <- read.csv("GeneCorMeta.r.csv",header = T,row.names = 1) ##读取我们上期保存下的相关性结果。

library(pheatmap) ##载入pheatmap包

pheatmap(GeneCorMeta, show_rownames = F, show_colnames = F) ##使用pheatmap包进行热图绘制,因为样本量较大,展示的行名和列名无法观看,所以在这块使用show_rownames和show_colnames参数不展示行名和列名。

## 热图美化

## (1)颜色美化

一、使用colorRampPalette函数进行渐变配色。

pheatmap(metaCorGene, show_rownames=F, show_colnames=F, colorRampPalette(c('blue','white','red'))(100))  ##指定颜色从蓝色到白色到红色进行渐变。

pheatmap(metaCorGene, show_rownames=F, show_colnames=F, colorRampPalette(c('#008000','black','red'))(100)) ##颜色支持十六进制,可以去RGB去搜索自己想要得颜色,也可以通过颜色吸管去看别人热图得配色,然后应用到自己的热图上。(RGB颜色转换网址:https://www.sioe.cn/yingyong/yanse-rgb-16/)

二使用virids包进行热图美化。

library(viridis) ##载入viridis包,install.packages("viridis")进行virdis包安装。

?Viridis ##查看使用和配色。配色主要有5种。

pheatmap(metaCorGene,show_rownames = F,show_colnames = F,color = viridis(7)) ##这里的7指调色板的颜色数,图例可以看到有7个渐变等级。颜色数越多,数据的差异分组更明显。

pheatmap(metaCorGene,show_rownames = F,show_colnames = F,color = plasma(10)) ##这里的颜色数选择了10个,使用plasma配色,图例可以看到分为10个渐变色。

pheatmap(metaCorGene,show_rownames = F,cutree_rows = 6,cutree_cols = 14,show_colnames = F,color = plasma(10)) ## 使用cutree_rows和cutree_cols可对行和列按聚类进行分割。

对数据进行信息注释

首先开始添加行注释信息,整理我们的注释分组信息。

rowgroup <- read.table("Gene_group.txt",header = T,row.names = 1) ##这是我们相关性热图的行信息,可以自己分配,我这注释2个信息,第一列为基因ID信息,第二列为我们第一组注释,第三列为我们定义的一组注释信息。

rownames(rowgroup) = rownames(metaCorGene) ##将热图矩阵的行名信息与注释分组信息进行匹配。

pheatmap(metaCorGene,show_rownames = F,annotation_row = rowgroup,cutree_rows = 6,cutree_cols = 14,show_colnames = F,color = plasma(10)) ##使用annotation_row函数添加行注释信息。

colgroup <- read.table("Meta_group.txt",header = T,row.names = 1) ##读取列注释信息

rownames(colgroup) = colnames(metaCorGene) ##将热图矩阵的列名信息与注释分组信息进行匹配。

pheatmap(metaCorGene,show_rownames = F,annotation_row = rowgroup,annotation_col = colgroup,cutree_rows = 6,cutree_cols = 14,show_colnames = F,color = plasma(10))  ##使用annotation_col函数添加列注释信息。

这样下来,一张完美并展示有效信息的热图就做好了。其实热图美化还有很多比较好的函数可以使用,比如annotation_colors对图注进行配色,border_color添加热图框的颜色等,大家有兴趣的可以去研究。

感谢阅读!

(0)

相关推荐