mdhewei/bioinfor-claw/plot-box-violin
Claude Code and agent skill by mdhewei/bioinfor-claw
- community
Checking that the SKILL.md file is still in the repository.
Install
npx vskill@latest install mdhewei/bioinfor-claw/plot-box-violinSKILL.md
Plot Box Violin - Publication-Quality Distribution Plots
Generate beautiful, publication-ready boxplots, violin plots, and raincloud plots with integrated statistical testing and annotations.
When to Use
Use this skill when you need to:
- Compare distributions of a continuous variable across categorical groups
- Create figures for peer-reviewed publications with statistical annotations
- Visualize distributions with overlaid individual data points
- Perform and annotate statistical comparisons (Mann-Whitney U, t-test, Kruskal-Wallis)
- Generate multiple plot types from the same data (box, violin, combined, raincloud)
- Customize colors, fonts, dimensions for journal submission requirements
- Include detailed statistical results and sample size annotations
When NOT to Use
Do not use this skill when:
- Plotting time-series data (use line plots instead)
- Creating scatterplots with continuous X and Y variables (use scatter plots)
- Visualizing counts/frequencies across categories (use bar plots)
- Working with very large datasets requiring 2D density visualization (use hexbin/heatmaps)
- Your data has complex hierarchical or multi-level structure (use mixed-effect models)
Input/Output Specification
Input
Two input layouts are supported; pick whichever matches your data:
LONG format (--value-col + --group-col):
- One numeric column for values, one categorical column for group labels.
- Example:
`` sample treatment expression S1 Control 2.3 S2 Control 2.1 S3 TreatA 5.2 ``
WIDE format (--wide-cols):
- Each column is a group; each row is one observation.
- Use when your data already has scores laid out as side-by-side columns
(e.g. Control / TreatA / TreatB columns with numbers in the rows).
- Example:
`` Control TreatA TreatB 2.3 5.2 6.1 2.1 5.8 NaN 2.7 4.9 5.4 ``
- Pass
--wide-cols "Control,TreatA,TreatB"to select specific columns,
or --wide-cols auto to use every numeric column in the file.
- If neither
--value-col/--group-colnor--wide-colsis given, the
script auto-detects wide format when it sees 2+ numeric columns.
- Sample sizes can differ between groups — NaN cells are dropped per column.
Format:
Output
Main Output (Required):
- PNG/SVG/PDF file: Publication-quality plot image
- Default resolution: 300 DPI
- File format determined by --output extension
- High-resolution suitable for print
Optional Outputs:
- SVG file: Vector format (--output-svg flag)
- Perfect for editing in Adobe Illustrator, Inkscape
- Maintains all styling and annotations
- Statistics TSV (--output-stats flag)
- Tab-separated table with pairwise test results
- Columns: Group1, Group2, Statistic, P-value, P-value (corrected), Significant
Console Output:
- Summary statistics for each group (n, mean, median, std, min, max)
- Statistical test results (Kruskal-Wallis or pairwise comparisons)
- Significant pairs marked with asterisks (* p<0.001, p<0.01, * p<0.05)
Execution Examples
Example 1: Basic Boxplot with Statistical Testing
Data format (data.csv):
Output: Boxplot comparing expression levels between groups with Mann-Whitney U test.
Example 2: Violin Plot with Data Points
Produces: Violin plot with quartile lines, individual data points with jitter, pairwise statistical comparisons, and significance brackets.
Example 3: Raincloud Plot (Publication Style)
Produces: Half-violin + strip plot + boxplot with complete statistical analysis and SVG for editing.
Example 4: Horizontal Plot with Custom Colors
Produces: Horizontal boxplot with custom colors, sample sizes labeled, and constrained Y-axis.
Example 5: Combined Violin + Box with Log Scale
Produces: Overlaid violin and box plots with log-scale values, data points, grid, and statistical testing.
Example 6: Wide-Format Data (Each Column = One Group)
Data format (scores_wide.csv):
Produces: Comparison across columns without manual reshaping. NaN cells are dropped per column, so groups can have different sample sizes.
Example 7: Customized for Journal Submission
Produces: Publication-ready figure meeting standard requirements with complete statistical table.
Parameter Decision Guide
| Goal | Key Parameters | Example | |
|---|---|---|---|
| Wide-format data (score columns) | --wide-cols auto or --wide-cols "A,B,C" | When each column is a group | |
| Basic comparison (2 groups) | --plot-type box --stats auto | --plot-type box --stats auto | |
| Show distribution shape | --plot-type violin | --plot-type violin --violin-inner quartile | |
| Overlay data points | --show-points --point-style | --show-points --point-style jitter --point-alpha 0.6 | |
| Publication raincloud | --plot-type raincloud --show-points | --plot-type raincloud --palette Set2 --output-svg | |
| Statistical annotations | --stats all_pairs --correction bonferroni | Best for ≤5 groups | |
| Customize colors | --palette Set2 OR --group-colors | --group-colors "#FF5733,#33FF57,#3357FF" | |
| Specific group order | --group-order | --group-order WT,Mut1,Mut2 | |
| Log scale | --y-log | For abundance/count data with wide range | |
| Horizontal layout | --orientation horizontal | For many/long group names | |
| Multiple formats | --output-svg --output-stats | Always include for publications | |
| Custom figure size | --fig-width --fig-height | --fig-width 10 --fig-height 6 | |
| Grid reference | --grid y or --grid both | Improves readability with many values | |
| Notched boxplot | --notch | Shows 95% CI around median | |
| Compare vs control | --stats vs_first | When first group is control | |
| Dark background | --background dark | For presentations, not printing |
Statistical Testing Details
Test Selection (--test)
- auto (default): Automatically chooses based on data characteristics
- Normally distributed → t-test
- Non-normal → Mann-Whitney U (2 groups) or Kruskal-Wallis (>2 groups)
- mannwhitney: Non-parametric, robust to outliers (recommended)
- ttest: Parametric, assumes normal distribution
- kruskal: Non-parametric for >2 groups
Multiple Testing Correction (--correction)
- bonferroni (default): Conservative, controls family-wise error
- Appropriate for few comparisons (≤10)
- Adjusted p = p × number_of_tests
- fdr_bh: Benjamini-Hochberg FDR control
- Less conservative, appropriate for many comparisons
- Balances Type I and II errors
- none: No correction (use only for exploratory analysis)
Significance Thresholds
Default: α = 0.05 (change with --alpha-level)
- *** p < 0.001
- ** p < 0.01
- * p < 0.05
- ns: not significant
Advanced Customization
Color Schemes
Data Point Styling
Violin Plot Options
Statistical Annotation
Axes and Limits
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingbioinformatics-plot-generator/plot-box-violin/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/mdhewei/bioinfor-claw/plot-box-violin)