Skip to content

Latest commit

 

History

History

anthracycline-cardiotoxicity

README.md

안트라사이클린 심장독성 (Anthracycline-Induced Cardiotoxicity, AIC) — QSP 모델

한 줄 요약: 누적용량 mg/m² 은 노출 지표가 아니다. 심근 안에는 첨두농도를 읽는 축(Top2b–DNA 절단)과 AUC를 읽는 축(철·ROS)이 따로 있고, 그 결과로 생기는 결손도 되돌릴 수 있는 것(기능 결손)과 되돌릴 수 없는 것(근세포 소실)으로 나뉜다. LVEF는 보상성 심근비대에 가려 늦게 움직이고, 되돌릴 수 있는 몫은 섬유화가 자라는 동안에만 회수할 수 있다.

파일 내용
aic_qsp_model.dot · .svg · .png 기계론적 지도 — 18 클러스터 · 174 노드 · 241 엣지
aic_mrgsolve_model.R mrgsolve QSP 모델 — 32 ODE · 14 시나리오 · 11 분석함수
aic_shiny_app.R Shiny 대시보드 — 8 탭
aic_references.md 참고문헌 62편 (PMID 실측 검증)
aic_reference_check.py 독립 numpy/RK4 전사 + 가상집단 — 아래 모든 수치의 출처
aic_reference_check_output.txt 위 스크립트의 실행 출력 전문 (A0–A11)

0. 이 모델이 설명하려는 네 가지 (What needs explaining)

안트라사이클린 심장독성은 보통 하나의 숫자로 서술된다: 누적용량 mg/m², 그리고 450–550 근처의 역치. 그 서술은 심장종양학 진료에서 실제로 마주치는 네 가지를 설명하지 못한다.

  1. LVEF는 몇 달간 평평했다가 빠르게 떨어진다. 그래서 용량-발생률 곡선이 역치처럼 보이지만, 450 mg/m²에서 켜지는 생물학적 스위치는 없다.
  2. 480 mg/m²를 72시간에 걸쳐 주거나 리포조말로 주면 훨씬 덜 독성이다. 누적용량도, 항종양 AUC도 같다.
  3. 트로포닌과 GLS(전반적 종축 변형률)는 LVEF보다 몇 달 먼저 움직인다.
  4. 같은 심부전 약이 검출 2개월 내에 시작하면 상당수를 회복시키고, 6개월 뒤에 시작하면 거의 아무도 회복시키지 못한다.

1. 모델의 두 가지 구조적 주장 (Two structural claims)

주장 1 — 두 손상축은 서로 다른 노출 지표를 읽는다

심근 내 약물을 하나의 구획이 아니라 둘로 나눈다.

풀 반감기 무엇을 읽는가 무엇을 구동하는가
CHF 빠른 핵/유리 풀 0.03 d 혈장 첨두 Top2b–DNA 이중가닥절단 (준포화 Hill, n=2 → 거의 제곱 의존)
CH 느린 잔류 결합 풀 9 d 혈장 AUC 철·ROS 산화 손상
CHM 심근 독소루비시놀 28 d 혈장 AUC (사이클마다 축적) 철·ROS + 칼슘 교란

∫C²dt 는 첨두가 지배하므로, 같은 AUC를 느리게 주면 앞의 축은 거의 켜지지 않는다. 스케줄과 제형이 통하는 이유가 여기에 있다.

핵 손상축은 일시적이지 않다. DSB는 반감기 28일의 유전독성 스트레스 기억 P53 을 만들어 사이클을 넘어 누적되고, 사멸률에 (1 + 1.2·P53) 으로 곱해서 들어간다. 두 축이 곱으로 결합하므로 한쪽만 제거해도 이득이 그 지분보다 크다.

주장 2 — 두 결손, 그리고 그것을 가리는 가면

CONT = MYO · (1 − FUNC) · (1 + HYP) / (1 + 1.2·FIB)
LVEF = 62 · CONT^0.9
  • MYO 비가역 근세포 풀. 성체 심근세포 갱신율은 연 0.5–1%이므로 KREG = 2×10⁻⁵/day — 죽은 것은 돌아오지 않는다.
  • FUNC 가역적 근세포당 수축 실패 (SERCA2a 하향, RyR2 누출, 근섬유 배열 이상). 회복 반감기 58일.
  • (1 + HYP) 이 가면이다. 잔존 근세포가 HYP_target = min(0.32, 1.6 × 결손) 까지 비대해지므로, 결손이 약 20% 미만인 동안에는 보상이 손실을 거의 상쇄하고 LVEF는 움직이지 않는다. 보상이 포화되면 LVEF가 급격히 떨어진다. 외견상의 누적용량 역치는 약물의 성질이 아니라 이 예비력의 소진이다.
  • GLS 에는 보상항이 없고(GLS = 20.5·(1 − 0.9·FUNC − 1.6·근세포소실 − 0.35·FIB)), 트로포닌은 누적 손상이 아니라 사멸률(rate) 에 비례한다. 그래서 둘이 먼저 움직인다.
  • 마지막으로 섬유화가 문을 닫는다: FIB 가 기능 회복 속도를 KFOUT/(1 + 3·FIB) 로 늦춘다. 이 한 항이 가역성 창이다.

두 주장을 합치면 치료 레버는 서로 교환 가능하지 않다. 상류 레버(덱스라족산, 지속주입, 리포조말, 스타틴)는 약물이 몸에 있는 동안, 자기가 닿는 축에만 작동한다. 하류 레버(ACEi/ARB, 베타차단제, ARNI)는 그 뒤에도 작동하지만 가역 결손과 섬유화 잠금에만 작동한다. 잃은 근세포에는 아무 레버도 없다.


2. 계산된 결과 (Computed results)

아래는 전부 이 방정식들의 출력이며 문헌 값이 아니다. aic_reference_check.py (독립 numpy/RK4 전사, 가상집단 500–800명)로 생성했다. 기준 환자 = 55세, BSA 1.8 m², 기저 LVEF 62%, 독소루비신 60 mg/m² q3w. CTRCD = LVEF 10점 이상 하락 & <50% (ASE/ESC 정의).

결과 1 — 용량-발생률 곡선은 역치가 아니라 창발이다

누적용량 (mg/m²) 주기 CTRCD LVEF<40% 12개월 LVEF 하락 평균 최저 LVEF
120 2 5.4% 0.2% 2.24 58.2
240 4 15.1% 0.6% 4.94 55.2
300 5 20.9% 1.1% 6.03 54.1
360 6 26.0% 2.8% 7.04 53.1
420 7 31.2% 4.2% 8.06 52.0
480 8 37.0% 7.0% 9.13 50.9
600 10 48.2% 14.9% 11.52 48.7

모델 안에서 450 mg/m²에 바뀌는 것은 아무것도 없다. 곡선이 가팔라지는 것은 사멸항의 Hill(ROS; n=3) 과 예비력 소진 때문이다. (문헌 anchor — Von Hoff 1979: 300 mg/m² ~2%, 400 ~3–5%, 550 ~7–18%.)

결과 2 — 누적용량은 노출 지표가 아니다

480 mg/m² 고정, 스케줄·제형만 변경 (기준 환자):

스케줄 첨두 핵 풀 CHF 잔류 풀 AUC 첨두 p53 24개월 근세포 12개월 LVEF CTRCD (집단)
IV push q3w 10.19 26.2 0.883 0.927 55.1 37.0%
주간 20 mg/m² ×24 3.40 26.2 0.302 0.962 58.3 20.1%
72시간 지속주입 0.60 26.7 0.105 0.972 59.4 14.2%
리포조말 (PLD) 0.09 13.3 0.004 0.998 62.2 2.5%
push + 덱스라족산 10.19 26.2 0.244 0.968 58.9 16.2%

잔류 풀 AUC는 26.2 vs 26.7 vs 26.2 로 사실상 같은데 첨두 핵 노출은 17배, p53 기억은 8배 차이가 난다. 즉 480 mg/m²를 72시간 주입으로 주면 240 mg/m²를 push로 주는 것보다 덜 독성이다 (CTRCD 14.2% vs 15.1%). PLD는 유리약물 방출 분율 때문에 잔류 AUC까지 낮아지므로 두 축이 함께 줄어든다.

결과 3 — 무엇이 먼저 움직이는가 (480 mg/m², n=600)

지표 도달 환자 중앙 도달일
hs-cTnI > 14 ng/L 100% 24일
GLS 상대 15% 이상 감소 88.0% 112일
CTRCD (LVEF 기준) 36.7% 165일
  • GLS → CTRCD 중앙 선행시간 79일
  • cTnI → CTRCD 중앙 선행시간 146일
  • 항암 중 cTnI가 40 ng/L를 넘은 환자의 CTRCD 51.5% vs 넘지 않은 환자 17.3% → 음성예측도 82.7%. 트로포닌 유도 전략의 값은 양성 예측이 아니라 음성일 때 안심할 수 있다는 점에 있다.

결과 4 — 덱스라족산의 기전과 용량 절감 등가

Top2b를 약물유도 프로테아좀 분해(25/day) + 2일 반감기 재합성을 갖는 단백 상태변수로 두면, 덱스라족산 10:1은

  • p53 기억 0.883 → 0.244 (−72%)
  • CTRCD 37.0% → 16.2% (RR 0.44), LVEF<40% 7.0% → 0.4% (RR 0.06)
  • 등가 심장독성 용량: 540 mg/m² (보호 없는 240 mg/m²의 2.2배)

ADR-925 철 킬레이션 항의 기여는 작다 — 노출이 몇 시간인데 잔류 풀의 공격은 몇 주간 이어지기 때문이다. 이는 Top2 비활성 유사체(ICRF-161)의 보호효과가 약하다는 전임상 관찰과 같은 방향이다.

결과 5 — 가역성 창은 섬유화 시계다

480 mg/m² 후 CTRCD가 발생한 환자에서 에날라프릴 + 카르베딜롤 개시 시점만 변경:

개시일 개시 시 LVEF 12개월 후 LVEF 회복 비율 개시 시 FIB
60 57.73 49.33 55.9% 0.024
90 55.01 48.92 53.8% 0.066
120 51.61 48.53 49.0% 0.126
180 44.55 47.84 43.4% 0.266
270 42.71 47.46 41.3% 0.379
365 43.10 47.21 38.5% 0.403
540 43.40 46.83 30.8% 0.406

회복 비율은 시간 자체가 아니라 그 시점의 섬유화 수준을 따라간다. 방향은 Cardinale 2010(2개월 내 64% → 6개월 이후 ~0%)과 일치하지만 기울기는 문헌보다 완만하다 — 모델의 한계로 기록해 둔다.

결과 6 — 상류 보호와 하류 보호는 교환 가능하지 않다

480 mg/m², 같은 약, 시작 시점만 다르게 (n=600):

전략 CTRCD 12개월 LVEF 24개월 LVEF
보호 없음 36.7% 52.70 51.31
스타틴, 항암 중 (day 0) 17.5% 56.77 54.58
스타틴, 항암 후 (day 170) 35.5% 53.01 51.54
ACEi+BB, 항암 중 10.2% 57.08 55.96
ACEi+BB, 항암 후 20.7% 55.98 55.02
ARNI, 항암 후 19.5% 57.20 56.42
SGLT2i, 항암 중 28.0% 54.58 52.68

스타틴은 지연되면 이득의 거의 전부를 잃는다 (RR 0.48 → 0.97). 표적이 약물 구동 ROS 생성이므로 약물이 사라지면 표적도 사라진다. ACEi+BB는 지연되어도 절반을 유지한다 (RR 0.28 → 0.56). 표적인 가역 결손과 섬유화 잠금은 항암 종료 후에도 남아 있기 때문이다. 항암 후 ARNI 개시는 24개월 LVEF 기준으로 가장 좋다. 같은 "심장보호제"라는 이름이 붙어 있어도, 언제 주는지가 무엇을 주는지만큼 중요하다.

결과 7 — 트라스투주맙 상호작용은 '순차'에서 가산적, '동시'에서만 초가산적

전략 CTRCD LVEF<40% 최대 LVEF 하락 24개월까지 회복 24개월 근세포
240 mg/m² 단독 14.3% 0.8% 6.08 −0.90 0.961
트라스투주맙 단독 4.3% 0.2% 3.68 +0.66 0.992
순차 (day 84부터 1년) 28.0% 6.2% 9.46 +2.48 0.951
동시 (day 0부터 1년) 54.5% 23.3% 15.25 +4.25 0.898

가산 예측치 = 6.08 + 3.68 = 9.76점.

  • 순차: 관측 9.46점 → 가산적 (초과 −0.30). 상호작용이 없다.
  • 동시: 관측 15.25점 → 초가산적 (초과 +5.49점).

상호작용은 약물 조합에 있는 것이 아니라 노출의 시간적 중첩에 있다. ErbB2 차단이 DSB 복구를 ÷(1+0.9·ETR) 로 늦추고 사멸률을 ×(1+0.65·ETR) 로 올리는데, 그것이 핵 손상이 도착하는 바로 그 시점에 일어나야 의미가 있기 때문이다. 순차 투여가 표준이고 동시 투여를 피하는 임상 관행이 이 구조에서 나온다.

"24개월까지 회복" 열은 전통적 Type I/II 이분법을 대체한다. 안트라사이클린 단독 손상은 회복되지 않고(−0.90), 트라스투주맙 지분이 큰 손상은 세척 후 회복된다 (+0.66 ~ +4.25). 가역성은 두 개의 질환이 아니라 두 결손의 비율이다.

결과 8 — LVEF 결손을 성분으로 분해하기 (480 mg/m², 기준 환자)

일 LVEF 근세포 FUNC FIB HYP 가면의 크기 아직 되찾을 수 있는 몫
60 60.37 0.991 0.039 0.009 0.031 +1.64 +2.23
120 58.46 0.966 0.077 0.045 0.108 +5.17 +4.40
170 56.56 0.942 0.099 0.092 0.181 +7.85 +5.56
240 56.39 0.936 0.077 0.144 0.221 +9.29 +4.23
365 55.15 0.934 0.032 0.173 0.173 +7.37 +1.65
730 52.84 0.927 0.002 0.198 0.119 +5.09 +0.10

("가면의 크기" = 실제 LVEF − 보상성 비대를 제거했을 때의 LVEF. "되찾을 수 있는 몫" = FUNC를 0으로 되돌렸을 때의 LVEF − 실제 LVEF.)

  • 가면은 항암 종료 시점(day 170)에 7.85 LVEF 점의 가치가 있다. 보상성 비대가 없다면 이 환자의 LVEF는 56.6이 아니라 48.7 이다.
  • 되찾을 수 있는 몫은 시간이 지나며 사라진다: day 170에 5.56점 → day 365에 1.65점 → day 730에 0.10점. 결과 5의 가역성 창을 성분 수준에서 본 모습이다.
  • LVEF가 5점 떨어진 시점은 day 157이며, 그때 이미 근세포의 5.2% 가 사라졌고 |GLS|는 19.7% 감소해 있다. 이것이 "LVEF는 후행지표"라는 말의 정량적 형태다.

결과 9 — 대사형(CBR1/AKR1C3)은 곡선 전체를 옮긴다

FM (독소루비시놀 생성분율) 첨두 심근 대사체 첨두 ROS 12개월 LVEF (기준환자) CTRCD (집단)
0.12 0.260 0.859 57.94 22.6%
0.18 0.389 1.007 56.56 28.8%
0.25 (기준) 0.541 1.182 55.15 36.8%
0.34 0.736 1.415 53.69 45.4%
0.45 0.974 1.709 52.03 60.0%

생성분율 0.12 → 0.45 는 CTRCD를 22.6% → 60.0% 로 옮긴다. 대사체가 반감기 28일로 축적하는 풀이기 때문에, 생성분율의 작은 차이가 사이클을 거치며 증폭된다. 같은 처방·같은 누적용량에서 환자 간 결과가 갈리는 축이 여기에 있다.

결과 10 — 표현형이 용량을 압도한다 (고위험: 70세 이상 + 고혈압 + 흉부 방사선 병력)

위험군 요법 CTRCD LVEF<40% 12개월 LVEF
표준 240 mg/m² 16.0% 0.3% 57.00
표준 480 mg/m² 38.7% 6.0% 52.86
표준 240 mg/m² + 덱스라족산 7.9% 0.1% 59.20
고위험 240 mg/m² 69.1% 23.6% 46.42
고위험 480 mg/m² 90.3% 60.0% 39.17
고위험 240 mg/m² + 덱스라족산 53.6% 14.6% 49.42

고위험 환자의 240 mg/m² (69.1%)가 표준위험 환자의 480 mg/m² (38.7%)보다 훨씬 나쁘다. 즉 누적용량 상한을 지키는 것보다 표현형을 아는 것이 크다. 게다가 고위험군에서 덱스라족산을 더해도(53.6%) 표준위험군의 무보호 480 mg/m²(38.7%) 수준에 이르지 못한다 — 보호제는 위험을 줄이지만 표현형을 바꾸지는 못한다. 모델에서 고위험 표현형은 별도의 "위험점수"가 아니라 사멸 감수성 1.9배, 기능손상 감수성 1.5배, 섬유화 성향 1.6배, 재생능 0.4배, 기저 LVEF −4점의 조합이다.


3. 파라미터 보정 anchor (Calibration anchors)

문헌 목표값 모델 값
Von Hoff 1979 임상 심부전 300 mg/m² ~2%, 400 ~3–5%, 550 ~7–18% 300 → 1.1%, 420 → 4.2%, 480 → 7.0%, 600 → 14.9%
Cardinale 2015 CTRCD 9%, 98%가 1년 내, 중앙 3.5개월 240 mg/m²에서 15.1%, 중앙 165일
Cochrane (덱스라족산) 심부전 RR 0.29 심부전 RR 0.06 · CTRCD RR 0.44
Cochrane (지속주입) 심부전 RR 0.27 심부전 RR 0.03 · CTRCD RR 0.39
Cochrane (리포조말) 심부전 RR 0.20 CTRCD RR 0.07 — 모델이 낙관적
STOP-CA 2023 아토르바스타틴 ≥10% 감소 9% vs 22% CTRCD RR 0.51
Cardinale 2010 2개월 내 치료 회복 64%, 6개월 후 ~0% 55.9% → 30.8% (방향 일치, 기울기 완만)
PK AUC 2.0 µg·h/mL @ 60 mg/m², 종말 t½ 20–48 h 1.99 µg·h/mL, 설계상 일치

4. 모델 구조 요약 (Model structure)

32 ODE = PK/노출 13 + 질병·심장·종점 19. 시간단위 = 일(day).

블록 상태변수
독소루비신 PK A1 A2 A3 ALIP(리포조말 담체)
대사체 AM AMP (독소루비시놀)
심근 노출 CHF(첨두) CH(AUC) CHM(대사체 축적)
보호제·항체 PK ADEX T2B(Top2b 단백) TR1 TR2
경구 심장보호제 EACE EBB ESTA EARNI ESGLT
핵 손상축 DSB P53
산화환원축 ROS MITOD LIP
두 결손 MYO(비가역) FUNC(가역)
재형성 FIB HYP(가면) NH
바이오마커·적분 TNI BNP AUCH CUMKILL

14 시나리오: 240/360/480 mg/m² · 72시간 지속주입 · 주간분할 · 리포조말 · 덱스라족산 · 스타틴(조기/지연) · ACEi+BB · 전체 병용 · 트라스투주맙(순차/동시/단독).

8 탭 Shiny 앱: 환자 프로파일 · PK와 심근 노출 · 손상 축 · 두 결손과 가면 · 임상 엔드포인트 · 시나리오 비교 · 바이오마커 · 가역성 창.

실행 (Usage)

library(mrgsolve)
mod <- mread("aic", "aic_mrgsolve_model.R")
out <- sim_scenario(mod, "DOX480")        # 시나리오 하나
cmp <- compare_schedules(mod)             # 결과 2
win <- reversibility_window(mod)          # 결과 5
shiny::runApp("aic_shiny_app.R")          # 대시보드
python3 aic_reference_check.py            # 위 모든 수치 재생성 (약 15분)
python3 aic_reference_check.py --quick    # 기준 환자 시나리오만

5. 이 모델이 문헌보다 낙관적인 부분 (Where the model overstates benefit)

정직한 기록. 두 항목은 상한(upper bound) 으로 취급해야 한다.

  • 리포조말 독소루비신: 모델 CTRCD RR ≈ 0.07 vs Cochrane 임상 심부전 RR 0.20. 유리약물 첨두가 핵 손상축의 지배적 구동변수이므로 캡슐화의 이득이 과대평가된다.
  • 보호제 병용(덱스라족산 + 스타틴 + ACEi/BB): 모델은 480 mg/m²에서 CTRCD를 0.0% (800명 중 0명)까지 낮추고 12개월 LVEF 하락을 0.42점으로 만든다. 이 조합을 검증한 무작위 시험은 없으므로 예측이 아니라 상한으로 읽어야 한다.

또한 가역성 창의 기울기가 문헌보다 완만하고(결과 5), 트로포닌 상승이 거의 모든 환자에서 나타나 특이도가 임상보다 낮다.


⚠️ 면책 조항

교육·연구 목적의 정성적·반정량적 QSP 모델입니다. 공개 문헌과 임상시험 데이터로 구성했으나 독립적으로 검증·인증되지 않았으며, 실제 임상 의사결정, 처방, 규제 제출에 직접 사용해서는 안 됩니다. 파라미터는 설명을 위한 근사치이며, 실제 환자 데이터에 대한 적합·검증이 별도로 필요합니다.