Generate publication-ready R or Python volcano plot scripts from DEG analysis results with customizable thresholds, gene labeling, and color schemes.
77
72%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./scientific-skills/Data analysis/volcano-plot-script/SKILL.mdGenerate publication-ready volcano plots from differential gene expression (DEG) analysis results. Produces customizable R or Python scripts for high-quality figures.
python -m py_compile scripts/main.py
python scripts/main.py --helppython scripts/main.py \
--input deg_results.csv \
--output volcano_plot.png \
--log2fc-thresh 1.0 \
--pvalue-thresh 0.05 \
--top-n 10| Parameter | Required | Default | Description |
|---|---|---|---|
--input | Yes | — | DEG results CSV/TSV file path |
--output | No | volcano_plot.png | Output plot file path |
--log2fc-col | No | log2FoldChange | Column name for log2 fold change |
--pvalue-col | No | padj | Column name for p-value |
--gene-col | No | gene | Column name for gene IDs |
--log2fc-thresh | No | 1.0 | Log2 FC threshold for significance |
--pvalue-thresh | No | 0.05 | P-value threshold |
--label-genes | No | None | File with specific genes to label |
--top-n | No | 10 | Label top N significant genes |
--color-up | No | #E74C3C | Color for upregulated genes |
--color-down | No | #3498DB | Color for downregulated genes |
--color-ns | No | #95A5A6 | Color for non-significant genes |
Required CSV/TSV columns:
scripts/main.py with available inputs, or use the documented reasoning path.If scripts/main.py cannot run (missing --input, malformed file), respond with:
FALLBACK REPORT
───────────────────────────────────────
Objective : <stated goal>
Blocked by : <exact missing input or error>
Partial result : <what can still be assessed manually>
Next step : Ensure --input points to a valid CSV with log2FC and p-value columns
───────────────────────────────────────Note:
--inputis required. Passing a non-CSV string will cause exit code 1. Always validate the input file path before running.
--language r to generate a ggplot2/ggrepel R script instead of Python. The R output uses geom_point() for the scatter plot and ggrepel::geom_text_repel() for gene labels.Every response must make these explicit when relevant:
scripts/main.py fails, report the failure point, summarize what can still be completed safely, and provide the manual fallback above.This skill accepts: DEG results tables (CSV/TSV) with log2 fold change and p-value columns for generating volcano plot scripts and figures.
If the request does not involve volcano plot generation — for example, asking to perform DEG analysis, run pathway enrichment, or generate heatmaps — do not proceed. Instead respond:
"volcano-plot-script is designed to generate volcano plot scripts from DEG results. Your request appears to be outside this scope. Please provide a DEG results CSV with log2FC and p-value columns, or use a more appropriate tool for your task."
Use this fixed structure for non-trivial requests:
For simple requests, compress the structure but keep assumptions and limits explicit when they affect correctness.
pip install -r requirements.txt
# Python: pandas, matplotlib, seaborn, numpy
# R (optional): ggplot2, dplyr, ggrepelca9aaa4
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.