1 Overview
The final covariate model included the following features:
Two compartment disposition parameterized in terms of:
- apparent clearance (CL/F)
- central and peripheral volumes (V2/F + V3/F)
First-order absorption (KA)
First-order elimination
Allometric scaling- clearances and volumes
Covariate effects
- CL/F + V2/F + V3/F \(\sim\) WT (allometric, fixed)
- CL/F \(\sim\) EGFR
- CL/F \(\sim\) AGE
- CL/F \(\sim\) ALB
- CL/F + V2/F + V3/F \(\sim\) WT (allometric, fixed)
Subject-level random effects
- Parameters
- KA
- V2/F
- CL/F
- Log-normal distribution
- Parameters
Proportional residual error
2 Final covariate model
The final model included fixed effects of body weight on all CL/F and V/F terms. Additionally, the effects of age, eGFR and albumin were estimated on drug CL/F.
\[ CL/F_i = e^{(\theta_{3} + \text{WT}_\mathit{CL/F} + \text{EGFR}_\mathit{CL/F} + \text{AGE}_\mathit{CL/F} + \text{ALB}_\mathit{CL/F} + \eta_{3i})} \]
\[ \mathit{V2/F_i}=e^{(\theta_{2} + \text{WT}_{V/F} + \eta_{2i})} \\ \] \[ \mathit{Q/F_i}=e^{(\theta_{5} + \text{WT}_{Q/F})} \] \[ \mathit{V3/F_i}=e^{(\theta_{4} + \text{WT}_{V/F})} \]
\[ \mathit{KA_i}=e^{(\theta_{1} + \eta_{1i})} \\ \]
where
\[ \text{WT}_\mathit{CL/F} = 0.75 \cdot \log\big(\text{WT}_i/70\big) \]
\[ \text{EGFR}_\mathit{CL/F} = \theta_6 \cdot \log\big(\text{EGFR}_i/90\big) \]
\[ \text{AGE}_\mathit{CL/F} = \theta_7 \cdot \log\big(\text{AGE}_i/35\big) \]
\[ \text{ALB}_\mathit{CL/F} = \theta_8 \cdot \log\big(\text{ALB}_i/4.5\big) \]
\[ \text{WT}_\mathit{V/F} = 1.00 \cdot \log\big(\text{WT}_i/70\big) \]
\[ \text{WT}_\mathit{Q/F} = 0.75 \cdot \log\big(\text{WT}_i/70\big) \]
3 Residual error model
\[ Y_\mathit{i,y} = \widehat{Y_\mathit{i,j}} \cdot \big(1+\varepsilon_\mathit{i,j}\big) \]
where
- \(Y_\mathit{i,j}\) is the jth observed concentration in the ith individual
- \(\widehat{Y_\mathit{i,j}}\) is the jth model predicted concentration in the ith individual
- \(\varepsilon_\mathit{i,j}\) are distributed \(N\big(0,\Sigma)\)
4 Parameter estimates
5 Example simulation
library(mrgsolve)
library(dplyr)
library(here)
library(ggplot2)
library(forcats)
library(patchwork)
theme_set(theme_bw())
<- mread(here("script/model/106.mod")) %>% zero_re()
mod
<- as_data_set(
data evd(amt = 25),
evd(amt = 25, ii = 24, addl = 10)
)<- mrgsim(mod, data, output = "df", delta = 0.1, end = 480)
out <- mutate(
out
out,lbl = case_when(
==1 ~ "Single dose",
ID==2 ~ "Multiple dose, q24h x10"
ID
), lbl = forcats::fct_inorder(lbl)
)
<- filter(out, ID==2)
b <- filter(out, ID==1 & TIME <= 96)
a
<- ggplot(a) +
pa geom_line(aes(TIME, Y)) +
facet_wrap(~lbl, scales = "free_x") +
labs(x = "Time (hours)", y = "Concentration (ng/mL)") +
scale_x_continuous(breaks = seq(0,96,8)) +
scale_y_continuous(limits = c(0, 600))
<-
pb ggplot(b) +
geom_line(aes(TIME/24, Y)) +
facet_wrap(~lbl, scales = "free_x") +
labs(x = "Time (days)", y = "") +
scale_x_continuous(breaks = seq(0,20,2)) +
scale_y_continuous(limits = c(0, 600))
6 Model source code
$PROBLEM From bbr: see 106.yaml for details
$INPUT C NUM ID TIME SEQ CMT EVID AMT DV AGE WT HT EGFR ALB BMI SEX AAG
SCR AST ALT CP TAFD TAD LDOS MDV BLQ PHASE
$DATA ../../../data/derived/pk.csv IGNORE=(C='C', BLQ=1)
$SUBROUTINE ADVAN4 TRANS4
$PK
;log transformed PK parms
V2WT = LOG(WT/70)
CLWT = LOG(WT/70)*0.75
CLEGFR = LOG(EGFR/90)*THETA(6)
CLAGE = LOG(AGE/35)*THETA(7)
V3WT = LOG(WT/70)
QWT = LOG(WT/70)*0.75
CLALB = LOG(ALB/4.5)*THETA(8)
KA = EXP(THETA(1)+ETA(1))
V2 = EXP(THETA(2)+V2WT+ETA(2))
CL = EXP(THETA(3)+CLWT+CLEGFR+CLAGE+CLALB+ETA(3))
V3 = EXP(THETA(4)+V3WT)
Q = EXP(THETA(5)+QWT)
S2 = V2/1000 ; dose in mcg, conc in mcg/mL
$ERROR
IPRED = F
Y=IPRED*(1+EPS(1))
$THETA ; log values
(0.5) ; 1 KA (1/hr) - 1.5
(3.5) ; 2 V2 (L) - 60
(1) ; 3 CL (L/hr) - 3.5
(4) ; 4 V3 (L) - 70
(2) ; 5 Q (L/hr) - 4
(1) ; 6 CLEGFR~CL ()
(1) ; 7 AGE~CL ()
(0.5) ; 8 ALB~CL ()
$OMEGA BLOCK(3)
0.2 ;ETA(KA)
0.01 0.2 ;ETA(V2)
0.01 0.01 0.2 ;ETA(CL)
$SIGMA
0.05 ; 1 pro error
$EST MAXEVAL=9999 METHOD=1 INTER SIGL=6 NSIG=3 PRINT=1 RANMETHOD=P MSFO=./106.msf
$COV PRINT=E RANMETHOD=P
$TABLE NUM IPRED NPDE CWRES CL V2 Q V3 KA ETAS(1:LAST) NOPRINT ONEHEADER RANMETHOD=P FILE=106.tab
[ prob ]
106-104 + COV-effects(CRCL, AGE) on CL
>= 1.0.3
This model requires mrgsolve
[ plugin ] autodec nm-vars
[ pkmodel ] cmt = "GUT,CENT,PERIPH", depot = TRUE
[ param ]
= 70
WT = 90
EGFR = 4.5
ALB = 35
AGE
[ nmxml ]
= "../../model/pk/106/106.xml"
path = "cppfile"
root
[ pk ]
= LOG(WT/70.0);
V2WT = LOG(WT/70.0)*0.75;
CLWT = LOG(EGFR/90.0)*THETA(6);
CLEGFR = LOG(AGE/35.0)*THETA(7);
CLAGE = LOG(WT/70.0);
V3WT = LOG(WT/70.0)*0.75;
QWT = LOG(ALB/4.5)*THETA(8);
CLALB
= EXP(THETA(1) + ETA(1));
KA = EXP(THETA(2) + V2WT + ETA(2));
V2 = EXP(THETA(3) + CLWT + CLEGFR + CLAGE + CLALB + ETA(3));
CL = EXP(THETA(4) + V3WT);
V3 = EXP(THETA(5) + QWT);
Q
= V2/1000.0; //; dose in mcg, conc in mcg/mL
S2
[ error ]
= CENT/S2;
IPRED = IPRED * (1+EPS(1));
Y
[ capture ] CL V2 IPRED Y