Structural model - One Compartment Michaelis Menten Kinetics, Drug and metabolite in Urine

Route of administration - IV bolus

Dosage Regimen - 500 micromol IV

Number of Subjects - 1

In this model, you will learn -

To build One Compartment model for the drug given

`Intravenous Bolus`

dosage, following Michaelis Menten Kinetics.To apply

*differential equation*in the model as per the compartment model.

In this tutorial, you will learn how to build One Compartment Michaelis Menten Kinetics model, with drug and metabolite in urine

Call the "necessary" libraries to get started

using Random using Pumas using PumasUtilities using CairoMakie using AlgebraOfGraphics using DataFramesMeta

In this One compartment model, we administer dose on Central compartment.

pk_48 = @model begin @metadata begin desc = "One Compartment Michaelis Menten Kinetics Model" timeu = u"hr" end @param begin "Maximum rate of metabolism (uM/hr)" tvvmax ∈ RealDomain(lower=0) "Michaelis Menten Constant (uM)" tvkm ∈ RealDomain(lower=0) "Renal Clearance (L/hr)" tvclr ∈ RealDomain(lower=0) "Central Volume of Distribution (L)" tvvc ∈ RealDomain(lower=0) Ω ∈ PDiagDomain(4) "Proportional RUV" σ²_prop ∈ RealDomain(lower=0) end @random begin η ~ MvNormal(Ω) end @pre begin Vmax = tvvmax * exp(η[1]) Km = tvkm * exp(η[2]) Clr = tvclr * exp(η[3]) Vc = tvvc * exp(η[4]) end @vars begin VMKM := Vmax*(Central/Vc)/(Km + (Central/Vc)) end @dynamics begin Central' = -VMKM - (Clr/Vc)* Central UrineP' = (Clr/Vc) * Central UrineM' = VMKM end @derived begin cp = @. Central/Vc ae_p = @. UrineP ae_m = @. UrineM """ Observed Concentration (umol/L) """ dv ~ @. Normal(cp, sqrt(cp^2*σ²_prop)) """ Observed Amount (umol) """ dv_aep ~ @. Normal(ae_p, sqrt(cp^2*σ²_prop)) """ Observed Amount (umol) """ dv_aem ~ @. Normal(ae_m, sqrt(cp^2*σ²_prop)) end end

PumasModel Parameters: tvvmax, tvkm, tvclr, tvvc, Ω, σ²_prop Random effects: η Covariates: Dynamical variables: Central, UrineP, UrineM Derived: cp, ae_p, ae_m, dv, dv_aep, dv_aem Observed: cp, ae_p, ae_m, dv, dv_aep, dv_aem

The parameters are as given below. `tv`

represents the typical value for parameters.

$Vmax$ - Maximum rate of metabolism (uM/hr)

$Km$ - Michaelis Menten Constant (uM)

$Clr$ - Renal Clearance (L/hr)

$Vc$ - Central Volume of Distribution (L)

$Ω$ - Between Subject Variability

$σ$ - Residual error

param = (tvvmax = 51.4061, tvkm = 5.30997, tvclr = 2.46764, tvvc = 24.5279, Ω = Diagonal([0.0,0.0,0.0,0.0]), σ²_prop = 0.02)

(tvvmax = 51.4061, tvkm = 5.30997, tvclr = 2.46764, tvvc = 24.5279, Ω = [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.02)

Intravenous bolus dosing of **500 micromol** to a single subject at `time=0`

.

ev1 = DosageRegimen(500, cmt = 1, time = 0) sub1 = Subject(id = 1, events = ev1)

Subject ID: 1 Events: 1

Lets simulate for plasma concentration with the specific observation time points after IV bolus dose.

Random.seed!(123) sim_sub1 = simobs(pk_48, sub1, param, obstimes=0.1:0.1:15)

@chain DataFrame(sim_sub1) begin dropmissing!(:cp) @rsubset :time ∈ [0,1,2,3,4,5,6,7,8,10,12,14,15] data(_) * mapping(:time => "Time (hrs)", [:cp, :ae_p, :ae_m]) * visual(ScatterLines, linewidth = 4, markersize = 12) draw(axis = (;yscale = log10, xticks = 0:2:16, ylabel = "PK48 Concentrations (μmol/L) & Amount (μmol)")) end