• 我要登录|
  • 免费注册
    |
  • 我的丁香通
    • 企业机构:
    • 成为企业机构
    • 个人用户:
    • 个人中心
  • 移动端
    移动端
丁香通 logo丁香实验_LOGO
搜实验

    大家都在搜

      大家都在搜

        0 人通过求购买到了急需的产品
        免费发布求购
        发布求购
        点赞
        收藏
        wx-share
        分享

        如何用 R 语言绘制火山图?

        丁香园

        12641

        测序技术的火爆程度,大家有目共睹,做了测序就一定会涉及差异分析的表达,差异分析最常用的就是「火山图」和「热图」了。

        看看这两种图形在顶级期刊中的出场率!

        如何用 R 语言绘制火山图?

        图片来源:各期刊截图

        这两种图形最常用的是用 R 语言绘制,但很多人不知道 GraphPad prism 软件同样也可实现。

        今天,我们就两种图形的 R 语言和 GraphPad prism 画法进行教学!小伙伴们选择适合自己的就行。

        一、火山图

        火山图展示的是差异分子的显著性(P<0.05 或者 P<0.01,作图时进行 - log10 转化)和变化倍数(变化倍数 LOG2 处理)。

        火山图的优点是直观待筛的展示分子的整体差异变化结果。但是不能展示每个样本的表达变化。

        如果想展示感兴趣的差异表达显著的分子,火山图是一个很好的选择。

        1. R 语言画法

        测序报告中展示的火山图通常是基于 R 语言绘制的。

        R 安装下载网址(长按复制至地址栏):https://www.r-project.org/

        首先,准备数据。在此以一份 miRNA 芯片数据为例。

        数据链接(想练手的可下载):https://pan.baidu.com/s/ 1jL4W9Tu8 hFaBH2I6FgF_kw

        如何用 R 语言绘制火山图?

        图片来源:数据截图

        接着,教大家一种最简单的 R 代码,只需用 plot 函数就可实现。

        R 代码如下:

        如何用 R 语言绘制火山图?

        图片来源:自己做的

        (1)创建工作目录,读入数据,一般保存为 txt 文件读入;(代码 1、2)

        (2)将「P.Value」进行「-log10」处理,设置为 Y 轴。一般测序文件对变化倍数进行了「log2」处理。「log2FC」设为 x 轴。(代码 3、4)

        (3)画出散点图,添加 X,Y 轴名称,图形名称以及「点」的颜色。(代码 5、6)

        如何用 R 语言绘制火山图?

        图片来源:自己做的

        (4)分别设置 P 值和变化倍数的阈值,阈值的设置按照个人要求。(代码 7、8)

        (5)对于变化倍数大于 2 的上调基因标记为红色,下调基因标为蓝色。(代码 9、10)

        如何用 R 语言绘制火山图?

        图片来源:自己做的

        (6)添加阈值线。(代码 11、12、13)

        最终效果如下:

        如何用 R 语言绘制火山图?

        图片来源:自己做的

        最后,点击「export」,选择图片格式导出图片即可。

        如何用 R 语言绘制火山图?

        图片来源:软件截图

        2. GraphPad prism 绘制

        如有小伙伴觉得 R 代码麻烦,则可选用常见软件「GraphPad prism」制图。

        软件可在官网下载:https://www.graphpad.com/scientific-software/prism/

        首先, 在 excel 中进行 P 值的处理。

        数据格式如下,选中需处理的数据,插入公式「=-LOG10 (P value)」

        如何用 R 语言绘制火山图?

        图片来源:自己做的

        打开 GraphPad prism5 软件,选择「XY」-「散点图」。

        如何用 R 语言绘制火山图?

        图片来源:软件截图

        粘贴数据至软件,如下:

        如何用 R 语言绘制火山图?

        图片来源:软件截图

        如何用 R 语言绘制火山图?

        图片来源:自己做的

        接着,进行修饰

        双击 Y 轴,点击「frame and origin」-「set origin」-「lower left」,将坐标轴放置左边。

        如何用 R 语言绘制火山图?

        图片来源:软件截图

        添加阈值线

        「x = 2」和「x =- 2」,表示变化倍数大于 4。同时设置「Y = 1.30103」,这个值对应「-log10 0.05.」表示 P 值小于 0.05。

        在刚才出现的界面,点击「X axis」-「additional ticks and grid lines」。

        再点击「Y axis」-「additional ticks and grid lines」,输入数字,勾选「line」。

        如何用 R 语言绘制火山图?

        图片来源:软件截图

        如何用 R 语言绘制火山图?

        图片来源:软件截图

        点击红色区域,设置阈值线格式,包括颜色,粗细等。

        如何用 R 语言绘制火山图?

        图片来源:软件截图

        如下:

        如何用 R 语言绘制火山图?

        图片来源:自己做的

        右键单击任意的「点」,设置「点」的大小、颜色、尺寸等。这里把几个显著上调基因标为红色,下调的标为蓝色。

        如何用 R 语言绘制火山图?

        图片来源:软件截图

        如何用 R 语言绘制火山图?

        图片来源:软件截图

        还可添加感兴趣的基因名称到火山图,这样就更加直观了。

        右键单击某个点 -「format this point」-「show row names」。这样就显示名称了。双击文字,可以修改字体及大小。最后加上坐标轴名称,整个图就完成了。如下:

        如何用 R 语言绘制火山图?

        图片来源:软件截图

        如何用 R 语言绘制火山图?

        图片来源:自己做的

        最后,按照所需格式保存即可。

        二、热图

        热图,主要展示某个基因在各个样本中的表达情况。

        热图的优点是能够直观的看出基因在样品中的表达变化趋势,能很好的展示整体表达变化。热图也是测序数据必要的展示手段。

        1. R 语言绘制

        画热图需要的数据是基因的表达矩阵,这里自己整理了一个示例数据。行为「基因」,列为「样本」。

        数据连接(感兴趣者可下载练习):

        https://pan.baidu.com/s/ 1IBJxheWqz8EvfBMdzrliaw

        如何用 R 语言绘制火山图?

        图片来源:自己做的

        代码如下:

        如何用 R 语言绘制火山图?

        图片来源:自己做的

        (1)创建工作目录;(代码 1)

        (2)对样品进行分类;(代码 2)

        (3)读入表达文件;(代码 3)

        (4)明确分组信息,与表达矩阵结合,并查看;(代码 4、5)

        (5)载入画图的软件包 heatmap;(代码 6)

        (6)画图并制定图形信息。(代码 7)

        重要代码信息解释如下:

        如何用 R 语言绘制火山图?

        图片来源:自己做的

        最终效果图:

        如何用 R 语言绘制火山图?

        图片来源:自己做的

        最后,保存图片即可。

        2. GraphPad prism 绘制

        火山图低版本的 GraphPad prism 就可实现,热图是最新版本增加的功能。最新版本还有很多新的功能哦!大家快学习起来吧。

        打开软件,界面如下,点击「grouped」- 选择「enter or import data into a newtable」-「option」选择「enter and plot a single Y for each point」。

        如何用 R 语言绘制火山图?

        图片来源:软件截图

        将数据粘贴至软件中:

        如何用 R 语言绘制火山图?

        图片来源:软件截图

        进行相关系数分析

        点击「analysis」-「multiple variable analyses」-「correlation matrix」-「OK」。

        如何用 R 语言绘制火山图?

        图片来源:软件截图

        这里选择 person 相关系数,也可选择其他,按照自己需求,然后点击「OK」即可。

        如何用 R 语言绘制火山图?

        图片来源:软件截图

        样品间的相关系数矩阵如下:

        如何用 R 语言绘制火山图?

        图片来源:软件截图

        点击左侧「Graphs」下的「new graph」-「grouped」-「Heat map」。

        如何用 R 语言绘制火山图?

        图片来源:软件截图

        如何用 R 语言绘制火山图?

        图片来源:软件截图

        点击「OK」,即刻生成初步的图形。

        如何用 R 语言绘制火山图?

        图片来源:自己做的

        接着,进行图形调整

        双击图形,在出现的界面中设置热图颜色和行列名等。

        如何用 R 语言绘制火山图?

        图片来源:软件截图

        如何用 R 语言绘制火山图?

        图片来源:软件截图

        最后,保存并导出图片。

        此类热图也有一个小缺点,不能进行聚类,笔者也期望后续的软件更新会解决这个问题。

        以上就是用 R 语言和 GraphPad prism 软件绘制火山图和热图的方法。

        当然,除了这两种绘制方法。目前还有一大批在线的工具可供我们使用,在此,笔者提供两个网址,有兴趣的小伙伴可去尝试绘制一下:

        SOURCEFORGE

        网址:https://sourceforge.net/projects/mev-tm4 /

        OMICSHARE

        网址:https://www.omicshare.com/tools/

        ad image
        提问
        扫一扫
        丁香实验小程序二维码
        实验小助手
        丁香实验公众号二维码
        扫码领资料
        反馈
        TOP
        打开小程序