龙空技术网

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

喜庆的冰淇淋S 77

前言:

现时朋友们对“r语言文化基因优化算法”大体比较珍视,大家都需要了解一些“r语言文化基因优化算法”的相关知识。那么小编也在网摘上网罗了一些有关“r语言文化基因优化算法””的相关内容,希望大家能喜欢,你们一起来了解一下吧!

本文源自:微信公众号爱编程的药学生

原创:恺忻

R中有很多绘制基因表达热图的包,下面介绍其中一种较为简单的绘制方法(使用pheatmap包)。所绘制的基因可以是筛选出来的差异表达基因,也可以是自己感兴趣的基因。本推送中所使用的输入数据input.txt如下所示:

每一行为一个基因,每一列为一个样本,WT为对照组,HOM为实验组。这里值得注意的是,这组数据为RNA-seq的数据(fpkm标准化后),通常而言,这种数值几千或几百的数据都是没有取log,如果数值是在10左右的,一般是取了log之后的。我们从GEO datasets中下载的matrix数据需要在网站上阅读一下他的数据处理过程。通常在筛选差异基因或绘制热图之前,我们可以先取log,来缩小数值的变化范围。下面是绘图的代码:

library(pheatmap)#载入所需包,没有安装的需要先安装 setwd("D:\\kwkx")         #设置工作目录                           data=read.table("input.txt",sep="\t",header=T,check.names=F)#读取输入文件rownames(data)=data[,1]data=data[,-1]exp=log2(data+0.01)##以2为底取logpdf(file="heatmap1.pdf",height=8,width=5)##根据所绘制热图的大小,调整长和宽pheatmap(exp,          color = colorRampPalette(c("green", "black", "red"))(50),         cluster_cols =F,####如果需要对行也不进行聚类,可添加cluster_rows =F         show_colnames = T,##也可不显示列名         show_rownames = T,##也可不显示行名         fontsize = 12,         fontsize_row=5)dev.off()

上述代码所绘制结果如下:

现在的热图中样本数比较少,所以可以将8个样本的名称全部标出,但如果有几十或几百个样本时,这样标出这些样本就会导致画面非常不清晰。如果我们希望将样本的表型在热图中进一步进行显示,则可以使用下述代码对每个样本用不同颜色的标签表示:

library(pheatmap)setwd("D:\\kwkx")           #设置工作目录                        data=read.table("input.txt",sep="\t",header=T,check.names=F)#读取输入文件rownames(data)=data[,1]data=data[,-1]exp=log2(data+0.01)label=c(rep("WT",4),rep("HOM",4))###根据实际情况设定标签names(label)=colnames(exp)label=as.data.frame(label)pdf(file="heatmap2.pdf",height=8,width=5)pheatmap(exp,          annotation=label, ###对样本在上方加标签         color = colorRampPalette(c("green", "black", "red"))(50),         cluster_cols =F,         show_colnames = T,         show_rownames = T,         fontsize = 12,         fontsize_row=5)dev.off()

所绘制结果如下图所示:

上述便是基因表达热图的简单绘制方法。

标签: #r语言文化基因优化算法