生物信息学入门 heatmap.2函数绘制热图(heatmap) 数据结构 代码 结果解读
热图是展示基因表达差异非常直观的方法,很多R语言包都支持绘制热图。下面分享一个根据heatmap.2函数绘制热图的方法。依然是数据-代码-结果。本帖力求精简,使新手尽可能快的成功,更多定制化的细节请参阅其他帖子!
1.表达矩阵和分组矩阵
表达矩阵和分组矩阵和做差异表达的结构是一样的,差异表达的帖子详见:https://blog.****.net/tuanzide5233/article/details/83541443
这是表达矩阵,里面的基因可以用Excel结合差异表达的基因从原始的表达矩阵中筛选出来。
这是分组矩阵,注意要预留第一行作为列名
2. Heatmap2函数
首先是安装要用的包,一共有三个,WGCNA也要安装,因为有一个颜色转换的函数在里面
source("http://bioconductor.org/biocLite.R")
biocLite("Limma")
biocLite("gplots")
biocLite("WGCNA")
然后运行函数
library('gplots')
library('limma')
library('WGCNA')
setwd("C:/Users/lenovo/Desktop/DEG")
exprSet=read.csv("express-counts3.csv",header=TRUE,row.names=1,check.names = FALSE)
group <- read.csv("datTraits.csv",header=TRUE,row.names=1,check.names = FALSE)
group <- group[,1] #定义比较组,按照癌症和正常样品数目修改#
heatmapData <- exprSet#此处使用的是校正后基因的表达量#
hmExp=log10(heatmapData+0.001)
mergedColors = as.character(labels2colors(group,colorSeq=c("red","yellow")))
hmMat=as.matrix(t(hmExp))
pdf(file="heatmap.pdf",width=45,height=30)#注意输出的热图的储存路径#
par(oma=c(10,3,3,17))#此处设置页边距,第一个参数是下,依次逆时针
heatmap.2(hmMat,col='greenred',key=T,keysize = 0.7,
trace="none", cexCol=0.6, cexRow=2.5,dendrogram="col",Rowv=F,
RowSideColors = mergedColors,scale="col")
dev.off()
注意:express-counts3.csv是表达矩阵,datTraits.csv是分组信息。
3. 结果
再次强调一遍:本帖只适用于新手入门,更多的参数细节请参阅其他帖子!