丁香实验_LOGO
登录
提问
提问
我要登录
|免费注册
丁香通
点赞
收藏
wx-share
分享

不用学 R 语言,十分钟也能绘制出漂亮的火山图!

3781

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

求教了一下会生信的同学,他说:「R 就可以作图。」

「我不会,我也不想学啊!」

他又说:「Excel 就可以作图,散点图即可。」

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

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

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

1. 作图前的数据预处理

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

然后将基因名(symbol 或 GeneName)、 log2FC、-log10P 这三列参数单独拷贝到一个新的 excel 表格中备用 (如下图)。

2. Prism5 处理数据

a. 打开 Prism,新建一个 XY 模式的文件(如下图),选择「Y: Enter and plot a single Y value for each point」并点击最下角的「Create」。

b. 将数据粘贴到表格中(如下图)。

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

并将 log 的底改成脚标

在 Text 里可以修改文字格式,角标 / 脚标 / 斜体等等,然后输入后得到下图。

d. 数据输入完成后 Prism 会自动生成一个 Graph

看起来有点火山图的样子了,但是参照一下模板,还差一点点。

3. 细节处理 ——X,Y 轴调整

双击图片的 X 轴或 Y 轴,调出 XY 轴的参数。

a. 在「Frame and Origin」-「Frame and Grid Line」-「Frame style」的下拉框中选择「Plain Frame」即可将 X-Y 轴去掉,变成「边框」。

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

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

在 Left Y axis 中将 Y 轴变成两部分:点击「Two segments」,在 Segment Bottom 调节相关参数。

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

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

c. 调节 X 轴,让图看起来更对称。

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

4. 细节处理 —— 散点处理

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

5. 特殊的点的标记

a. 画一条 P = 0.05 的分界线(在 Details 中调节这条线的各种参数,如颜色粗细类型)

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

我们在原始表格里。框选所有 P<0.05 p="">0.05 的点的颜色也改变。

如图,红线 P = 0.05 以下和以上的散点就用颜色区分开了。

6. 特殊点的颜色修改

在某个点上点击鼠标右键,(如图)给想要标记的 symbol 标记不同的颜色。

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

这样我们的 RNA-Seq 火山图就做好了。大家可以自己再调整各种参数,直至满意。

图片来源:作者提供

<link />
提问
扫一扫
丁香实验小程序二维码
实验小助手
丁香实验公众号二维码
关注公众号
反馈
TOP
打开小程序