不会写代码能做火山图吗?当然可以,而且很简单!
作为一个只做湿实验的生物汪,拿到公司给的 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 火山图就做好了。大家可以自己再调整各种参数,直至满意。