再肝一个R包!一行代码绘制精美火山图!

封面

一行代码绘制火山图的R包诞生了!在过去的一年中,师兄先后生信绘图系列和高分SCI复现系列中更新了多种不同的火山图的绘制方法,包括普通的火山图、渐变火山图、以及包含GO通路信息的火山图!但是很多小伙伴反应,代码太难,看不懂,套在自己的数据上总是出错!于是这么为粉丝着想的师兄,又肝了一个晚上,将之前的代码整理封装成了现在的R包 – ggVolcano.

有了它,大家只需要安装载入后,就可以实现一行代码绘制火山图了,而且该包还配备和很多可供调节的参数,方便大家进行个性化设置,如:修改颜色,描边,散点大小等等!

为了方便大家更好的使用,师兄也对这个R包的重要函数和参数做了很清晰的说明!希望大家多多点赞、在看支持!点赞越多,师兄的生产就越快哈!开发更好的工具,帮助大家实现更加精美的可视化效果!

ggVolcano简介

ggVolcano的目标是帮助用户更轻松地制作出漂亮的火山图,该包主要配置了三个函数:

  • 普通火山图:ggvolcano
  • 渐变色火山图:gradual_volcano
  • GO通路火山图:term_volcano

附上师兄的github链接,有兴趣探索学习源码的可以参考:https://github.com/BioSenior/ggVolcano

安装

# install.packages("devtools")
devtools::install_github("BioSenior/ggVolcano")

使用ggvolcano函数制作一张普通的火山图。

基础用法
  • 确保你有一个包含差异表达基因信息的DEG结果数据(数据需要包括:GeneName、Log2FC、pValue、FDR)。
  • 如果你的数据没有名为 "regulate "的列,你可以使用add_regulate函数来添加,使用方法如下。
  • 使用函数ggvolcano来制作一般的火山图。你可以使用?ggvolcano来查看该函数的参数。
library(ggVolcano)

## basic example code
# load the data
data(deg_data)

# use the function -- add_regulate to add a regulate column 
# to the DEG result data. 
data <- add_regulate(deg_data, log2FC_name = "log2FoldChange",
                     fdr_name = "padj",log2FC = 1, fdr = 0.05)

# plot
ggvolcano(data, x = "log2FoldChange", y = "padj",
          label = "row", label_number = 10, output = FALSE)

ggvolcano_1

  • 你必须将xy参数设置为你数据中的相对应的列名。
  • 如果你想在这些点上添加标签,请将label参数设置为您数据中相应的列名。此外label_number参数可以调整显示的标签数量。(按照FDR值从小到大排序,选择前label_number个基因)。
修改散点的颜色和描边
# Change the fill and color manually:
p1 <- ggvolcano(data, x = "log2FoldChange", y = "padj",
          fills = c("#e94234","#b4b4d8","#269846"),
          colors = c("#e94234","#b4b4d8","#269846"),
          label = "row", label_number = 10, output = FALSE)

p2 <- ggvolcano(data, x = "log2FoldChange", y = "padj",
          label = "row", label_number = 10, output = FALSE)+
  ggsci::scale_color_aaas()+
  ggsci::scale_fill_aaas()
#> Scale for 'colour' is already present. Adding another scale for 'colour', which
#> will replace the existing scale.
#> Scale for 'fill' is already present. Adding another scale for 'fill', which
#> will replace the existing scale.

library(patchwork)
p1|p2

ggvolcano_2

使用gradual_volcano函数来制作一个渐变色火山图。

基础用法
  • 确保你有一个包含差异表达基因信息的DEG结果数据(数据需要包括:GeneName、Log2FC、pValue、FDR)。
  • 如果你的数据没有名为 "regulate "的列,你可以使用add_regulate函数来添加,使用方法如下。
  • 使用函数gradual_volcano来制作一般的火山图。你可以使用?gradual_volcano来查看该函数的参数。
# plot
gradual_volcano(deg_data, x = "log2FoldChange", y = "padj",
                label = "row", label_number = 10, output = FALSE)

gradual_volcano_1

修改散点的颜色和描边
library(RColorBrewer)

# Change the fill and color manually:
p1 <- gradual_volcano(data, x = "log2FoldChange", y = "padj",
          fills = brewer.pal(5, "RdYlBu"),
          colors = brewer.pal(8, "RdYlBu"),
          label = "row", label_number = 10, output = FALSE)

p2 <- gradual_volcano(data, x = "log2FoldChange", y = "padj",
          label = "row", label_number = 10, output = FALSE)+
  ggsci::scale_color_gsea()+
  ggsci::scale_fill_gsea()
#> Scale for 'colour' is already present. Adding another scale for 'colour', which
#> will replace the existing scale.
#> Scale for 'fill' is already present. Adding another scale for 'fill', which
#> will replace the existing scale.

library(patchwork)
p1|p2

gradual_volcano_2

  • 如果你想调整点的大小范围,你可以使用pointSizeRange = c(min_size, max_size)。其中min_size, max_size代表散点的最小尺寸和最大尺寸。

使用term_volcano函数来绘制GO通路相关火山图。

基本用法
  • 确保你有一个包含差异表达基因信息的DEG结果数据(数据需要包括:GeneName、Log2FC、pValue、FDR)。
  • 除了DEG结果数据,你还需要一个通路数据,这是一个包含一些基因的GO通路信息的两列数据框。
  • 如果你的数据没有名为 "regulate "的列,你可以使用add_regulate函数来添加,使用方法如下。
  • 使用函数term_Volcano来制作GO通路相关火山图。你可以使用?term_Volcano来查看该函数的参数。
data("term_data")

# plot
term_volcano(deg_data, term_data,
             x = "log2FoldChange", y = "padj",
             label = "row", label_number = 10, output = FALSE)

term_volcano_1

修改散点颜色和描边
library(RColorBrewer)

# Change the fill and color manually:
deg_point_fill <- brewer.pal(5, "RdYlBu")
names(deg_point_fill) <- unique(term_data$term)

term_volcano(data, term_data,
             x = "log2FoldChange", y = "padj",
             normal_point_color = "#75aadb",
             deg_point_fill = deg_point_fill,
             deg_point_color = "grey",
             legend_background_fill = "#deeffc",
             label = "row", label_number = 10, output = FALSE)

term_volcano_2

以上就是本期的全部内容啦!欢迎点赞,点在看!师兄会尽快更新哦!制作不易,你的打赏将成为师兄继续更新的十足动力!

最后再附上师兄的github链接,有兴趣探索学习源码的可以参考:https://github.com/BioSenior/ggGantt

往期文章

生信常用分析图形绘制01 – 各种类型的热图!你学会了吗?
生信常用分析图形绘制02 – 解锁火山图真谛!
生信常用分析图形绘制03 – 富集分析圈图

  • 13
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值