查看原文
其他

不会写代码能做火山图吗?当然可以,而且很简单!

面盆儿猫猫 丁香学术 2023-05-18

作为一个只做湿实验的生物汪,拿到公司给的 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 火山图就做好了。大家可以自己再调整各种参数,直至满意。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存