# AntiObesityOffTargetMech-Kor (안티오베시티오프타겟메크코어)

> ⚠️ **본 도구는 연구용·참고용 mechanism hypothesis 생성기입니다. 임상의사결정·차세대 항비만약 처방·승인 결정에 사용 금지.**

차세대 항비만 multi-target agonist 9+종(retatrutide·MariTide·CagriSema·survodutide·orforglipron·amycretin·setmelanotide·tirzepatide·semaglutide·liraglutide)의 **off-target mechanism 가설**을 STEP/SURMOUNT/TRIUMPH post-hoc AE × GTEx × Tabula Sapiens × IMPC KO × BindingDB selectivity × FAERS/KIDS-KD/HIRA로 **multi-source 통합 ranking + 한국어 hypothesis card 생성** standalone Python CLI.

## 도메인
- **Obesity / Metabolic** — 차세대 항비만 multi-target agonist safety pharmacology
- **Off-target mechanism hypothesis generation** (KFDA/EMA REMS 호환 layer)
- **OpenClaw 바이오 피벗 약물 재조합 DB 호환** JSON export

## 5대 기능

| # | 기능 | CLI flag |
|---|---|---|
| 1 | 약물 selectivity matrix (Ki nM) | `--selectivity-matrix` |
| 2 | GTEx + Tabula Sapiens + IMPC KO heat-map | `--tissue-heatmap RECEPTOR` |
| 3 | FAERS/KIDS-KD/HIRA disproportionality 통합 | `--rank-mechanism` 내부 |
| 4 | Mechanism 가설 자동 Bayesian ranking | `--rank-mechanism --top N` |
| 5 | 한국어 hypothesis card + grant + OpenClaw export | `--card '...'` / `--export-openclaw output.json` |

## 빠른 실행

```bash
# 도구 개요
python3 main.py --summary

# 약물 × receptor 선택성 매트릭스
python3 main.py --selectivity-matrix

# GLP-1R / GIPR / GCGR / AMYR / MC4R 별 tissue heat-map
python3 main.py --tissue-heatmap GLP-1R
python3 main.py --tissue-heatmap GCGR

# Bayesian off-target 가설 ranking
python3 main.py --rank-mechanism --top 15
python3 main.py --rank-mechanism --top 10 --drug retatrutide

# 한국어 hypothesis card (grant proposal + OpenClaw 호환 layer 포함)
python3 main.py --card "GCG-mediated transient ALT elevation"
python3 main.py --card "H05"

# OpenClaw 약물 재조합 DB JSON export
python3 main.py --export-openclaw /tmp/openclaw_anti_obesity.json
```

## 데이터 (합성, 시뮬레이션 전용)

`data/` 폴더 5개 CSV:

| 파일 | 행 수 | 설명 |
|---|---|---|
| `drugs_selectivity.csv` | 10 | drug × receptor Ki nM (GLP-1R/GIPR/GCGR/AMYR/MC4R) |
| `ae_pattern.csv` | 29 | STEP/SURMOUNT/TRIUMPH/MARITIDE 후 AE pattern (MedDRA SOC/PT, 발생률, ROR, sub-group n) |
| `receptor_expression.csv` | 51 | GTEx tissue TPM + Tabula Sapiens cell-type + IMPC KO 표현형 |
| `faers_kor.csv` | 30 | FAERS ROR/PRR/EBGM + KIDS-KD signal + HIRA + KCD code |
| `mechanism_hypotheses.csv` | 20 | 사전 정의 mechanism 가설 prior + evidence + references |

## Ranking 알고리즘 (Bayesian 4축 가중합)

```
posterior = 0.5 × prior + 0.5 × composite
composite = 0.30 × selectivity + 0.25 × tissue_expr + 0.30 × ae_pattern + 0.15 × ko_phenotype
```

- **selectivity**: log10-inverse Ki nM (lower Ki → higher off-target risk if tissue expressed)
- **tissue_expr**: GTEx TPM (정규화) + Tabula Sapiens cell-type % expressing
- **ae_pattern**: FAERS ROR (log10 정규화)
- **ko_phenotype**: IMPC KO mouse 표현형 일치 여부 (heuristic boolean)

## 한국어 hypothesis card 구성

각 card는 다음을 포함:
1. **약물·Receptor 정보** (drug class, sponsor, Ki, 선택성 비)
2. **관련 AE pattern** (trial, MedDRA SOC/PT, 발생률, placebo, ROR, sub-group n)
3. **Tissue/Cell-type 근거** (GTEx TPM, Tabula Sapiens %expressing, IMPC KO)
4. **Korean RWE** (FAERS ROR/EBGM, KIDS-KD signal, HIRA, KCD code)
5. **Bayesian Posterior + rank**
6. **Grant proposal suggestion** (KDDF / NRF / KSSO IIT + KOGES/NHIS-HEALS PoC)
7. **OpenClaw 호환 layer** ID 명시
8. **의학적 디스클레이머**

## OpenClaw export 스키마

```json
{
  "schema_version": "1.0",
  "tool": "AntiObesityOffTargetMech-Kor",
  "disclaimer": "...",
  "drugs": [{ "drug_id", "drug_name", "selectivity_ki_nm": {GLP-1R/GIPR/GCGR/AMYR/MC4R} }],
  "mechanism_hypotheses": [{ "axis_scores": {...}, "bayesian_posterior_recomputed", ... }],
  "receptor_expression": [...],
  "faers_kor": [...]
}
```

## 제약

- 외부 네트워크/API 호출 없음 (오프라인 우선)
- Python 표준 라이브러리만 사용 (argparse, csv, json, math, os, sys)
- 모든 데이터는 합성 시뮬레이션 — 실제 환자 데이터 미포함
- 의학적 디스클레이머 모든 출력에 포함

## 디스클레이머 (재강조)

**본 도구는 연구용·참고용 mechanism hypothesis 생성기입니다. 차세대 항비만약 처방·승인·임상의사결정에 사용 금지. STEP/SURMOUNT/TRIUMPH trial-level 데이터는 시뮬레이션이며, 실제 임상 결과는 ClinicalTrials.gov 및 sponsor 공식 자료를 참조하십시오.**
