Agent Skills
Data-analysisMeta-analysisClinical

Meta-Analysis Forest Plot Generator

AIPOCH

Input the Odds Ratio (OR) and Confidence Interval (CI) from multiple studies, and automatically generate Forest Plot code (Python) for Meta-analysis.

329
8
FILES
meta-analysis-forest-plotter/
skill.md
scripts
main.py

SKILL.md

Meta-Analysis Forest Plot Generator

Create publication-ready forest plots for systematic reviews and meta-analyses with customizable styling and statistical annotations.

Quick Start

from scripts.forest_plotter import ForestPlotter

plotter = ForestPlotter()

# Generate forest plot
plot = plotter.create_plot(
    studies=["Study A", "Study B", "Study C"],
    effect_sizes=[1.2, 0.8, 1.5],
    ci_lower=[0.9, 0.5, 1.1],
    ci_upper=[1.5, 1.1, 1.9],
    overall_effect=1.15
)

Core Capabilities

1. Basic Forest Plot

fig = plotter.plot(
    data=studies_df,
    effect_col="HR",
    ci_lower_col="CI_lower",
    ci_upper_col="CI_upper",
    study_col="study_name"
)

Required Data Columns:

  • Study name/identifier
  • Effect size (OR, HR, RR, MD, etc.)
  • Confidence interval lower bound
  • Confidence interval upper bound
  • Weight (optional, for precision)

2. Statistical Annotations

fig = plotter.plot_with_stats(
    data,
    heterogeneity_stats={
        "I2": 45.2,
        "p_value": 0.03,
        "Q_statistic": 18.4
    },
    overall_effect={
        "estimate": 1.15,
        "ci": [0.98, 1.35],
        "p_value": 0.08
    }
)

Heterogeneity Metrics:

MetricInterpretation
I² < 25%Low heterogeneity
I² 25-50%Moderate heterogeneity
I² > 50%High heterogeneity
Q p-value < 0.05Significant heterogeneity

3. Subgroup Analysis

fig = plotter.subgroup_plot(
    data,
    subgroup_col="treatment_type",
    subgroups=["Surgery", "Radiation", "Combined"]
)

4. Custom Styling

fig = plotter.plot(
    data,
    style="publication",
    journal="lancet",  # or "nejm", "jama", "nature"
    color_scheme="monochrome",
    show_weights=True
)

CLI Usage

# From CSV data
python scripts/forest_plotter.py \
  --input meta_analysis_data.csv \
  --effect-col OR \
  --output forest_plot.pdf

# With custom styling
python scripts/forest_plotter.py \
  --input data.csv \
  --style lancet \
  --width 8 --height 10

Output Formats

  • PDF: Publication quality, vector graphics
  • PNG: Web/presentation, 300 DPI
  • SVG: Editable in Illustrator/Inkscape
  • TIFF: Journal submission format

References

  • references/forest-plot-styles.md - Journal-specific formatting
  • examples/sample-plots/ - Example outputs

Skill ID: 207 | Version: 1.0 | License: MIT