知识的价值不在于占有,而在于使用。

生信自学网-速科生物-生物信息学数据库挖掘视频教程

当前位置: 主页 > 生信数据库 >

TCGA差异基因做火山图

时间:2017-08-12 07:13来源:原创 作者:森莘 点击:
TCGA数据库数据下载得到表达矩阵,用表达矩阵做差异分析,可以得到差异基因,以及差异基因相关的logFC和矫正后的P值,利用这两列数据可以画一个火山图,直观表示差异基因的上调下
火山图是一类用来展示组间差异数据的图像,因为在生物体发生变化时从全局角度而言大部分的基因表达没有或着发生了很小程度的变化,只有少部分基因的表达发生了显著的变化,我们根据计算结果在图上按照pvalue和我们自定义的fold change值来将这部分显著变化的基因用不同颜色标示出来以区分,这类图像往往呈现类似火山爆发的样子,于是就被叫做“火山图”(volcano plot)了。
火山图

而在本质上,火山图只是一类特别一点儿的散点图罢了,只不过需要在散点图上划分出几个区域来并对每个区域内的点涂上不同的颜色而已。
什么是ggplot2
ggplot2是R语言的一个包,也是一个绘图系统,它吸收了R语言基础绘图及lattice绘图的优点,并应用图像图形学的理论来进行图像的绘制。
画图准备工作
预先安装了ggplot2包,安装命令:install.packages(“ggplot2”)。
加载包以供使用,命令是library(ggplot2)。注意R包不是安装了就万事大吉了,每次启动R后要使用某个包前必须要加载它才可以用。
准备一份demo数据用以画图,数据内要包含每一个变量的两类参数:p value和fold change;
这里预先准备了一份demo数据,感兴趣的可以发送标题内含有“火山图”三个字的任意邮件到rwzx_zyq@qq.com,会收到自动回复送来的本文相关所有内容。
绘图流程
简单地解释这个过程就是画了一个散点图,再将图分隔为几个区域,每个区域点涂上了不同颜色,最后给图添加文字说明等。
直接贴上代码
setwd("D:\\FreeVideo\\99vol_plot")
library(ggplot2)
biowolf<-read.table(file="tcga_volcano_plot.txt",header=TRUE,row.names = 1)
volcano<-ggplot(biowolf,aes(x=logFC,y=-log10(FDR)))
volcano+geom_point(aes(color=significant))
+scale_color_manual(values=c("blue","grey","red"))
+labs(title="Volcanoplot",x="logFC",y="-log10(FDR)")
+geom_hline(yintercept=2,linetype=3)
+geom_vline(xintercept=c(-2,2),linetype=3)

需要TCGA差异基因的tcga_volcano_plot.txt输入文件,可以直接关注微信公众号回复TCGA火山图,或者添加QQ2749657388咨询老师。
直接上图
TCGA火山图
代码详解
第一部分:volcano对象,这是用于做图的数据对象,
第二部分:geom_point()
第三部分:scale_color_manual()
第四部分:labs()
第五部分:geom_hline()和geom_vline()
第六部分:theme()
第一部分是volcano对象这个不用多说,是前一个命令生成的,用于告诉ggplot2用什么东西来做图,两个坐标轴分别如何定义。
第二部分:geom_point(aes(color=significant))。这部分用到了一个geom_point()的命令,这个就是ggplot2用于绘制散点图的命令了,括号内的内容是指定做图系统对不同的变量使用不同的颜色,这里用到的变量分类依据是来自原始数据内的significant列,这一列包括三个内容:up、down和no。分别表示显著上调、下调和不显著表达的基因等。
第三部分:scale_color_manual(values =c(“blue”,”grey”, “red”)),前面一部分声明了要把图上所有点按照significant列的内容不同分为三类,此处scale_color_manual()的作用是给这三类点指定不同的颜色。
第四部分:labs(title="Volcanoplot",x="logFC",y="-log10(FDR)")。这一部分就比较简单了,分别为图取一个标题以及图上x轴、y轴取一个名称。
第五部分:geom_hline(yintercept=2,linetype=3)+geom_vline(xintercept=c(-2,2),linetype=3),它的作用是在图上绘制出几条虚线来将图上坐标点分隔为几个区域。
加生信自学网群
责任编辑:伏泽
作者申明:本文版权属于生信自学网(微信号:18520221056)未经授权,一律禁止转载!
BioWolf二维码生成器
------分隔线----------------------------
GEO芯片数据库挖掘生信视频教程
推荐内容
TCGA数据库挖掘文章套路生信视频教程
中药复方网络药理学文章套路生信视频教程