The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Absorption models

Absorption with lag time

Specify the lagtime when you create the model using new_ode_model. The lag time can either be a number, or a string referring to a parameter (e.g. “ALAG”). If a single number or parameter is specified, the lag time will apply to the default dose compartment only. Alternatively, it is also possible to specify a vector of lag times, with a value for each compartment.

library("PKPDsim")

pk <- new_ode_model(
  code = " dAdt[1] = -KA * A[1]; dAdt[2] = KA*A[1] -(CL/V) * A[2] ",
  obs = list(cmt = 2, scale="V"),
  dose = list(cmt = 1),
  lagtime = "ALAG"
)

r <- new_regimen(
  amt = c(100, 100, 100),
  times = c(0, 12, 24),
  cmt = 1
)
p <- list(CL = 5, V  = 10, KA = 0.25, ALAG = 2)

res <- sim(
  ode = pk,
  n_ind = 25,
  omega = cv_to_omega(
    par_cv = list("CL" = 0.1, "V" = 0.1, "KA" = .1, "ALAG" = 0.3),
    p
  ),
  parameters = p,
  regimen = r,
  verbose = FALSE,
  only_obs = TRUE
)

Absorption transit compartments

The code below implements the transit compartment model for absorption compartments as described by Savic et al. JPKPD 2007. Please note that this implementation assumes that all drug amount has been absorbed within the dosing interval. Such an assumption might not always hold. Also, for this implementation of dosing, it is essential to set the bioavailability for the dose compartment to 0, since dosing is now implemented using a separate analytical equation.

Note: a simplified way of coding the transit compartments model will be added soon to PKPDsim.

library(PKPDsim)

parameters <- list(CL = 15, V = 50, MTT = 2.5, N = 4, KA = 1)
reg1 <- new_regimen(amt = 100, n = 3, interval = 12) # needs dummy doses

mod <- new_ode_model(
  code = "
  tad = t - t_prv_dose
  KTR = (N+1)/MTT
  LNFAC= log(2.506628)+(N+0.5)*log(N)-N
  dAdt[1] = exp(log(prv_dose) + log(KTR) + N*log(KTR * tad) - KTR * tad - LNFAC) - KA*A[1]
  dAdt[2] = KA*A[1]-CL/V*A[2]
",
  declare_variables = c("LNFAC", "KTR", "tad"),
  parameters = parameters,
  dose = list(cmt = 1, bioav = 0),
  obs = list(cmt = 2, scale = "V")
)

res <- sim(
  ode = mod,
  regimen = reg1,
  parameters = parameters,
  n = 5,
  omega = cv_to_omega(
    list(CL = 0.1, V = 0.1, MTT = 0.2, N =0.1, KA=0.1),
    parameters
  ),
  t_obs = seq(0, 36, .5)
)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.