Survival Analysis (KM)
by @aipoch-ai
Generates Kaplan-Meier survival curves, calculates survival statistics (log-rank test, median survival time), and estimates hazard ratios for clinical and bi...
clawhub install survival-analysis-kmπ About This Skill
name: survival-analysis-km description: Generates Kaplan-Meier survival curves, calculates survival statistics (log-rank test, median survival time), and estimates hazard ratios for clinical and biological survival data analysis. Triggered when user requests survival analysis, Kaplan-Meier plots, time-to-event analysis, or asks about survival statistics in biomedical contexts. version: 1.0.0 category: Bioinfo tags: [] author: AIPOCH license: MIT status: Draft risk_level: Medium skill_type: Tool/Script owner: AIPOCH reviewer: '' last_updated: '2026-02-06'
Survival Analysis (Kaplan-Meier)
Kaplan-Meier survival analysis tool for clinical and biological research. Generates publication-ready survival curves with statistical tests.
Features
Usage
Python Script
python scripts/main.py --input data.csv --time time_col --event event_col --group group_col --output results/
Arguments
| Argument | Description | Required |
|----------|-------------|----------|
| --input | Input CSV file path | Yes |
| --time | Column name for survival time | Yes |
| --event | Column name for event indicator (1=event, 0=censored) | Yes |
| --group | Column name for grouping variable | Optional |
| --output | Output directory for results | Yes |
| --conf-level | Confidence level (default: 0.95) | Optional |
| --risk-table | Include risk table in plot | Optional |
Input Format
CSV with columns:
Example:
patient_id,time_months,death,treatment_group
P001,24.5,1,Drug_A
P002,36.2,0,Drug_A
P003,18.7,1,Placebo
Output Files
km_curve.png: Kaplan-Meier survival curvekm_curve.pdf: Vector version for publicationssurvival_stats.csv: Statistical summary (median survival, confidence intervals)hazard_ratios.csv: Cox regression results with HR and 95% CIlogrank_test.csv**: Pairwise comparison p-valuesTechnical Details
Statistical Methods
1. Kaplan-Meier Estimator: Non-parametric maximum likelihood estimate of survival function - Product-limit estimator: Ε(t) = Ξ (tα΅’β€t) (1 - dα΅’/nα΅’) - Greenwood's formula for variance estimation
2. Log-Rank Test: Most widely used test for comparing survival curves - Null hypothesis: No difference between groups - Weighted by number at risk at each event time
3. Cox Proportional Hazards: Semi-parametric regression model - h(t|X) = hβ(t) Γ exp(Ξ²βXβ + Ξ²βXβ + ...) - Proportional hazards assumption checked via Schoenfeld residuals
Dependencies
lifelines: Core survival analysis librarymatplotlib, seaborn: Visualizationpandas, numpy: Data handlingscipy: Statistical testsTechnical Difficulty: High β οΈ
This skill involves advanced statistical modeling. Results should be reviewed by a biostatistician, especially for:
References
See references/ folder for:
Parameters
| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| --input | str | Required | Input CSV file path |
| --time | str | Required | Column name for survival time |
| --event | str | Required | |
| --group | str | Required | |
| --output | str | Required | Output directory for results |
| --conf-level | float | 0.95 | |
| --risk-table | str | Required | Include risk table in plot |
| --figsize | str | '10 | |
| --dpi | int | 300 | |
Example
# Basic survival curve
python scripts/main.py \
--input clinical_data.csv \
--time overall_survival_months \
--event death \
--group treatment_arm \
--output ./results/ \
--risk-table
Output includes:
Risk Assessment
| 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 |
Security Checklist
Prerequisites
# Python dependencies
pip install -r requirements.txt
Evaluation Criteria
Success Metrics
Test Cases
1. Basic Functionality: Standard input β Expected output 2. Edge Case: Invalid input β Graceful error handling 3. Performance: Large dataset β Acceptable processing timeLifecycle Status
π‘ Examples
# Basic survival curve
python scripts/main.py \
--input clinical_data.csv \
--time overall_survival_months \
--event death \
--group treatment_arm \
--output ./results/ \
--risk-table
Output includes:
βοΈ Configuration
# Python dependencies
pip install -r requirements.txt