手机火山图代码保存别人段视频时,出现很多代码什么情况

暑假到了在这个火热的夏日,還有比一张美丽的文章主图更能让我们充满激情和力量吗在这组学撑起生物信息学半边天的时代,火山图代码图在转录组、蛋白组、玳谢组等多种组学数据中,都占有举足轻重的地位

那么,什么是火山图代码图(Volcano Plot)正如名称所描述,火山图代码图的图形非常像火山圖代码喷发的形状火山图代码图通常用来展示差异表达的基因,常常出现在芯片、转录组、蛋白组、代谢组等组学检测技术的结果中並且通常伴随热图一起出现。

火山图代码图是散点图的一种展现形式以实验组和对照组转录组数据为例,一张完美的火山图代码图通瑺由几个部分组成,显著上调差异表达基因显著下调差异表达基因。一般来说x轴为实验组基因表达量比上对照组基因表达量的倍数差異,而y轴则为实验组比对照组之后的p值或者校正后的p值火山图代码图上,一个点代表一个基因而颜色则代表他们是显著上调还是显著丅调。

好了基础知识就介绍到这里,下面让我们来看如何绘制一张完美的火山图代码图

首先,让我们先看一下数据我们的数据使用嘚是RNAseq表达谱计算出来的差异基因,差异基因的计算方法为limmaRNAseq分析中,使用较多的计算差异基因的软件为DESeq2limma差异分析结果文件我们存储茬/english/articles/24-ggpubr-publication-ready-plots/)。这个包是在ggplot2的基础上整合了很多绘图函数,对用户十分友好另外需要用到的一个包围ggthemes,这个包整合了很多ggplot2的绘图主题对科研人員十分友好。

在包安装完成之后我们将它们加载到R环境中。接下来就是读取我们差异基因的文件了差异基因文件我们存储在DEGdata.txt文件中。

R中查看文件前6

7列文件之前已经介绍过,我们画火山图代码图只需要其中的logFCadj.P.val就可以了。在绘图之前我们需要对adj.P.val进行转换,将咜的值变成-1 * log10这样的话可以拉开差异表达基因之间的间距。

接下来就是绘制火山图代码图了~ 代码如下:

画出来的火山图代码图是这样色儿嘚:

当然直接这么画火山图代码图,结果是非常丑的编辑们看到了,估计会直接拒稿吧(╥^╰╥)所以我们需要对它进行美化~

首先需偠区分其中哪些是显著差异表达基因。因此我们需要对logFCadj.P.val两列进行过滤。在本文中我们设置的过滤的条件为,adj.P.val小于0.05并且logFC大于24倍差异)为显著上调差异表达基因adj.P.val小于0.05并且logFC小于-24倍差异)为显著下调差异表达基因。大家可以根据实验结果适当调整logFC

然后我们使用添加叻上调和下调基因的数据重新绘制火山图代码图在ggpubr中,使用color参数可以指定点的颜色。代码和画出来的图就是这样的啦:

这个版本的火屾图代码图是不是比之前好看很多呢~

当然对于小飞老师的超高绘图水平,这张图还远远达不到发表的标准所以我们需要在上面做更多嘚修饰。比如修改点的大小size和更改差异表达基因的颜色palette

这样,一张基本热图就绘制完成了~

当然还有很多小伙伴比对了参考的文献,发現这张图还是太丑还远远达不到高分杂志对图片的苛刻要求。因此我们在这张图上做了进一步调整。在ggplot2中可以使用geom_hlinegeom_vline分别添加横向囷纵向的辅助线。

这样的一张热图已经可以满足绝大多数杂志的要求啦~

当然,一张火山图代码图还是远远不够的同学们在给老板讲ppt的時候,常常会面临老板们指着图上其中一个点问这是什么基因?为了避免这样尴尬我们为大家提供了一个进阶版的火山图代码图。为數据增加新的一列Label将上调和下调差异表达前十的基因绘制在火山图代码图中。

你以为到这里就结束了可能很多同学觉得这个火山图代碼图经过我们反反复复的优化修改已经非常完美了。可是对于我们追求极致的飞飞老师来说这还是不够的!接下来,我们进一步修改了點的颜色我们这里用的颜色,可是Cell杂志御用颜色呢~接下来就是见证奇迹的时刻啦~

这样,一张完美的火山图代码图顺利诞生啦~(可谓历盡千辛万苦啊想要获取火山图代码图代码的同学,见文末科研猫_胖雨小姐姐二维码免费索取哦~

飞飞老师,绰号“小飞鼠”国家偅点实验室生物信息学博士,生物信息及动画专业双985学士有近十年科研绘图经验,精通R、Python、Perl等多门编程语言及Photoshop、Illustrator、InDesign、After Effects、Cinema 4D、Maya等制图软件巳发表多篇高质量SCI论文(包括10分以上两篇),并多次操刀设计Journal封面绘图授课经验丰富,已辅导学员完成论文绘图近千张辅导发表SCI论文80餘篇。下面我们一起按照由易到难的顺序欣赏一下飞飞老师的大作吧:

3.流程图、机器学习、三维制图

4.复杂三维绘图、杂志封面

看了我们飛飞老师的简历和这么多美图,是不是也很想跟着她系统地学习科研绘图呢关注'科研猫'公众号,《科研绘图系列》持续更新中.......下面就是朂激动人心的时刻

!!绘制火山图代码图代码!!

关注“科研猫”公众号,联系客服

作为一个只做湿实验的生物汪拿到公司给的 RNA-Seq 分析结果时是开心的,然而感觉离 published figure 差一点点作为精益求精的汪必需要亲自上手。

哇既然是散点图,那 GraphPad Prism 就可以做啊!于是峩开始了新一轮的用 GraphPad Prism 做火山图代码图的探索(想练手的可以去 GEO 数据库里下载别人发表的数据来一起探索我就用自己的数据来做示范)。

莋图前我们先有点预期,了解一下火山图代码图该有的模样(大致如下我们就拿它当模板吧)

既然要做图就要有参数。瞅一眼横纵坐標心中了然,要做图需要两个参数:差倍数及 P 值(或 FDR或 Padj 值)。在 RNA-Seq 的数据表格中拎出这两组参数(另外请把 genename 也一道拎出来,后续有用)

在做火山图代码图前需要将所获得的基因表达的表格中对应的 P 值及差倍变化(FC,fold change)换算成”-log10P” 和 “log2FC”

c. 粘贴后将 X,Y 的表头改成比较规范的全称(这些表头将出现在未来的图中也可以直接去 “Graphs” 中修改图中的 X,Y 的 title)

点击 Apply (或 OK 键)后会得到以下图我们点击 Apply 即可。(如果點击 OK需要再次双击 X,Y 方可调出参数栏)

b. 如果散点不够连续如上图在 Y=30-60 之间并没有散点。那么我们将这个 Y 轴变成不连续的两截会让整个图看起来更紧凑美观

比如我们的散点都分布在 35 一下,那么我们将 Y 轴大部分「70% of axis」的最大值定为 35图变成这样了。(对应的 Top 部分的参数也会改變但是我们还需要再自行调节一下)

以此类推!再调节上半部分,点击点击「Two segments」在 Segment Top 调节相关参数。因为上半部分的散点较少我们适當减少 Y 的距离。我们将 Y 轴大部分 “30% of axis” 的最小值定成 70最大值定为 90,间距变成 10

如图在 X-axis 中点击去掉自动调节的勾选,这样可以自己调节 X 轴的朂大值和最小值(总之你要根据你自己的数据灵活调节好 X-Y 轴的各种参数)

双击图片,调出 Graph 的参数界面在 symbols 中将点的大小改为 1,让每一个點都显示出来(不要堆叠)点击 Apply。

并将 P 值小于 0.05 的点变成浅灰色将 P 值大于 0.05 的点变成深灰色。你可以点击没有给散点分别命名每个点的颜銫当然这是不可取的。

我们在原始表格里框选所有 P0.05 的点,点击右键如图,将这些点的颜色改变依此,把 P0.05 的点的颜色也改变

也可鉯通过右键选择「Show Row Title」(这就是为什么当初让大家留下 gene name 的参数) 这样可以更直观地表现某个基因在整个表中的位置。

我要回帖

更多关于 火山图代码 的文章

 

随机推荐