← LeaderboardThe Skill Leaderboard

bioconductor-enhancedvolcano

Volcano plots represent a useful way to visualise the results of differential expression analyses. Here, we present a highly-configurable function that produces publication-ready volcano plots. EnhancedVolcano will attempt to fit as many po

Published by bioMate-AI ↗bioMate-AI/biomate-bioconductor-kb

Try your first task

bioconductor-enhancedvolcano

Start a fresh conversation. Replace the highlighted placeholders.

Use bioconductor-enhancedvolcano to create a publication-ready volcano-plot specification from [differential-expression results], with labels for [genes of interest] and readable threshold annotations.

Required inputs

  • [differential-expression results]
  • [genes of interest]

User-approved starter prompt based on a pinned source version; check current skill requirements before running. Task evidence ↗

SKILL.md

name: bioconductor-enhancedvolcanodescription: Volcano plots represent a useful way to visualise the results of differential expression analyses. Here, we present a highly-configurable function that produces publication-ready volcano plots. EnhancedVolcano will attempt to fit as many powhen_to_use: "Use when: Publication-Ready Visualization: Creating highly-configurable volcano plots from differential expression results using the EnhancedVolcano() function.; Targeted Gene Labeling: Visualizing specific genes of interest by supplying a vector of variables to the selectLab parameter.; Highlighting Key Variables: Emphasizing specific points by encircling them or shading them using the encircle and shade p. Not for: For performing differential expression analysis: Use DESeq2 (e.g., DESeq() and results()) instead, because EnhancedVolcano only visualizes the statistical output.; For mapping gene identifiers: Use mapIds() from AnnotationDbi instead, as EnhancedVolc"user-invocable: false

EnhancedVolcano

Dependencies & Environment

Package-intrinsic requirements from the Bioconductor landing page — reproduce in any R environment.

  • Version: 1.30.0 · Bioconductor: 3.23 · R: ≥ 4.6
  • Depends: ggplot2, ggrepel
  • Imports: scales
  • Install: BiocManager::install("EnhancedVolcano")

When to Use

  • Publication-Ready Visualization: Creating highly-configurable volcano plots from differential expression results using the EnhancedVolcano() function.
  • Targeted Gene Labeling: Visualizing specific genes of interest by supplying a vector of variables to the selectLab parameter.
  • Highlighting Key Variables: Emphasizing specific points by encircling them or shading them using the encircle and shade parameters.

When NOT to Use

  • For performing differential expression analysis: Use DESeq2 (e.g., DESeq() and results()) instead, because EnhancedVolcano only visualizes the statistical output.
  • For mapping gene identifiers: Use mapIds() from AnnotationDbi instead, as EnhancedVolcano requires the labels to be pre-formatted and mapped before plotting.

Data Requirements

  • A data-frame, data-matrix, or tibble of test results containing point labels, log2 fold changes, and adjusted or unadjusted P values.

Key Parameters

  • lab: A vector of point labels (e.g., rownames(res)).
  • x: The column name in the results object containing log2 fold changes (e.g., 'log2FoldChange').
  • y: The column name in the results object containing P values (e.g., 'pvalue').
  • pCutoff (10e-6): The statistical significance threshold for P values.
  • FCcutoff (2.0): The threshold for absolute log2 fold changes.
  • drawConnectors: A logical indicating whether to add connectors from labels to points to maximize free space.
  • colCustom: A named vector of custom key-value pairs to over-ride the default colour scheme.
  • boxedLabels: A logical indicating whether to draw simple boxes around the plot's labels to improve clarity.

Best Practices

  • Use lfcShrink() from DESeq2 to obtain moderated 'shrunk' estimates of log2FC differences before plotting.
  • Set drawConnectors = TRUE to fit more labels in the plot window without overcrowding the points.
  • Use parseLabels = TRUE along with italic() to parse and present labels as italicised text.
  • Disable default gridlines (gridlines.major = FALSE, gridlines.minor = FALSE) to make extra threshold lines (hline, vline) more visible.

Common Pitfalls

  • Overcrowded labels: Too many significant genes can clog up the plot. Fix: Use the selectLab parameter to only label key variables of interest.
  • Legend taking up too much space: The default legend might obscure data. Fix: Change legendPosition to 'none' to make the legend completely invisible.
  • Missing dependencies for encircling: Attempting to encircle points without the required dependencies will fail. Fix: Ensure the ggalt package is installed before using the encircle parameter.

Alternatives

  • ggplot2: The underlying engine for EnhancedVolcano, which can be used directly for fully custom plots but requires more manual configuration for label repulsion and cutoffs.
  • ggrepel: Provides the label repulsion engine used internally by EnhancedVolcano, useful if building a custom volcano plot from scratch.

Citations

References


Run this on BioMate

This skill is the knowledge layer — when, why, and how to use enhancedvolcano. To run this analysis on your own data with managed compute, automated QC, and reproducible outputs, use BioMate — free to start.

▶ Open enhancedvolcano on BioMate →