Skip to contents

Model and source

  • Citation: Cao Y, Balthasar JP, Jusko WJ. Second-generation minimal physiologically-based pharmacokinetic model for monoclonal antibodies. J Pharmacokinet Pharmacodyn. 2013 Oct;40(5):597-607.
  • Article: https://doi.org/10.1007/s10928-013-9332-2
  • Source data digitised from Subramanian GM et al. Clin Infect Dis. 2005;41(1):12-20 (PMID 15937757).

This is the PAmAb entry from the 12-fit Cao 2013 mAb cohort. The structural model (4-compartment mPBPK: plasma + tight-tissue interstitial fluid + leaky-tissue interstitial fluid + lymph) is shared by all 12 mAbs in the paper; each mAb has its own values of sigma1, sigma2, and CLp (Model A) or CLi (Model B). This file uses Model A (clearance from plasma) per the operator’s choice for the canonical entries.

Population

Cao et al. fit the mPBPK model to PAmAb plasma concentration profiles digitised from Subramanian 2005, fully human monoclonal antibody against Bacillus anthracis protective antigen (phase 1 single-dose study in healthy volunteers). Doses: 1, 3, 10, 20, 40 mg/kg IV. Cao 2013 does not reproduce the underlying Subramanian 2005 demographics; consult the source publication for age, sex, and other baseline characteristics. Cao 2013 used a 70 kg reference body weight when assigning the human physiological constants (V_p = 2.6 L, ISF = 15.6 L, lymph flow = 2.9 L/day).

The packaged metadata (readModelDb("Cao_2013_PAmAb")$population) records this study context.

Source trace

Equation / parameter Value Source location
4-compartment mPBPK ODE system Cao 2013 Eqs 1-4 (page 3, Model A)
Lumped tissue-volume splits (V_tight = 0.65 * ISF * Kp; V_leaky = 0.35 * ISF * Kp) Cao 2013 Eq 6
Lymph-flow splits (L1 = 0.33 * L; L2 = 0.67 * L) Cao 2013 Eq 7
sigma1 (vascular reflection coefficient, tight tissues) 0.950 Cao 2013 Table 2, PAmAb Model A (CV fixed (not estimated))
sigma2 (vascular reflection coefficient, leaky tissues) 0.779 Cao 2013 Table 2, PAmAb Model A (CV 5.24%)
CLp (plasma clearance) 0.00867 L/hr = 0.20808 L/day Cao 2013 Table 2, PAmAb Model A (CV 2.29%)
sigmaL (lymphatic capillary reflection coefficient) 0.2 (fixed) Cao 2013 Methods (assumed)
Kp (available ISF fraction for native IgG1) 0.8 Cao 2013 Methods, refs 22-23
Vplasma for 70 kg adult 2.6 L Cao 2013 Table 2 footnote
ISF total interstitial fluid for 70 kg adult 15.6 L Cao 2013 Methods (refs 24-25)
Total lymph flow for 70 kg adult 2.9 L/day Cao 2013 Methods (refs 24-25)
Vlymph (assumed equal to plasma volume) 2.6 L Cao 2013 Methods, ref 21

Virtual cohort

The packaged model has no IIV and no residual error – it is a typical-value structural mPBPK model fit by Cao 2013 to digitised mean profiles in ADAPT 5. Simulation reproduces the paper’s typical-value fits.

obs_times <- sort(unique(c(seq(0, 1, by = 0.05),
                            seq(1, 14, by = 0.5),
                            seq(14, 100, by = 2))))

make_dose_panel <- function(dose_mg_per_kg, weight_kg = 70, id) {
  amt <- dose_mg_per_kg * weight_kg
  rxode2::et(amt = amt, cmt = "plasma", id = id) |>
    rxode2::et(time = obs_times, id = id)
}

events <- dplyr::bind_rows(
  as.data.frame(make_dose_panel(1,  id = 1L)) |> dplyr::mutate(dose_mg_per_kg = 1),
  as.data.frame(make_dose_panel(10,  id = 2L)) |> dplyr::mutate(dose_mg_per_kg = 10),
  as.data.frame(make_dose_panel(40,  id = 3L)) |> dplyr::mutate(dose_mg_per_kg = 40)
)
stopifnot(!anyDuplicated(unique(events[, c("id", "time", "evid")])))

Simulation

mod <- readModelDb("Cao_2013_PAmAb")
sim <- rxode2::rxSolve(rxode2::rxode2(mod), events = events,
                       keep = "dose_mg_per_kg") |>
  as.data.frame()

Replicate Figure 5 (PAmAb panel)

sim |>
  dplyr::filter(time > 0) |>
  ggplot2::ggplot(ggplot2::aes(time, Cc,
                                colour = factor(dose_mg_per_kg))) +
  ggplot2::geom_line() +
  ggplot2::scale_y_log10() +
  ggplot2::labs(
    x = "Time (day)", y = "Plasma concentration (mg/L)",
    colour = "Dose (mg/kg)",
    title = "Cao 2013 Figure 5 (PAmAb panel) -- typical-value reproduction",
    caption = "Replicates the PAmAb panel of Cao 2013 Figure 5 using the packaged Model A mPBPK fit."
  )

PKNCA validation

Run NCA on the simulated plasma profile to compute Cmax, t_max, AUC_inf, and terminal half-life. The packaged model has no IIV, so a single trajectory per dose group represents the “typical” patient.

sim_nca <- sim |>
  dplyr::filter(!is.na(Cc), Cc > 0) |>
  dplyr::transmute(id = id, time = time, conc = Cc,
                   dose_mg_per_kg = dose_mg_per_kg)

dose_df <- events |>
  dplyr::filter(evid == 1) |>
  dplyr::transmute(id = id, time = time, amt = amt,
                   dose_mg_per_kg = dose_mg_per_kg)

conc_obj <- PKNCA::PKNCAconc(sim_nca, conc ~ time | dose_mg_per_kg + id)
dose_obj <- PKNCA::PKNCAdose(dose_df, amt ~ time | dose_mg_per_kg + id)

intervals <- data.frame(
  start      = 0,
  end        = Inf,
  cmax       = TRUE,
  tmax       = TRUE,
  aucinf.obs = TRUE,
  half.life  = TRUE
)

nca <- PKNCA::pk.nca(PKNCA::PKNCAdata(conc_obj, dose_obj, intervals = intervals))
nca_summary <- summary(nca)
knitr::kable(nca_summary, caption = "Simulated NCA parameters by dose group (Cao 2013 PAmAb Model A typical-value fit).")
Simulated NCA parameters by dose group (Cao 2013 PAmAb Model A typical-value fit).
start end dose_mg_per_kg N cmax tmax half.life aucinf.obs
0 Inf 1 1 26.9 0.000 17.6 336
0 Inf 10 1 269 0.000 17.6 3360
0 Inf 40 1 1080 0.000 17.6 13500

The terminal half-life predicted by the typical-value mPBPK fit corresponds to PAmAb’s reported half-life of approximately 2-3 weeks in the underlying Subramanian 2005 study; Cmax and AUC scale linearly with dose because the model is purely linear (no TMDD, no concentration-dependent clearance).

Assumptions and deviations

  • No IIV, no residual error. Cao 2013 fit the mPBPK model in ADAPT 5 to digitised mean profiles using a typical-value variance model V_i = (intercept + slope * Y_hat)^2 (Eq 9). Cao 2013 does not report the values of intercept and slope. The packaged model is a structural typical-value fit; downstream users wanting between-subject variability must add their own IIV.
  • Compartment names deviate from the nlmixr2lib canonical set (plasma, tight, leaky, lymph instead of central, peripheral1, peripheral2, effect). The deviation is necessary because the four mPBPK compartments are mechanistically distinct (plasma vs. tight-tissue ISF vs. leaky-tissue ISF vs. lymph) and forcing them into the canonical PK-style names would obscure the physiology. checkModelConventions() raises this as four warnings (one per compartment) and no errors.
  • Kp = 0.8 is hard-coded for native IgG1. Siltuximab is a chimeric IgG1; native-IgG1 Kp is appropriate. Cao 2013 also uses Kp = 0.4 for native IgG4 elsewhere in the cohort, but the value is not estimated and is not modified subject-to-subject.
  • 70 kg reference body weight. Cao 2013 used a fixed 70 kg adult plasma volume, ISF volume, and lymph flow (Vplasma = 2.6 L, ISF = 15.6 L, L = 2.9 L/day). For paediatric or markedly under- or over-weight subjects, the user must rescale these constants.
  • Model A (clearance from plasma) used by default. Cao 2013 also reports Model B (clearance from interstitial fluid; CLi = 0.0224 L/hr for PAmAb); Model A is used here for consistency across the 12 nlmixr2lib entries from this paper. Cao 2013 reports a slightly lower objective-function value for Model B in 7 of 10 human mAbs but notes that Model A is more reasonable on the latent constraint sigma1 > sigma2.- Drug-specific note. sigma1 was fixed at 0.950 in Cao 2013 (CV reported as ‘Not applicable’ in Table 2 footnote c).