Structural model - Two compartment disposition model with nonlinear elimination
Route of administration - IV infusion
Dosage Regimen - 0.4g/Kg (i.e.,28g for a 70Kg healthy individual), infused over a time span of 30 minutes
Number of Subjects - 1
In this model, you will learn -
To build a two compartment disposition model, the drug is given as an Intravenous Infusion
which follows Michaelis-Menten Kinetics.
To apply differential equation in the model as per the compartment model.
To design the dosage regimen for the subjects and simulate the plot.
In this tutorial, you will learn how to build a two Compartment disposition model with Non-linear elimination following Intravenous infusion and simulate the model for single subject and single dosage regimen.
Call the "necessary" libraries to get started
using Random using Pumas using PumasUtilities using CairoMakie
In this two compartment model, we administer dose on Central compartment.
pk_18 = @model begin @metadata begin desc = "Two Compartment Model - Nonlinear Elimination" timeu = u"hr" end @param begin "Maximum rate of elimination (mg/hr)" tvvmax ∈ RealDomain(lower=0) "Michaelis-Menten rate constant (mg/L)" tvkm ∈ RealDomain(lower=0) "Intercompartmental Clearance (L/hr)" tvQ ∈ RealDomain(lower=0) "Volume of Central Compartment (L)" tvvc ∈ RealDomain(lower=0) "Volume of Peripheral Compartment (L)" tvvp ∈ RealDomain(lower=0) Ω ∈ PDiagDomain(5) "Proportional RUV" σ_prop ∈ RealDomain(lower=0) end @random begin η ~ MvNormal(Ω) end @pre begin Vmax = tvvmax * exp(η[1]) Km = tvkm * exp(η[2]) Q = tvQ * exp(η[3]) Vc = tvvc * exp(η[4]) Vp = tvvp * exp(η[5]) end @dynamics begin Central' = - (Vmax/(Km+(Central/Vc))) * Central/Vc + (Q/Vp) * Peripheral - (Q/Vc) * Central Peripheral' = - (Q/Vp) * Peripheral + (Q/Vc) * Central end @derived begin cp = @. Central/Vc """ Observed Concentration (g/L) """ dv ~ @. Normal(cp, cp^2*σ_prop) end end
PumasModel Parameters: tvvmax, tvkm, tvQ, tvvc, tvvp, Ω, σ_prop Random effects: η Covariates: Dynamical variables: Central, Peripheral Derived: cp, dv Observed: cp, dv
The parameters are as given below. tv
represents the typical value for parameters.
$Vmax$ - Maximum rate of elimination (mg/hr)
$Km$ - Michaelis-Menten rate constant (mg/L)
$Q$ - Intercompartmental Clearance (L/hr)
$Vc$ - Volume of Central Compartment (L)
$Vp$ - Volume of Peripheral Compartment (L)
$Ω$ - Between Subject Variability
$σ$ - Residual error
param = (tvvmax = 0.0812189, tvkm = 0.0125445, tvQ = 1.29034, tvvc = 8.93016, tvvp = 31.1174, Ω = Diagonal([0.0,0.0,0.0,0.0,0.0]), σ_prop = 0.005)
(tvvmax = 0.0812189, tvkm = 0.0125445, tvQ = 1.29034, tvvc = 8.93016, tvvp = 31.1174, Ω = [0.0 0.0 … 0.0 0.0; 0.0 0.0 … 0.0 0.0; … ; 0.0 0.0 … 0.0 0.0 ; 0.0 0.0 … 0.0 0.0], σ_prop = 0.005)
0.4g/Kg (i.e.,28g for a 70Kg healthy individual), infused over a time span of 30 minutes
, given to a single subject.
ev1 = DosageRegimen(28, time = 0, cmt = 1, duration = 30) sub1 = Subject(id = 1, events = ev1, observations = (cp = nothing,))
Subject ID: 1 Events: 2 Observations: cp: (nothing)
Lets simulate for plasma concentration with the specific observation time points after Intravenous administration.
Random.seed!(1234) sim_sub = simobs(pk_18,sub1, param, obstimes = 0.1:1:360)
f, a, p = sim_plot(pk_18, [sim_sub], observations = :cp, color = :redsblues, linewidth = 4, axis = (xlabel = "Time (minute)", ylabel = "PK18 Concentrations (g/L)", xticks = 0:50:400, yscale = log10)) axislegend(a) f