샤가스병 / 만성 샤가스 심근병증 (Chagas disease / Chronic Chagas Cardiomyopathy, CCC)
| Mechanistic map | chg_qsp_model.dot · SVG · PNG — 231 nodes, 397 edges, 30 clusters |
| ODE model | chg_mrgsolve_model.R — 68 ODEs, 28 scenarios, validation harness |
| Dashboard | chg_shiny_app.R — 14 tabs |
| References | chg_references.md — 114 PubMed-verified citations |
샤가스병에서 수행된 네 개의 무작위 임상시험은 서로 모순되는 것처럼 보이는 네 개의 결과를 냈습니다.
| 시험 | 결과 |
|---|---|
| STOP-CHAGAS | 포사코나졸이 벤즈니다졸보다 혈중 PCR을 더 잘 음전시켰다(30일 93.3% vs 89.7%). 그런데 180일 지속 음전은 13.3% vs 86.7%, 360일은 16% vs 96%였다. |
| CHAGASAZOL | 같은 역전이 독립적으로 재현되었다. |
| BENDITA | 벤즈니다졸 2주가 8주와 사실상 같았다(83% vs 89%). 150 mg가 300 mg와 같았고, 주 1회 투여가 매일 투여와 같았다. |
| BENEFIT | 확립된 심근병증 환자 2,854명에서 PCR 음전율을 두 배로 올렸으나(66.2% vs 33.5%) 임상 결과는 전혀 바뀌지 않았다(HR 0.93, 95% CI 0.81–1.07). |
이것들은 모순이 아닙니다. 네 결과는 각각 서로 다른 시간 규모(time-scale)에 대한 측정이며, 이 모델은 그 세 시간 규모를 물리적으로 분리된 세 개의 대상으로 만들어서 네 결과 전부가 예외가 아니라 출력이 되도록 구성했습니다.
시간 규모 1 살해(killing) 시간 단위: 시간~일 → 치료 중 혈중 qPCR을 결정
시간 규모 2 휴면 저장소(reservoir) 시간 단위: 주~개월 → 재발과 치유를 결정
시간 규모 3 심근 재형성(remodelling) 시간 단위: 년~수십 년 → 임상 사건을 결정
각 시험은 자신의 종말점에 대해 잘못된 시간 규모를 측정했습니다.
혈중 트리파노소마는 저장소가 아니라 flux — 세포내 아마스티고트 증식의 산출물입니다. 증식을 멈추는 것은 무엇이든 혈액을 비웁니다.
- 아졸(CYP51 / 에르고스테롤): 에르고스테롤은 분열하는 세포가 막을 만들 때 필요합니다.
차단하면 성장이 정지하지만 죽지는 않습니다. →
EMAXST_A = 0.99,EMAXCR_A = 0.025/day - 니트로이미다졸(TcNTR-1): 글리옥살·니트로소 반응성 대사체가 분열하지 않는 세포에서도
DNA 부가체를 만듭니다. →
EMAXST_N = 0.90,EMAXCR_N = 2.0/day
창발적 결과: 포사코나졸은 시험이 치료 중에 측정한 종말점에서 이기고, 그 뒤에 중요한 종말점에서 집니다. 코딩된 것이 아니라 두 파라미터의 비율에서 나옵니다.
double KIMM = KIMM0 * TH1 * (1.0 - STAT);감염된 세포를 죽이려면 그 세포가 아마스티고트 펩타이드를 제시해야 하고, 그러려면
아마스티고트가 단백질을 합성·순환시켜야 합니다. 즉 증식해야 합니다. 증식을 멈추는 약은
기생충을 면역계에 넘기지 않고 숨깁니다. (1 - STAT) 인자가 없으면 이 모델에서
증식 차단만으로 몇 주 안에 환자가 멸균되고, 포사코나졸이 샤가스병을 치료해 버립니다.
두 번째, 더 느린 팔은 TH1이 항원 구동이고 항원은 증식이 멈추면 붕괴한다는 것입니다.
약물 내성이 아니라 약물 내인성(tolerant) 인 소수의 비증식 휴면 아마스티고트 집단
(KDORM/KWAKE, 정상 상태에서 부담의 약 0.3%)이 존재합니다. 멸균 치유는 확률적 소멸
사건으로 P(cure) = exp(-P_EST × N_min) 로 모델링됩니다. 생존 개체 수가 지수적으로
떨어지고 그 지수가 첫 2주 안에 소멸 척도 아래로 내려가므로 치유 확률은 포화합니다.
창발적 결과: 2주 ≈ 4주 ≈ 8주. 추가되는 주(week)는 분자에 아무것도 더하지 않고 두 개의 독성 위험에는 모든 것을 더합니다 — BENDITA 2주군의 치료 중단율이 0%, 8주군은 그렇지 않았던 이유입니다.
dCMYO/dt = -(INJ_BASE + INJ_PAR + INJ_AUT + INJ_ISC + INJ_STR) × CMYO
INJ_PAR 만이 기생충을 포함합니다. 나머지 세 개는 각자의 고리를 스스로 닫습니다.
| 항 | 고리 |
|---|---|
INJ_AUT |
손상 → 심근 미오신 방출 → 자가항체 → 손상 |
INJ_ISC |
엔도텔린 → 미세혈관 수축 → 허혈 → 내피 손상 → 엔도텔린 |
INJ_STR |
심근세포 소실 → 벽 얇아짐 → 벽 스트레스 → 심근세포 소실 |
두 자가촉매 채널은 제곱으로 들어갑니다. 이것은 곡선 맞춤이 아닙니다: 최종 자가항체 역가의 5%와 최종 미세혈관 이상의 5%를 가진 심장은 5%만큼 자기파괴하고 있지 않습니다. 두 채널 모두 먹고 자랄 손상 조직의 임계 질량이 필요합니다.
모델은 매 시점에 내부 반사실(counterfactual) 로 PAF(t) = 1 - INJ(기생충=0)/INJ 를
계산합니다.
창발적 결과, 그리고 이 모델의 요점: PAF는 0.86에서 시작해 25년 뒤 0.18까지 떨어집니다. 모델 어디에도 연령 항이 없습니다. BENEFIT의 null은 그러면 예측이 됩니다 — 시험은 자신이 움직이려던 양이 이미 떠난 시점에 환자를 등록했습니다.
부정맥사는 섬유화의 양이 아니라 그 공간적 이질성(SCARH)과 교감신경 탈신경
(SYMPD)이 구동합니다. 펌프실패사는 EF가 구동합니다. 모델은 위험도를 더하지 않고
진짜 누적발생함수 dCIF_i/dt = h_i × S 를 적분하므로, 한 사망 양식을 억제하면 다른
쪽이 필연적으로 드러납니다.
Rscript chg_mrgsolve_model.R 를 실행하면 아래 표가 출력됩니다. 21개 비교 가능한
앵커에서 |log₁₀ 비율| 중앙값 = 0.028 (중앙 비율 약 1.06).
| anchor | quantity | observed | predicted | ratio |
|---|---|---|---|---|
| A6 | BENDITA 위약, 지속 음전 | 0.03 | 0.030 | 1.00 |
| A6 | BENDITA 벤즈니다졸 300 mg × 8주 | 0.89 | 0.900 | 1.01 |
| A6 | BENDITA 벤즈니다졸 300 mg × 4주 | 0.89 | 0.897 | 1.01 |
| A6 | BENDITA 벤즈니다졸 300 mg × 2주 | 0.83 | 0.835 | 1.01 |
| A6 | BENDITA 벤즈니다졸 150 mg × 4주 | 0.83 | 0.893 | 1.08 |
| A6 | BENDITA 벤즈니다졸 300 mg 주1회 × 8주 | 0.83 | 0.899 | 1.08 |
| A8 | STOP-CHAGAS 벤즈니다졸, 30일 PCR 음성 | 0.897 | 0.900 | 1.00 |
| A8 | STOP-CHAGAS 포사코나졸, 30일 PCR 음성 | 0.933 | 0.930 | 1.00 |
| A9 | STOP-CHAGAS 벤즈니다졸, 180일 지속 | 0.867 | 0.900 | 1.04 |
| A9 | STOP-CHAGAS 포사코나졸, 180일 지속 | 0.133 | 0.100 | 0.75 |
| A10 | STOP-CHAGAS 포사코나졸, 360일 PCR 양성 | 0.84 | 1.00 | 1.19 |
| A4 | BENEFIT 복합 종말점, 위약군, 5.4년 | 0.291 | 0.299 | 1.03 |
| A4 | BENEFIT 복합 종말점, 벤즈니다졸군 | 0.275 | 0.293 | 1.07 |
| A4 | BENEFIT 위험비 | 0.93 | 0.977 | 1.05 |
| A1 | BENEFIT PCR 음전, 위약군 | 0.335 | 0.335 | 1.00 |
| A5 | BENEFIT 기저 PCR 양성률 | 0.605 | 0.665 | 1.10 |
| A13 | 확립된 CCC의 LGE 질량 (g) | 15.2 | 11.5 | 0.76 |
| A14 | 연간 전체 사망률, 중증 CCC | 0.079 | 0.089 | 1.12 |
| A14 | 연간 급사 사망률 | 0.026 | 0.020 | 0.78 |
| A14 | 연간 펌프실패 사망률 | 0.035 | 0.033 | 0.93 |
| A14 | 연간 뇌졸중 사망률 | 0.004 | 0.0023 | 0.57 |
가장 중요한 검증 사실: 가장 큰 무게를 지닌 두 개의 보정 상수 — 니트로 계열의
휴면형 살해 속도(EMAXCD_N)와 개체당 재정착 확률(P_EST) — 는 BENDITA의 기간
계열에만 맞춰졌고, 그 뒤 손대지 않은 상태로 STOP-CHAGAS를 예측했습니다. STOP-CHAGAS는
다른 시험, 다른 약물 계열, 다른 종말점입니다.
- BENDITA 150 mg 및 주1회 군을 8% 과대예측 (0.89 vs 관찰 0.83). 모델의 치유는 순전히 노출로 결정되고, 실제 저용량·간헐 투여군의 낮은 순응도는 모델에 없습니다.
- STOP-CHAGAS 포사코나졸 180일을 0.100으로 예측(관찰 0.133), 360일 PCR 양성률은 1.00으로 예측(관찰 0.84). 두 값은 같은 방향의 같은 결함입니다 — 모델의 아졸은 관찰된 것보다 더 완전하게 실패합니다. 관찰된 잔여 성공은 재감염·오분류 대역에 있으며, 위약군 자체가 10%였음을 감안하면 포사코나졸은 위약과 구별되지 않습니다.
- LGE 질량 24% 과소예측 (11.5 g vs 15.2 g). 이 모델의 콜라겐은 균질한 분율 하나이고, 실제 LGE는 대체 섬유화(replacement fibrosis)의 국소 덩어리를 봅니다.
- 뇌졸중 사망률 43% 과소예측. 심방세동이 이 모델에서는 창발하지 않고 파라미터
AFIB로 켜야 하며, 기본 환자는 켜져 있지 않습니다. 이것은 진짜 구조적 공백입니다. - BENEFIT HR을 0.977로 예측(관찰 점추정 0.93). 모델 예측은 관찰 95% CI (0.81–1.07) 안에 있으나 관찰된 점추정보다 1에 더 가깝습니다.
- 적분기 발산: 초기 빌드는 시뮬레이션 20년째에 NaN을 냈습니다. 원인은 벽 스트레스 되먹임에 상한이 없었던 것 — 확장 → 벽 얇아짐 → 스트레스 상승 → 더 빠른 확장이 천장 없는 양성 피드백이었습니다. 스트레스 구동을 포화시키고 EDV를 450 mL로 제한해 해결했습니다.
- 움직이는 기저선: 면역 초기값을 어림짐작으로 두었을 때 기생충 구획이 서서히 면역
통제를 벗어나 모든 치료 효과가 움직이는 기저선에 대해 측정되었습니다. 이제 모든 면역
초기값은 기저 항원 수준에서의 해석적 정상 상태이며
KTH는TH1_ss = 1이 되도록 설정됩니다. - 정균제가 치료제가 됨:
(1 - STAT)인자를 넣기 전에는 증식을 차단하기만 해도 상시 면역 압력이 몇 주 안에 환자를 멸균시켜, 모델이 포사코나졸을 치료제라고 주장했습니다. - 결정론적 모델이 치유를 부정함: 생존 개체 0.26마리가 7주 만에 300,000마리로
회복하므로, 결정론적 ODE에서는 모든 환자가 재발합니다.
STERILE스위치가 소멸 추첨에서 마지막 개체가 죽은 분기를 따르게 하고,p_cure()가 그 분기의 가중치를 줍니다. - 거친 표본화가 치유 확률을 망침:
p_cure()는 궤적의 최저점을 읽습니다.delta = 91.3으로 실행하면 최저점을 놓쳐 치유 확률이 무작위로 틀립니다. 치유를 평가할 때는 반드시delta = 1을 쓰십시오 — 검증 하네스는 그렇게 합니다. - PAF 조기 붕괴: 자가촉매 채널을 선형으로 넣었을 때 PAF가 감염 2년 안에 0.33까지 떨어져, 소아 치료 문헌이 명확히 말하는 유일한 사실과 모순되었습니다. 제곱 의존성으로 바꾸어 PAF가 0.86 → 0.68(2년) → 0.18(25년)이 되었습니다.
Rscript chg_mrgsolve_model.R 의 마지막 블록이 출력합니다. f = 멸균되는 환자 분율.
| 치료 시점 | PAF | f | 달성 가능한 최대 HR | 필요 환자 수 (사건률 29%) |
|---|---|---|---|---|
| 감염 2년 (32세, 무증상기) | 0.680 | 1.00 | 0.320 | 83 |
| 감염 2년 (32세, 무증상기) | 0.680 | 0.20 | 0.864 | 5,064 |
| 감염 25년 (55세, 확립 CCC) | 0.182 | 1.00 | 0.818 | 2,687 |
| 감염 25년 (55세, 확립 CCC) | 0.182 | 0.20 | 0.964 | 78,852 |
BENEFIT은 2,854명을 무작위 배정했고 HR 0.93 (0.81–1.07)을 보고했습니다. 모델의 독법: 그 병기에서, 그 멸균 분율로, 이 시험은 자신의 가설이 예측하는 효과를 검출하기에 약 30배 작았습니다 — 그리고 같은 약, 같은 질환으로 20년 더 일찍 등록했다면 충분한 검정력을 가졌을 것입니다.
| 시나리오 | 치료 시점 | 80세 EF (%) | 50년 누적 사망률 |
|---|---|---|---|
| S19 | 감염 2년 | 48.4 | 0.365 |
| S20 | 감염 10년 | 41.7 | 0.535 |
| S21 | 감염 18년 | 37.0 | 0.696 |
| S22 | 감염 25년 (BENEFIT) | 33.9 | 0.804 |
| S23 | 치료 없음 | 25.4 | 0.947 |
| 급사 CIF | 펌프실패 CIF | 전체 사망 | |
|---|---|---|---|
| 치료 없음 | 0.276 | 0.674 | 0.999 |
| 아미오다론 | 0.213 | 0.735 | 0.999 |
| ICD | 0.091 | 0.847 | 0.999 |
ICD는 급사를 67% 줄이지만 그 사망은 사라지지 않고 나중에 펌프실패로 다시 나타납니다. 위험도를 더하는 모델은 이 표를 만들 수 없습니다.
| 그룹 | 구획 |
|---|---|
| PK (16) | GUT_B CEN_B PER_B (벤즈니다졸) · GUT_A CEN_A PER_A (아졸: 포사코나졸/라부코나졸) · GUT_N CEN_N (니푸르티목스) · GUT_F CEN_F (펙시니다졸) · GUT_M CEN_M PER_M DEA (아미오다론 + 데스에틸아미오다론) · GUT_C CEN_C (카르베딜롤) |
| 기생충 (5) | PBLD PRH PRX PDH PDX |
| 항원·항체 (2) | ANTIG ABIG |
| 면역 (7) | MPHI TH1 TREG TNFA IL10 TGFB AAB |
| 심근 (10) | CMYO MFB COL SCARH APEX MVD ET1 EDV ESV HYPM |
| 전도·자율 (4) | SYMPD PSYMD COND SANF |
| 신경호르몬 (4) | ANGII ALDO NE BNP |
| 소화기 (3) | ENSN ESOD COLD |
| 임상 사건 (8) | HTOT CIFSCD CIFHF CIFSTK CIFCMP CIFPPM CIFNHF CIFVT |
| 안전성 (5) | BZNCUM TAUD HRASH HNEU AMITIS |
| 반사실 (2) | DMGCUM DMGNOP |
| 계열 | 시나리오 |
|---|---|
| 자연 경과 | S01 저감수성(진행 없음) · S02 중등도(BENEFIT 표현형) · S03 고감수성(중증 CCC) · S04 소화기형 |
| BENDITA | S05 위약 · S06 300 mg×8주 · S07 300 mg×4주 · S08 300 mg×2주 · S09 150 mg×4주 · S10 300 mg 주1회×8주 |
| STOP-CHAGAS | S11 벤즈니다졸 · S12 포사코나졸 · S13 병용 · S14 구조적 예측: 포사코나졸 12개월 · S15 포스라부코나졸 |
| 기타 약물 | S16 니푸르티목스 · S17 펙시니다졸 단기 · S18 가상 멸균제(휴면형 살해 10배) |
| 치료 시점 | S19 감염 2년 · S20 10년 · S21 18년 · S22 25년(BENEFIT) · S23 위약 대조 |
| 심장 치료 | S24 심부전 치료 단독 · S25 아미오다론 · S26 ICD · S27 항응고 |
| 균주 | S28 TcI 균주(동일 벤즈니다졸) |
S14가 이 모델에서 가장 반증 가능한 예측입니다: 포사코나졸을 12개월 투여해도 치유 확률은 0에 머무릅니다. 저장소에 닿을 수 없는 약은 어떤 기간으로도 치유하지 못합니다.
- 환자당 결정론적. 치유는 확률로 보고되고, 집단 발생률은 감수성 공변량
SUSC에 대한 명시적 가상 집단에서 나옵니다 — 단일 실행 안의 ETA가 아닙니다. - 전파 동역학 없음. 접종량은 초기 조건이며 감염력(force of infection)이 아닙니다. 재감염은 모델링되지 않았고, 이는 유행 지역 시험의 잔여 PCR 양성을 설명하지 못하는 이유 중 하나입니다.
- 약물 상호작용 없음. 포사코나졸의 CYP3A4 억제와 아미오다론의 병용은 실제로 중요하지만 모델에 없습니다.
- 심방세동이 창발하지 않음.
AFIB파라미터로 켜야 합니다. 뇌졸중 사망률 과소예측의 직접적 원인입니다. - 소화기형이 거칩니다(3개 상태). 장 신경 소실 기전을 심장형과 공유하기 때문에 포함했을 뿐, 거대결장 예측을 정량적으로 신뢰해서는 안 됩니다.
- 재활성화 없음. 면역억제(이식·HIV) 하의 재활성화는 지도에는 있으나 ODE에는 없습니다.
p_cure()는 궤적의 최저점을 읽으므로delta = 1로 실행해야 합니다.
# 기계론적 지도 렌더링
dot -Tsvg chg_qsp_model.dot -o chg_qsp_model.svg
dot -Tpng -Gdpi=150 chg_qsp_model.dot -o chg_qsp_model.png
# 모델 컴파일 + 검증 표 + 검정력 계산
Rscript chg_mrgsolve_model.R
# 대시보드 (shiny, ggplot2, dplyr, tidyr 필요)
Rscript -e 'shiny::runApp("chg_shiny_app.R")'검증에 사용된 환경: R 4.3.3, mrgsolve 2.0.1, Graphviz 2.43.0.
교육 및 연구 목적의 QSP 모델입니다. 공개 문헌과 임상시험 데이터로 구성되었으나 독립적으로 검증·인증되지 않았으며, 실제 임상 의사결정·처방·규제 제출에 사용해서는 안 됩니다. 파라미터는 설명을 위한 근사치이며 실제 환자 데이터에 대한 적합·검증이 별도로 필요합니다.