在分析芯片或测序数据得到差异表达基因之后,应该用什么方式把它们展示出来呢?很自然我们会想到绘制火山图(Volcano plot)。
这张图包含了两个很重要的指标:Fold change和adjust P value,从中我们可以清晰明了地看出不同基因在两组间(肿瘤 vs. 正常)表达变化的分布情况。
其实绘制火山图的过程本质上就是绘制散点图,然后再根据需要调整样式和标注就行了。
GraphPad Prism、R、Origin等高大上的软件都能绘制出火山图,却不曾想到Excel也能绘制出比较漂亮的火山图,快来看看吧!
本次绘图所使用数据来源于GEO数据库GSE118370数据集的差异分析结果(可通过GEO2R在线分析工具或其他方法获得),我们仅需要Gene symbol、logFC和adj.P.Val(adjust P value,当然也可以选择用P.Value)这三列,如下图所示:
首先我们筛选出绘图所需的三列数据,并新建一列,命名为-log10(adj.P.Val),即对adj.P.Val列取-log10对数。
然后使用筛选功能筛选出上下调变化具有显著性意义的基因,筛选标准可以根据实际而定,此处规定:
(1)显著性上调基因:logFC > 1且adj.P.Val < 0.05;
(2)显著性下调基因:logFC < -1且adj.P.Val < 0.05;
(3)上下调变化不显著的基因:除上下调基因之外的所有基因。
将上述筛选到的基因分三部分复制到一个新的表格中,每部分按logFC绝对值从大到小排序,如下图所示:
接下来,我们就可以开始绘图了,首先选中上调基因的logFC和-log10(adj.P.Val)列,选择插入散点图即可;
接下来我们把另外两部分基因也加到散点图里面,单击其中任一散点,右键选择“添加数据”,在弹出菜单中点击“添加”。
先添加下调基因,系列名称命名为“Down”,在“X轴系列值”选中下调基因的logFC列、在“Y轴系列值”选中下调基因的-log10(adj.P.Val)列(注意:仅选中数据,不要把列名选中,所以是从第2行开始),点击确定。
再使用同样的方法添加表达不显著的基因即可(注意要将第一个系列名称改为Up)。
火山图重要的部分绘制好了,但很明显,这样的图不是我们想要的,所以需要对其进行进一步修饰:
(1)添加横纵坐标轴及标题信息;
(2)修改图表样式;
(3)添加图例;
(4)给部分散点添加标签(上下调基因各取前5个)。
对于上述这些项目的修改,我们可以直接点击图表右侧的“加号”,根据需要选择要添加的内容,然后在右侧的格式面板中对每一个元素进行精细调整。
后一张完整的火山图如下所示:
火山图的本质就是一张散点图,我们只要理清了绘图逻辑,无论用什么软件,都可以绘制出漂亮的火山图!