The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Title: Publication-Ready Volcano Plots
Version: 0.1.4
Description: Provides publication-ready volcano plots for visualizing differential expression results, commonly used in RNA-seq and similar analyses. This tool helps create high-quality visual representations of data using the 'ggplot2' framework Wickham (2016) <doi:10.1007/978-3-319-24277-4>.
License: MIT + file LICENSE
Imports: config (≥ 0.3.2), ggplot2, ggrepel, golem (≥ 0.4.1), shiny (≥ 1.8.1.1)
Encoding: UTF-8
RoxygenNote: 7.3.2
Suggests: knitr, rmarkdown
VignetteBuilder: knitr
NeedsCompilation: no
Packaged: 2025-02-09 04:00:21 UTC; Bach
Author: Yaoxiang Li [cre, aut]
Maintainer: Yaoxiang Li <liyaoxiang@outlook.com>
Repository: CRAN
Date/Publication: 2025-02-09 04:10:02 UTC

Publication-ready volcano plots

Description

Creates a volcano plot to visualize differential expression results. This function is highly configurable to suit publication standards.

Usage

ggvolcano(
  data,
  labels = "",
  logFC_col,
  pval_col,
  x_limits = c(min(data[[logFC_col]], na.rm = TRUE) - 1.5, max(data[[logFC_col]], na.rm =
    TRUE) + 1.5),
  y_limits = c(0, max(-log10(data[[pval_col]]), na.rm = TRUE) + 5),
  xlab = bquote(~Log[2] ~ "fold change"),
  ylab = bquote(~-Log[10] ~ italic(P)),
  title = "Volcano plot",
  subtitle = "",
  caption = paste0("total = ", nrow(data), " variables"),
  pval_cutoff = 1e-06,
  logFC_cutoff = 1,
  cutoff_line = list(type = "longdash", color = "black", width = 0.4),
  point_aes = list(size = 1.5, shape = c(19, 19, 19, 19), color = c("grey30", "#00CD6C",
    "#009ADE", "#FF1F5B"), alpha = 0.9),
  label_aes = list(size = 2.5, color = "black", face = "plain", parse = FALSE),
  legend_aes = list(labels = c("NS", expression(Log[2] ~ FC), "p-value", expression(p -
    value ~ and ~ log[2] ~ FC)), position = "right", label_size = 14, icon_size = 5),
  shade_options = NULL,
  connector_aes = list(line_width = 0.5, arrow_type = "closed", arrow_ends = "first",
    arrow_length = unit(0.01, "npc"), line_color = "grey10", direction = "both",
    draw_arrowheads = TRUE),
  gridlines = list(major = TRUE, minor = TRUE),
  plot_border = "partial",
  border_width = 0.8,
  border_color = "black",
  horizontal_line = NULL,
  horizontal_line_aes = list(type = "longdash", color = "black", width = 0.4)
)

Arguments

data

A data frame containing test statistics. Requires at least columns for variable names, log2 fold changes, and p-values.

labels

Column name or row names for variable names.

logFC_col

Column name for log2 fold changes.

pval_col

Column name for nominal or adjusted p-values.

x_limits

Limits of the x-axis (default auto-calculated).

y_limits

Limits of the y-axis (default auto-calculated).

xlab

X-axis label.

ylab

Y-axis label.

title

Plot title.

subtitle

Plot subtitle.

caption

Plot caption.

pval_cutoff

P-value cutoff for significance.

logFC_cutoff

Log2 fold-change cutoff for significance.

cutoff_line

List of options for cutoff lines ('type', 'color', 'width').

point_aes

List of aesthetic options for points ('size', 'shape', 'color', 'alpha').

label_aes

List of aesthetic options for labels ('size', 'color', 'face', 'parse').

legend_aes

List of aesthetic options for legend ('labels', 'position', 'label_size', 'icon_size').

shade_options

List of options for shading regions in the plot.

connector_aes

List of aesthetic options for connectors ('line_width', 'arrow_type', 'arrow_ends', 'arrow_length', 'line_color', 'direction', 'draw_arrowheads').

gridlines

List with logical values indicating whether to draw gridlines ('major', 'minor').

plot_border

Add a border for plot axes ('"partial"' or '"full"').

border_width

Width of the border.

border_color

Color of the border.

horizontal_line

Numeric value(s) for drawing horizontal line(s).

horizontal_line_aes

List of aesthetic options for the horizontal line(s) ('type', 'color', 'width').

Value

A ggplot2 object representing the volcano plot.

Examples

data <- read.csv(system.file("extdata", "example.csv", package = "ggvolcano"))

ggvolcano(data,
  logFC_col = "log2FoldChange",
  pval_col = "pvalue",
  pval_cutoff = 10e-4,
  logFC_cutoff = 1.5,
  x_limits = c(-5.5, 5.5),
  y_limits = c(0, -log10(10e-12)),
  title = "Example Volcano plot",
  caption = "FC cutoff, 1.5; p-value cutoff, 10e-4",
  gridlines = list(major = TRUE, minor = TRUE),
  horizontal_line = 10e-8, # Draw horizontal line for p-value cutoff
  horizontal_line_aes = list(type = "dashed", color = "red", width = 0.5)
)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.