封面
一行代码绘制火山图的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
- 你必须将
x
和y
参数设置为你数据中的相对应的列名。- 如果你想在这些点上添加标签,请将
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
往期文章
1. 生信常用分析图形绘制01 -- 各种类型的热图
2. 生信常用分析图形绘制02 -- 解锁火山图真谛
3. 生信常用分析图形绘制03 -- 富集分析圈图
4. 生信常用分析图形绘制04 -- 桑基图