Exercise PK21 - Nonlinear Kinetics - Heteroinduction

2021-09-05

Background

  • Structural model - One compartment Oral administration consists of time dependent change in the elimination rate constant.

  • Route of administration - Oral

  • Dosage Regimen - Nortriptyline (NT) 10 mg (or 10000 μg) Oral, three times daily for 29 days (i.e. 696 hours), after 216 hours treatment with an enzyme inducer i.e. Pentobarbital (PB) for a period of 300 hours i.e up till 516 hours of treatment with NT.

  • Number of Subjects - 1

pk21

Learning Outcome

We will learn how to simulate from a heteroinduction model after repeated oral dose data on treatment with an enzyme inducer for a limited duration.

Objectives

In this exercise you will learn how to simulate from an Oral One Compartment model with enzyme induction where clearance is time dependent.

Certain assumptions to be considered:

  • The fractional turnover rate i.e. $Kout$ of the enzyme has a longer half-life than the drug or the inducer

  • The duration from one level of enzyme activity to other will be influenced by $Kout$ of the enzyme

  • The $Kout$ is not regulated by the Pentobarbital. The interpretation $V$ includes bioavailability (i.e., it is really $V/F$).

Libraries

Call the "necessary" libraries to get start.

using Random
using Pumas
using PumasUtilities
using CairoMakie

Model

In this one compartment model, we administer dose in Depot compartment at 'time= 0' that is given every '8 hours' for '87 additional doses'. A second drug which is an enzyme inducer (Pentobarbital) is added at 216 hrs for 300 hrs up to 516 hours of treatment with Nortriptyline.

Note:- We do not have concentrations of Pentobarbital and hence it is not included in the model.

pk_21        = @model begin
  @metadata begin
    desc     = "Heteroinduction Model"
    timeu    = u"hr"
  end

  @param begin
    "Absorption Rate Constant (1/hr)"
    tvka      RealDomain(lower=0)
    "Intrinsic Clearance post-treatment (L/hr)"
    tvclss    RealDomain(lower=0)
    "Lag-time (hrs)"
    tvlag     RealDomain(lower=0)
    "Intrinsic Clearance pre-treatment (L/hr)"
    tvclpre   RealDomain(lower=0)
    "Fractional turnover rate (1/hr)"
    tvkout    RealDomain(lower=0)
    "Volume of distribution (L)"
    tvv       RealDomain(lower=0)
    Ω         PDiagDomain(3)
    "Proportional RUV"
    σ²_prop   RealDomain(lower=0)
  end

  @random begin
    η        ~ MvNormal(Ω)
  end

  @covariates TBP TBP2

  @pre begin
    Ka       = tvka * exp(η[1])
    Clpre    = tvclpre * exp(η[3]) 
    Clss     = tvclss * exp(η[2])   
    Vc       = tvv
    Kout     = tvkout
    Kpre     = Clpre/Vc
    Kss      = Clss/Vc
    Kperi    = Kss-(Kss-Kpre)*exp(-Kout*(t-TBP))
    A        = Kss - (Kss-Kpre)*exp(-Kout*(TBP2-TBP))
    Kpost    = Kpre - (Kpre-A)*exp(-Kout*(t-TBP2))
    K10      = (t<TBP) * Kpre + (t>=TBP && t<TBP2) * Kperi + (t>=TBP2) * Kpost
  end

  @dosecontrol begin
    lags     = (Depot=tvlag,)
  end

  @dynamics begin
    Depot'   = -Ka*Depot
    Central' =  Ka*Depot - K10*Central
  end

  @derived begin
    cp       = @. (1000/263.384)*Central/Vc
    """
    Observed Concentration (nM)
    """
    dv       ~ @. Normal(cp, sqrt(cp^2*σ²_prop))
  end
end
PumasModel
  Parameters: tvka, tvclss, tvlag, tvclpre, tvkout, tvv, Ω, σ²_prop
  Random effects: η
  Covariates: TBP, TBP2
  Dynamical variables: Depot, Central
  Derived: cp, dv
  Observed: cp, dv

Parameters

The parameters are as given below. tv represents the typical value for parameters.

  • Ka - Absorption Rate Constant (1/hr)

  • CLss - Intrinsic Clearance post-treatment (L/hr),

  • tlag - Lag-time (hrs),

  • CLpre - Intrinsic Clearance pre-treatment (L/hr),

  • Kout - Fractional turnover rate (1/hr),

  • V - Volume of distribution (L),

  • Ω - Between Subject Variability,

  • σ - Residual error.

param = ( tvka    = 1.8406,
          tvclss  = 114.344,
          tvlag   = 0.814121,
          tvclpre = 46.296,
          tvkout  = 0.00547243,
          tvv     = 1679.4,
          Ω       = Diagonal([0.0,0.0,0.0]),
          σ²_prop = 0.015)
(tvka = 1.8406, tvclss = 114.344, tvlag = 0.814121, tvclpre = 46.296, tvkou
t = 0.00547243, tvv = 1679.4, Ω = [0.0 0.0 0.0; 0.0 0.0 0.0; 0.0 0.0 0.0], 
σ²_prop = 0.015)

Dosage Regimen

In this section the Dosage regimen is mentioned for:

  • Oral dosing of 10 mg or 10000 μg at time=0 that is given every 8 hours for 87 additional doses for a single subject.

ev1  = DosageRegimen(10000, cmt = 1, time = 0, ii = 8, addl = 87)
sub1 = Subject(id = 1, events = ev1, covariates =(TBP = 216, TBP2 = 516),
              observations = (cp = nothing,))
Subject
  ID: 1
  Events: 88
  Observations: cp: (nothing)
  Covariates: TBP, TBP2

Simulation

Let's simulate for plasma concentration with the specific observation time points after Oral administration of NT before, during and after treatment with PB.

Random.seed!(123)
sim_sub1 = simobs(pk_21, sub1, param, obstimes = 0:1:800)

Visualization

f, a, p = sim_plot(pk_21, [sim_sub1], 
        observations = :cp, 
        color = :redsblues,
        linewidth = 4,
        axis = (xlabel = "Time (hr)", 
                ylabel = "PK21 Concentrations (nM)",
                xticks = 0:100:800))
axislegend(a) 
f