# DMRepurpRank-Kor (디엠리퍼프랭크코어)

> ⚠️ **의학적 디스클레이머**: 본 도구는 연구용·참고용 hypothesis 생성기입니다.
> 임상의사결정·환자 처방·실제 약물 재포지셔닝 승인 결정에 사용 금지.

비당뇨 약물 → 당뇨(T2DM) 효능 재포지셔닝 후보를 7+ 데이터 source 자동 통합 ranking +
한국어 IIT / KDDF grant proposal card 생성 **standalone Python CLI**.

- **도메인**: DM (당뇨병)
- **카테고리**: 연구 아이디어 생성 (research idea generation / drug repurposing ranker)
- **형식**: Python CLI (`main.py`, argparse)
- **빌드 일자**: 2026-05-15
- **빌드 위치**: `projects/2026-05-15-1-dm-repurp-rank-kor/`

---

## 한 줄 정의

비당뇨 약물 → 당뇨 효능 재포지셔닝 후보를 UK Biobank/KoGES GWAS MR + CMAP/L1000
transcriptomic + FAERS/HIRA/KIDS-KD claims + DrugBank/OpenTargets + IMPC KO + KCD code +
viability 7+ source 자동 통합 ranking + 한국어 IIT/grant proposal card 생성 standalone Python CLI.

---

## 핵심 기능 5종

1. **Multi-source ingest + entity 정규화** — DrugBank, OpenTargets, CMAP/L1000, FAERS, HIRA,
   KoGES/UK Biobank GWAS, IMPC, KCD-7/8 cross-walk. 50개 합성 비당뇨 약물 후보 통합.
2. **Mendelian randomization 자동 계산** — 2-sample Wald ratio + IVW + F-statistic +
   Cochran's Q (numpy/stdlib로 구현, rpy2 미사용).
3. **Transcriptomic signature reversal + target-pathway concordance** — 4-tissue
   (liver/muscle/adipose/pancreas) Spearman ρ + GWAS + KEGG Fisher combined p-value.
4. **RWE disproportionality + KCD signal** — FAERS/HIRA RR / ROR / PRR / EBGM + KCD E11.x
   (한국어: 강한감소 / 감소 / 약한감소 / 중립 / 약한증가 / 증가 / 강한증가).
5. **Composite ranking + 한국어 hypothesis card** — 5축 normalized score × configurable
   weights → composite score, Top N ranking 표, 후보별 IIT/KDDF grant proposal Markdown card.

---

## 실행법

```bash
# 도움말
python3 main.py --help

# Top 10 후보 ranking 표
python3 main.py --top 10

# 가중치 커스텀 (자동 정규화)
python3 main.py --top 10 --weights mr=0.4,cmap=0.2,target=0.2,rwe=0.15,viability=0.05

# 특정 후보 한국어 hypothesis card (KR / EN 이름 / drug_id 모두 가능)
python3 main.py --card 텔미사르탄
python3 main.py --card Fenofibrate
python3 main.py --card DR010

# 닥터앤서 3.0 호환 JSON export
python3 main.py --export-json result.json

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

요구 환경: Python 3.9+, 표준 라이브러리 + (선택) numpy/pandas/scipy.
실제 구현은 stdlib(csv, json, math, statistics)만 사용 — pip 추가 설치 불필요.

---

## 데이터 (합성, 시연용)

| 파일 | 내용 |
| --- | --- |
| `data/drugs.csv` | 50개 비당뇨 약물 (ATC class: 항암·항우울·항생·CV·항염증·항히스타민·항진균 등) |
| `data/gwas_mr.csv` | drug → target_gene SNP IV → β_exposure / β_outcome(T2DM·HbA1c) + F-stat |
| `data/cmap_signatures.csv` | 4-tissue T2DM disease signature reversal correlation |
| `data/faers_rwe.csv` | RR / ROR / PRR / EBGM + KCD E11.x 한국어 signal |
| `data/target_pathway.csv` | t2dm_gwas_overlap_p, kegg_overlap_p, IMPC KO glucose/insulin 표현형 |

---

## 출처 (실제 연구 시 인용해야 하는 reference 데이터셋)

- **DrugBank** — drug target & ATC
- **OpenTargets Platform** — drug-target-disease association
- **UK Biobank GWAS** / **KoGES GWAS** (한국인 cohort) — MR exposure & outcome instruments
- **CMAP / L1000 (Broad Institute)** — drug transcriptomic signature
- **FAERS** (FDA Adverse Event Reporting System)
- **HIRA claims / KIDS-KD** (건강보험심사평가원, 한국의약품안전관리원 의약품안전성정보)
- **IMPC** (International Mouse Phenotyping Consortium) — KO phenotype
- **KCD-7 / KCD-8** — 한국 질병분류코드 (E11.x = T2DM)

---

## 검수 체크리스트 (Agent QA 통과)

- ✅ `python3 -c "import ast; ast.parse(open('main.py').read())"` — 구문 OK
- ✅ `python3 main.py --help` — 동작
- ✅ `python3 main.py --top 10` — Top 10 표 정상 출력
- ✅ `python3 main.py --summary` — 도구 개요 출력
- ✅ `python3 main.py --card 텔미사르탄` — 한국어 card 출력 (KR 이름 인식)
- ✅ `python3 main.py --export-json /tmp/dm_test.json` — JSON export + parse 성공

상세는 `QA.md` 참조.

---

## 닥터앤서 3.0 컨소시엄 연계 메모

- 본 도구는 **순천향대 부천병원 주관 닥터앤서 3.0 (당뇨병 AI Agent)** 연구과제의
  research idea pipeline 산출물 중 하나.
- `--export-json` 출력은 닥터앤서 3.0 호환 envelope (tool, version, build_date, domain,
  category, consortium, sources, candidates) 구조.

---

## 제약 / 한계

- 합성 데이터 기반 시연 — 실제 GWAS / FAERS / HIRA / IMPC API 호출 없음 (오프라인).
- MR 추정은 단일-SNP Wald ratio + 2-outcome (T2DM, HbA1c) IVW로 시연. 실 데이터 적용 시
  multi-SNP IVW + MR-Egger / weighted median / horizontal pleiotropy sensitivity 권장.
- CMAP signature는 4-tissue 평균 correlation으로 단순화. 실 데이터는 connectivity score
  (CMAP CS) 또는 LINCS L1000 disease-drug reversal pipeline (e.g., signatureSearch) 사용.
- RWE disproportionality는 reporting bias가 큰 신호이므로 confirmatory 분석 아님.

---

## ⚠️ 디스클레이머 (재고지)

본 도구는 연구용·참고용 hypothesis 생성기입니다.
임상의사결정·환자 처방·실제 약물 재포지셔닝 승인 결정에 사용 금지.
모든 출력 ranking·hypothesis는 합성 데이터 기반 시연이며 의학적 결정의 근거가 될 수 없음.
