基因表达的差异性分析是生物信息学中的必经之路。那么,基因表达差异的可视化展示也就具有了很重要的地位。首先我们介绍下目前在基因表达差异性可视化中的集中展示形式:
- 热图。热图我们不再赘述,本公众号已做过详细的介绍《R语言之heatmap绘制》。
- 火山图。火山图以基因表达差异倍数为X轴,差异的P或FDR(即校正P值)值为Y轴(实际上是P或FDR的-log10值,这样都是正的,P或FDR越小,即统计显著性越强,-log10值就越大)。它可以帮我们更加方便的发现最显著、差异最大的基因。 在R语言中实现火山图方式很多,今天我们主要介绍ggplot2中怎么实现火山图的绘制,其实火山图和散点图类似。首先,我们的数据源布局如下:
其次,将数据导入R语言,并调用ggplot2进行图像的绘制,具体代码如下: a=read.csv("G:/test.csv")#读入数据 vp=ggplot(a,aes(dif,-1*log10(fdr)))#获取绘图的数据 vp geom_point()#绘制黑色的火山图
vp geom_point(aes(color =group))#自动配色绘制火山图
vp geom_point(aes(color=group)) scale_color_manual(values=c("down"="green","no"="black","up"="red"))#自定义配色绘制火山图
- MA-plot。它的X轴是基因在两组样本中的丰度(表达)平均值,Y轴是表达差异倍数。MA plot充分展示了基因丰度(表达)和表达变化之间的关系。在R语言中基于DEG-seq包进行MA-plot的分析,DEG-seq包包括了多个个方法来生成对应的MA-plot,如下图:
最终会生成一个包含五个图的网页,五个图分别是:
最后一个也就是MA-plot。 具体的代码如下:
library(qvalue)
library(samr)
library(impute)
library(matrixStats)
library(DEGseq)
geneExpFile<- system.file("extdata", "GeneExpExample5000.txt",package="DEGseq")
outputDir<-"G:/DEGexpExample"#文件输出路径
geneExpMatrix1 <-readGeneExp(file=geneExpFile, geneCol=1, valCol=c(7,9,12,15,18))
geneExpMatrix2 <- readGeneExp(file=geneExpFile,geneCol=1, valCol=c(8,10,11,13,16)) DEGexp(geneExpMatrix1=geneExpMatrix1,groupLabel1="kidney",
geneExpMatrix2=geneExpMatrix2, groupLabel2="liver",method="LRT", outputDir=outputDir)#此处用的method是LRT。
当然MA-plot的绘制不局限于本R包,affy包也可以进行MA-plot的绘制,在此我们就不赘述了。