Structural model - 1 compartment with first order absorption (without/with Lag time)

Route of administration - Oral

Dosage Regimen - 100 μg Oral

Number of Subjects - 1

By the application of the present model, we will learn how to simulate model for first order input model with and without lag-time.

In this exercise you will learn how to

Simulate an Oral One Compartment (without/ with lag-time). Assuming oral bioavailability of 100%. The interpretation V includes bioavailability (i.e., it is really estimating V/F).

Write a differential equation for a

*one-compartment model*

call the "necessary" libraries to get start.

using Pumas using Plots using CSV using StatsPlots using Random

In this one compartment model, we administer dose in Depot compartment at * time= 0*.

pk_02 = @model begin @param begin tvka ∈ RealDomain(lower=0) tvkel ∈ RealDomain(lower=0) tvvc ∈ RealDomain(lower=0) tvlag ∈ RealDomain(lower=0) Ω ∈ PDiagDomain(4) σ²_prop ∈ RealDomain(lower=0) end @random begin η ~ MvNormal(Ω) end @pre begin Ka = tvka * exp(η[1]) Kel = tvkel * exp(η[2]) Vc = tvvc * exp(η[3]) lags = (Depot=tvlag * exp(η[4]),) end @dynamics begin Depot' = -Ka*Depot Central' = Ka*Depot - Kel*Central end @derived begin cp = @. Central/Vc dv ~ @. Normal(cp, sqrt(cp^2*σ²_prop)) end end

PumasModel Parameters: tvka, tvkel, tvvc, tvlag, Ω, σ²_prop Random effects: η Covariates: Dynamical variables: Depot, Central Derived: cp, dv Observed: cp, dv

The compound follows a one compartment model, in which the various parameters are as mentioned below:

Ka - Absorption Rate Constant (min⁻¹)

Kel - Elimination Rate Constant(min⁻¹)

Vc - Central Volume of distribution (L)

tlag - Lag-time (min)

Ω - Between Subject Variability

σ - Residual error

param1 = (tvka = 0.013, tvkel = 0.013, tvvc = 32, tvlag = 0, Ω = Diagonal([0.0,0.0,0.0,0.0]), σ²_prop = 0.015)

(tvka = 0.013, tvkel = 0.013, tvvc = 32, tvlag = 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.0], σ²_prop = 0.015)

param2 = (tvka = 0.043, tvkel = 0.0088, tvvc = 32, tvlag = 16, Ω = Diagonal([0.0,0.0,0.0,0.0]), σ²_prop = 0.015)

(tvka = 0.043, tvkel = 0.0088, tvvc = 32, tvlag = 16, Ω = [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.015)

In this section the Dosage regimen is mentioned:

Oral dosing of

**100 μg**at`time=0`

for a single subject

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

Subject ID: 1 Events: 1

Let's simulate for plasma concentration after oral administration, **without lag-time**.

Random.seed!(123) sim_sub1 = simobs(pk_02,sub1,param1,obstimes=0:1:400) df1 = DataFrame(sim_sub1);

Let's simulate for plasma concentration after oral administration, **with lag-time**.

Random.seed!(123) sim_sub2 = simobs(pk_02,sub1,param2,obstimes=0:1:400) df2 = DataFrame(sim_sub2);

df_lag = filter(x -> x.time in [0,10,15,20,30,40,60,90,120,180,210,240,300,360], df2) @df df1 plot(:time, :cp, label="Predicted Data - Without lag-time", xlabel="Time (min)", ylabel="Concentration (ug/L)", title="Concentration vs Time", color=[:aqua], linestyle=[:dash], linewidth=3, xticks=[0,50,100,150,200,250,300,350,400], yticks=[0.0,0.5,1.0,1.5,2.0,2.5], xlims=(-5,400), ylims=(-0.05,2.5)) @df df2 plot!(:time, :cp, label="Pred Conc - With lag-time", color=[:darkblue], linewidth=3) @df df_lag scatter!(:time,:dv, label="Observed Conc", color=[:red])