做生信分析,火山图和热图是必备的,那么如何使用R语言绘制火山图和热图,下面小编给你讲述。

  1下载edgeR安装包

  登录网站:http://www.bioconductor.org/packages/release/bioc/html/edgeR.html

R语言:生信分析如何绘制火山图和热图

  将红色框内的信息复制到Rstutio中,结果如下图

R语言:生信分析如何绘制火山图和热图

  我们还需要安装一个gplot包,这个安装包能通过R语言直接下载,执行操作

  install.packages("gplots")

  安装此包的时候同时也自动安装了其他的很多包,这些包是运行gplots必须的

R语言:生信分析如何绘制火山图和热图

  2绘制火山图和热图

  我们依照下面的文件进行,解释一下表头,Gene是各个基因的名字,FC(Fold Change)是两个/组样品间基因表达水平的比值,是表示差异倍数的变量。

  LogFC表是差异倍数的log值,LogCPM即log2-counts-per-million,第二列为差异表达分析算法得到的p值,FDR(False Discovery Rate)采用统计学方法对原有假设检验得到的p值进行校正,并终采用校正后的p值,即为FDR。

R语言:生信分析如何绘制火山图和热图

  绘制火山图

  执行以下代码:

  > setwd("C:\\Users\\dell\\Desktop\\生信学习\\ee") #打开工作目录,注意是“\\”

  > library("edgeR")

  > library("gplots")

  > rt=read.table("mRNA.ID.txt",sep="\t",header=T,check.names=F) #改成自己的文件名

  > #volcano

  > pdf(file="vol.pdf")#生成的火山图的名字

  > xMax=max(-log10(allDiff$FDR))+1

  > yMax=12

  > plot(-log10(allDiff$FDR), allDiff$logFC, xlab="-log10(FDR)",ylab="logFC",

  + main="Volcano", xlim=c(0,xMax),ylim=c(-yMax,yMax),yaxs="i",pch=20, cex=0.4)

  > diffSub=allDiff[allDiff$FDRfoldChange,]

  > points(-log10(diffSub$FDR), diffSub$logFC, pch=20, col="red",cex=0.4)

  > diffSub=allDiff[allDiff$FDR

  > points(-log10(diffSub$FDR), diffSub$logFC, pch=20, col="green",cex=0.4)

  > abline(h=0,lty=2,lwd=3)

  > dev.off()#这些是对坐标轴,线条等颜色的定义。

  结果如下,生成一个文件

R语言:生信分析如何绘制火山图和热图

  打开后是这样的

R语言:生信分析如何绘制火山图和热图

  这个图这也解读:

  一个点表示一个基因,纵坐标表示某一个基因在两样品中表达水平差异倍数的对数值;横坐标表示FDR的负对数值。纵坐标绝对值越大,说明基因在两样品间的表达水平倍数差异越大;横坐标值越大,表明差异越显著,筛选得到的差异表达基因越可靠。

  图中绿色的点代表表达下调基因;红色的点代表表达上调基因;黑色代表非差异表达基因。

  下面我们介绍热图如何处理

  执行以下代码:

  > setwd("C:\\Users\\dell\\Desktop\\生信学习\\ee") #打开工作目录,注意是“\\”

  > library("edgeR")

  > library("gplots")

  > rt=read.table("mRNA.ID.txt",sep="\t",header=T,check.names=F) #改成自己的文件名

  > #heatmap

  > hmExp=log10(heatmapData+0.001)

  > library('gplots')

  > hmMat=as.matrix(hmExp)

  > pdf(file="heatmap.pdf",width=60,height=90)

  > par(oma=c(10,3,3,7))

  > heatmap.2(hmMat,col='greenred',trace="none")

  > dev.off()#这些是对坐标轴,线条等颜色的定义,不需要修改。

  结果是这样的

R语言:生信分析如何绘制火山图和热图

  打开后是这样的

R语言:生信分析如何绘制火山图和热图