【R语言】heatmap显示样本类型

2022-09-21 17:41:39 浏览数 (1)

前面分了四期类型给大家讲了绘制热图时的配色方案

☞【R语言】热图绘制-heatmap函数 默认配色方案

☞【R语言】热图绘制-heatmap gplots配色方案

☞【R语言】热图绘制-heatmap grDevice配色方案

☞【R语言】热图绘制-heatmap RColorBrewer配色方案

今天我们接着讲绘制热图时候的一个小技巧,如何显示样本的类型。我们经常还在文章中看到类似下面这样的热图。会在列的上方用颜色标注样本的类型。这样可以一目了然的看出找到的差异表达基因能否很好的将不同类型的样本区分开。今天我们就来用R代码来实现。

首先我们还是先读取需要的数据,这里用到的数据跟【R语言】热图绘制-heatmap函数用到的数据是一样的

代码语言:javascript复制
#读取所有miRNA的表达矩阵
expr=read.table("miRNA_expr.txt",header=T,row.names=1,sep="t")
#读取差异表达分析结果
#差异表达分析可以参考https://ke.qq.com/course/package/37513
deg=read.table("MIR_DEG_fc_2.5_pval_0.01.txt",header=T,row.names = 1,sep="t")
#设置样本类型
type=factor(rep(c("CR","CC"),each=3))
#提取差异表达miRNA的名字
miRNA=rownames(deg)
#提取差异表达miRNA对应的表达矩阵
data=as.matrix(expr[miRNA,])

接下来我们来用heatmap绘图,并添加样本类型颜色

代码语言:javascript复制
#生成pdf文件,来保存热图
pdf(file="heatmap_with_typecolor.pdf",width=8)
#根据样本类型设置颜色
colSide <- c("red","blue")[type]
#绘制热图
heatmap(data,
        cexCol = 1,  #设置列标签字体大小
        cexRow = 1,  #设置行标签字体大小
        scale="row",  #按行做归一化
        ColSideColors=colSide, #设置样本类型颜色
        margins = c(7, 5)  #设置列标签和行标签边距大小
)
#设置图注
legend("topright",legend=levels(type),col=c("red","blue"),pch=15,bty="n",cex=0.7)
#关掉绘图装置
dev.off()

会得到刚才展示的那张热图。

本文中使用的表达矩阵来自GEO公共数据库

https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE82236

关于GEO数据库检索和差异表达分析可以参考

基于GEO公共数据库的数据挖掘

课程网址:

https://ke.qq.com/course/package/37513

参考资料:

☞【R语言】热图绘制-heatmap函数 默认配色方案

☞【R语言】热图绘制-heatmap gplots配色方案

☞【R语言】热图绘制-heatmap grDevice配色方案

☞【R语言】热图绘制-heatmap RColorBrewer配色方案

☞R语言中的颜色(一)-自带的调色板

☞R语言中的颜色(二)-gplots包

☞R语言中的颜色(三)-grDevice包

☞R语言中的颜色(四)-RColorBrewer包

☞ 超详细的热图绘制教程(5000余字),真正的保姆级教程

☞ R语言绘制基因表达热图(简易版)

☞ 一个R函数搞定风险评估散点图,热图

☞ R绘制甲基化和表达谱联合分析热图

0 人点赞