随着测序技术的白菜价,现在几乎每个医学课题都会搞点转录组或蛋白组测序。拿到公司发来的数据包后,想要把成千上万个基因的表达差异直观地展示出来,发高分文章, 火山图(Volcano Plot) 是绝对不可或缺的门面图表。很多同学一看到别人文章里红蓝交织的绝美火山图,第一反应就是:“这是用 R 语言画的吧?我不会写代码怎么办?”别慌!虽然 R 语言是生信作图的主力,但如果你的需求只是找差异基因并进行可视化, 我们完全可以用最熟悉的 GraphPad Prism 来“曲线救国”! 今天,不敲一行代码,只需掌握一个 Excel 小技巧,带你轻松画出顶刊级别的火山图。01核心扫盲:看懂火山图的“横纵坐标”在动手作图前,我们必须搞懂火山图到底在展示什么数据:
X 轴:代表“变化的幅度”。 通常是 log2(FoldChange),即差异倍数的对数。
数值越大,代表基因上调越猛(偏右侧);数值越小,代表下调越猛(偏左侧)。
Y 轴:代表“统计学显著性”。 通常是 −log10(Pvalue)。
为什么要把 P 值取负对数?因为 P 值越小(越显著),取完负对数后数值反而 越大 。这样最显著的基因就会像火山喷发一样,高高地飘在图表的上方!💡 黄金阈值线: 我们通常将 P < 0.05 和 Fold Change > 2(或 < 0.5) 作为筛选标准。换算成坐标系里的数字,就是 Y 轴 > 1.3 ,以及 X 轴 > 1 或 < -1 。02避坑实操:Excel 里的“物理分身术”这是 Prism 画火山图最核心的秘密!由于早期的 Prism 没有直接根据条件改变散点颜色的功能,我们需要在 Excel 里提前把数据“分好类”。准备数据(公司通常会给你算好)确保你的 Excel 表格里有这两列关键数据: log2(FC) 和 -log10(P)。建立三个新的空白列在旁边新建三列,分别命名为: Up(上调) 、 Down(下调) 、 NS(无显著差异) 。利用 Excel 的 IF 函数(或筛选功能)对号入座我们要把 Y 轴原本一整列的数据,根据阈值拆分到这三个新列里,X 轴保持不动。
Up 列: 提取满足 X > 1 且 Y > 1.3 的数据,其余留空。
Down 列: 提取满足 X < -1 且 Y > 1.3 的数据,其余留空。
NS 列: 提取剩下的所有不满足条件的数据。
如果你不会写 IF 函数,直接用 Excel 的“数据筛选”功能,筛出上调基因,把 Y 轴数据复制到 Up 列;再筛出下调基因,把 Y 轴数据复制到 Down 列……没被筛中的就放进 NS 列!03Prism 一键出图与美化数据处理好后,剩下的就是 Prism 的拿手好戏了!录入数据打开 Prism,新建 📉XY 数据表。X 轴选Numbers,Y 轴选Enter and plot a single Y value for each point。将 Excel 里的数据原封不动地粘贴进来:A 列贴 X 轴数据,B、C、D 列分别贴刚才弄好的 Up、Down、NS 数据。生成散点图点击左侧Graphs,选择带有独立散点的XY scatter plot(不要选带连线的)。此时你会看到,图上自动生成了三种不同颜色的散点群体!注入灵魂(画出阈值参考线)火山图没有那三根虚线,就像吃饺子没蘸醋。双击任意坐标轴,打开Format Axes窗口。在右侧找到Additional ticks and grid lines(额外的刻度与网格线)。