Install
openclaw skills install volcano-plot-labeler-1Analyze data with `volcano-plot-labeler` using a reproducible workflow, explicit validation, and structured outputs for review-ready interpretation.
openclaw skills install volcano-plot-labeler-1Automatically identify and label the Top 10 most significant genes in volcano plots using a repulsion algorithm to prevent label overlap.
See ## Features above for related details.
volcano-plot-labeler using a reproducible workflow, explicit validation, and structured outputs for review-ready interpretation.scripts/main.py.references/ for task-specific guidance.See ## Prerequisites above for related details.
Python: 3.10+. Repository baseline for current packaged skills.matplotlib: unspecified. Declared in requirements.txt.numpy: unspecified. Declared in requirements.txt.pandas: unspecified. Declared in requirements.txt.See ## Usage above for related details.
cd "20260318/scientific-skills/Data Analytics/volcano-plot-labeler"
python -m py_compile scripts/main.py
python scripts/main.py --help
Example run plan:
CONFIG block or documented parameters if the script uses fixed settings.python scripts/main.py with the validated inputs.See ## Workflow above for related details.
scripts/main.py.references/ contains supporting rules, prompts, or checklists.Use this command to verify that the packaged script entry point can be parsed before deeper execution.
python -m py_compile scripts/main.py
Use these concrete commands for validation. They are intentionally self-contained and avoid placeholder paths.
python -m py_compile scripts/main.py
python scripts/main.py --help
python scripts/main.py --input "Audit validation sample with explicit symptoms, history, assessment, and next-step plan."
pip install pandas matplotlib numpy scipy
from volcano_plot_labeler import label_volcano_plot
import pandas as pd
# Load your data
df = pd.read_csv('differential_expression_results.csv')
# Generate labeled volcano plot
fig = label_volcano_plot(
df,
log2fc_col='log2FoldChange',
pvalue_col='padj',
gene_col='gene_name',
top_n=10
)
fig.savefig('volcano_plot_labeled.png', dpi=300, bbox_inches='tight')
from volcano_plot_labeler import label_volcano_plot
fig = label_volcano_plot(
df,
log2fc_col='log2FoldChange',
pvalue_col='padj',
gene_col='gene_name',
top_n=10,
pvalue_threshold=0.05,
log2fc_threshold=1.0,
figsize=(12, 10),
repulsion_iterations=100,
repulsion_force=0.05,
label_fontsize=10,
label_color='black',
arrow_color='gray',
save_path='output.png'
)
python scripts/main.py \
--input data/deseq2_results.csv \
--output volcano_labeled.png \
--log2fc-col log2FoldChange \
--pvalue-col padj \
--gene-col gene_name \
--top-n 10
Expected CSV/TSV columns:
log2FoldChange: Log2 fold change valuespadj or pvalue: Adjusted p-values or raw p-valuesgene_name: Gene identifiers-log10(pvalue) for all genes|log2FC| * -log10(pvalue)| Parameter | Type | Default | Description |
|---|---|---|---|
df | DataFrame | - | Input data |
log2fc_col | str | 'log2FoldChange' | Column name for log2 fold change |
pvalue_col | str | 'padj' | Column name for p-value |
gene_col | str | 'gene_name' | Column name for gene names |
top_n | int | 10 | Number of top genes to label |
pvalue_threshold | float | 0.05 | P-value cutoff for coloring |
log2fc_threshold | float | 1.0 | Log2FC cutoff for coloring |
repulsion_iterations | int | 100 | Iterations for repulsion algorithm |
repulsion_force | float | 0.05 | Strength of repulsion force |
label_fontsize | int | 10 | Font size for labels |
figsize | tuple | (10, 10) | Figure size |
MIT
| Risk Indicator | Assessment | Level |
|---|---|---|
| Code Execution | Python/R scripts executed locally | Medium |
| Network Access | No external API calls | Low |
| File System Access | Read input files, write output files | Medium |
| Instruction Tampering | Standard prompt guidelines | Low |
| Data Exposure | Output files saved to workspace | Low |
# Python dependencies
pip install -r requirements.txt
Every final response should make these items explicit when they are relevant:
scripts/main.py fails, report the failure point, summarize what still can be completed safely, and provide a manual fallback.This skill accepts requests that match the documented purpose of volcano-plot-labeler and include enough context to complete the workflow safely.
Do not continue the workflow when the request is out of scope, missing a critical input, or would require unsupported assumptions. Instead respond:
volcano-plot-labeleronly handles its documented workflow. Please provide the missing required inputs or switch to a more suitable skill.
Use the following fixed structure for non-trivial requests:
If the request is simple, you may compress the structure, but still keep assumptions and limits explicit when they affect correctness.