Pharmacokinetics Pharmacodynamics with DeSolve

INSA Lyon - 3BIM EDO Modelling

PK/PD

Pharmacokinetics (PK)
The branch of pharmacology dedicated to determining the fate of substances administered to a living organism
Pharmacodynamics (PD)
The branch of pharmacology dedicated to study of the biochemical and physiologic effects of drugs, and in particular, pharmaceutical drugs.

The objective is to describe the exposure-response relationship.

PK Models

How the body affects the a chemical (xenobiotic) after administration, through absorption, distribution, metabolic changes, and excretion of metabolites. Multi-compartmental models are the most common models.

ADME or (LADME) scheme: Liberation, Absorption, Distribution, Metabolism, Excretion

Assumptions

Monocomparmental Models

Monocompartmental and two compartmental models are the most frequently used.

\[C(t) = C_0 \exp(- k_e t).\]

\(C\) (\(\mu\)g/L) is the drug concentration in plasma, \(C_0\) is the initial concentration. \(C_0\) is related to the dose \(D\) (\(\mu\)g) and the volume of distribution \(V_d\) (L):

\[C_0 = \frac{D}{V_d}.\] \(k_e\) is the drug elimination rate constant.

Nomenclature

Term Description Symbol Equation Example
Dose Amount of drug \(D\) input par 250mg
administered
Volume of Apparent volume \(V_d\) \(D/C_0\) 5.0L
distribution in which the drug
is distributed
Concentration Initial concentration \(C_0\) \(D/V_d\) 0.2mg/L
of the drug
Elimination Rate at which drug \(k_e\) 0.12h\({}^{-1}\)
rate constant is removed from the
body
Area under Integral of \(AUC_{0,t}\) \(\int_0^tC(t)dt\) mg/L h
the curve (AUC) drug concentration
over time
Clearance Volume of plasma \(CL\) \(V_d k_e\) L/h
cleared of the drug
per unit time

Monocomparmental Models - Single Dose

The model can be expressed as an initial value problem: solve

\[C' = - k_e C, \; C(0) = C_0.\]

monocompartment <- function(t, var, pars) {
  with(as.list(c(pars, var)), {
    dC <- - ke * C
    list(dC) }) }
D <- 500 # Dose (in mg)
Vd <- 5.0 # Volume of distribution (in L)
C0 <- c(C = D/Vd) # Initial concentration (in mg/L)
times <- seq(0, 100, 0.1) # (in hours)
pars <- c(ke = 0.04) # elimination rate (in h^-1)
sol <- ode(times = times, y = C0, 
           func = monocompartment, parms = pars)

Monocomparmental Models - Single Dose

plot(sol, ylab="concentration (mg/L)", ylim = c(0,D/Vd))

Monocomparmental Models - Multiple Doses

# 500mg per dose, three times a day 
# (08:00, 12:00, 18:00) for 2 days
dosingSchedule <- data.frame(var = rep(c("C"), 6),
  time = rep(c(8,12,18),2) + rep(c(0,24), each = 3),
  value = rep(c(D/Vd), 6),
  method = rep(c("add"), 6))
C0 <- c(C = 0) # Initial concentration = 0 mg/L
sol <- ode(times = times, y = C0, 
  func = monocompartment, parms = pars, 
  event = list(data = dosingSchedule))

Monocomparmental Models - Multiple Doses

plot(sol, ylab="concentration (mg/L)")
with(dosingSchedule,points(time, 0*time, pch = 19))

Two compartmental Models - Formula

\[C(t) = a \exp(- \alpha t) + b \exp(- \beta t), \; \alpha > \beta.\]

Two compartmental Models - Alpha and Beta phases

pars <- c(a=80.0, b=20.0, alpha=1.2, beta=0.02)
t <- seq(0,40,by=0.1)
with(as.list(pars), 
  plot(t, a*exp(-alpha*t) + b*exp(-beta*t),
    type = 'l', log = 'y', lwd = 2, 
    xlab = 'time (h)', ylab = 'central compartment'))

Two compartmental Models - Alpha and Beta phases

Two compartmental Models - ODE formulation

The pair of ODEs is

\[\begin{align*} C_c' & = -k_{12} C_c + k_{21} C_p - k_{10} C_c \\ C_p' & = k_{12} C_c - k_{21} C_p \\ \end{align*}\]

Parameters \(a,b,\alpha,\beta\) and \(D,k_{12},k_{21},k_{10}\) are related.

Two compartmental Models - ODE formulation

In the two compartment model, the volume of distribution changes as the drug gets distributed into the peripheral compartment. We denote \(V_c,V_p\) the volumes of distribution of the central and peripheral compartments.

twocompartment <- function(t, var, pars) {
  with(as.list(c(pars, var)), {
    dCc <- -k12*Central + k21*r*Peripheral - k10*Central
    dCp <-  k12/r*Central - k21*Peripheral
    list(c(dCc,dCp)) }) }
D <- 500 # Dose (in mg)
Vc <- 5.0 # Volume of distribution in Central (in L)
Vp <- 10.0 # Volume of distribution in Peripheral (in L)
C0 <- c(Central = D/Vc, Peripheral = 0) # Initial concentration (in mg/L)
times <- seq(0, 40, 0.1) # (in hours)
pars <- c(k12 = 1.2, k21 = 1.5, k10 = 0.04, r = Vp/Vc) 
sol <- ode(times = times, y = C0, 
           func = twocompartment, parms = pars)

Two compartmental Models - ODE formulation

plot(sol, which = 'Central',
    type = 'l', log = 'y', lwd = 2, 
    xlab = 'time (h)', ylab = 'central compartment')