# SarcoMyokinEngine (사르코마이오킨엔진)

> WARNING: 본 도구는 연구·참고용입니다. 임상 의사결정에 사용 금지. Recommended panels require pilot validation before grant submission. Cost estimates are illustrative.

Sarcopenic obesity (SO) myokine composite biomarker hypothesis engine.

## What it does

For 22 myokines, integrates:
1. PubMed evidence on sarcopenic obesity (synthetic offline counts)
2. GTEx/HPA muscle/adipose expression (synthetic TPM + protein levels)
3. Ranks unexplored triplet panels by mechanistic complementarity
4. Auto-generates an experimental protocol per recommended panel (cost, blood volume, power table)

## Constraints

- Python stdlib only (sqlite3, json, csv, argparse, math, itertools, statistics)
- No external network/API calls; all data is synthetic/offline
- Triplets sampled (n=300) and ranked instead of full C(22,3)=1,540 enumeration

## Usage

```bash
cd "projects/2026-04-25-3-sarco-myokin-engine"
python3 main.py --help
python3 main.py init
python3 main.py stats
python3 main.py rank-triplets --top 10
python3 main.py panel myostatin FGF21 GDF15
```

## Scoring formula

```
composite = 0.30 * tissue_diversity_entropy
          + 0.30 * mechanism_nonoverlap (1 - Jaccard)
          + 0.20 * measurability (serum vs biopsy)
          + 0.20 * unexplored_bonus (1 / (1 + co_papers/15))
```

## Files

- `main.py` — CLI
- `data/myokines.json` — 22-myokine vocabulary
- `data/pubmed_evidence.json` — synthetic SO evidence + co-occurrence
- `data/gtex_expression.csv` — synthetic muscle/adipose/liver TPM
- `data/hpa_expression.csv` — synthetic protein levels
- `data/reactome_pathways.json` — synthetic pathway mapping
- `myokines.db` — SQLite, generated by `init`
- `QA.md` — verification log

## Statistical power

Power computed via normal approximation of two-sample t (alpha=0.05, two-sided):
`power = Phi(d * sqrt(n/2) - 1.96)` for Cohen d in {0.3, 0.5, 0.8, 1.0} and n in {15, 20, 30, 40, 60, 80, 120}.
