Data & ReproScientific VisualizationFreedomIntelligence/OpenClaw-Medical-SkillsData & Reproduction
BI

bio-data-visualization-volcano-customization

Maintainer FreedomIntelligence · Last updated April 1, 2026

Customized volcano plots with ggplot2 or matplotlib for DE results.

OpenClawNanoClawAnalysisWritingbio-data-visualization-volcano-customization🧠 bioos extended suitebioos extended bioinformatics suitecustomized

Original source

FreedomIntelligence/OpenClaw-Medical-Skills

https://github.com/FreedomIntelligence/OpenClaw-Medical-Skills/tree/main/skills/bio-data-visualization-volcano-customization

Maintainer
FreedomIntelligence
License
MIT
Last updated
April 1, 2026

Skill Snapshot

Key Details From SKILL.md

2 min

Key Notes

  • df$significance <- case_when( df$padj < 0.05 & df$log2FoldChange > 1 ~ 'Up', df$padj < 0.05 & df$log2FoldChange < -1 ~ 'Down', TRUE ~ 'NS' ).
  • ggplot(df, aes(x = log2FoldChange, y = -log10(pvalue))) + geom_point(aes(color = significance), alpha = 0.6, size = 1.5) + scale_color_manual(values = c(Up = '#E64B35', Down = '#4DBBD5', NS = 'gray70')) + geom_hline(yintercept = -log10(0.05), linetype = 'dashed', color = 'gray40') + geom_vline(xintercept = c(-1, 1), linetype = 'dashed', color = 'gray40') + theme_classic() + labs(x = 'log2 Fold Change', y = '-log10(p-value)', color = 'Regulation').
  • top_genes <- df %>% filter(padj < 0.05, abs(log2FoldChange) > 1) %>% arrange(pvalue) %>% head(20).
  • ggplot(df, aes(x = log2FoldChange, y = -log10(pvalue))) + geom_point(aes(color = significance), alpha = 0.6, size = 1.5) + scale_color_manual(values = c(Up = '#E64B35', Down = '#4DBBD5', NS = 'gray70')) + geom_text_repel( data = top_genes, aes(label = gene), size = 3, max.overlaps = 20, box.padding = 0.5, segment.color = 'gray50' ) + theme_classic().

Source Doc

Excerpt From SKILL.md

ggplot2 Basic Volcano

library(ggplot2)
library(ggrepel)

## Label specific genes of interest

genes_of_interest <- c('TP53', 'BRCA1', 'MYC', 'EGFR')
highlight_df <- df %>% filter(gene %in% genes_of_interest)

ggplot(df, aes(x = log2FoldChange, y = -log10(pvalue))) +
    geom_point(aes(color = significance), alpha = 0.4, size = 1.5) +
    geom_point(data = highlight_df, color = 'black', size = 3) +
    geom_text_repel(data = highlight_df, aes(label = gene), fontface = 'bold') +
    theme_classic()

EnhancedVolcano (R)

library(EnhancedVolcano)

Use cases

  • Use bio-data-visualization-volcano-customization to prepare publication-quality figures.
  • Apply bio-data-visualization-volcano-customization when results need clear visual communication.

Not for

  • Do not rely on this catalog entry alone for installation or maintenance details.

Upstream Related Skills

  • differential-expression/de-visualization - DE-specific plots
  • data-visualization/ggplot2-fundamentals - General ggplot2
  • data-visualization/color-palettes - Color selection

Related skills

Related skills

Back to directory
BI
Data & ReproScientific Visualization

bio-chipseq-visualization

Visualize ChIP-seq data using deepTools, Gviz, and ChIPseeker. Create heatmaps, profile plots, and genome browser tracks. Visualize signal a…

OpenClawNanoClawAnalysis
FreedomIntelligence/OpenClaw-Medical-SkillsView
BI
Data & ReproScientific Visualization

bio-consensus-sequences

Generate consensus FASTA sequences by applying VCF variants to a reference using bcftools consensus. Use when creating sample-specific refer…

OpenClawNanoClawAnalysis
FreedomIntelligence/OpenClaw-Medical-SkillsView
BI
Data & ReproScientific Visualization

bio-copy-number-cnv-visualization

Visualize copy number profiles, segments, and compare across samples. Create publication-quality plots of CNV data from CNVkit, GATK, or oth…

OpenClawNanoClawAnalysis
FreedomIntelligence/OpenClaw-Medical-SkillsView
BI
Data & ReproScientific Visualization

bio-data-visualization-circos-plots

Circular genome visualization with Circos or pycirclize.

OpenClawNanoClawAnalysis
FreedomIntelligence/OpenClaw-Medical-SkillsView