To start modeling, you can:
Create a PK model using a model construction wizard that lets you specify the number of compartments, the route of administration, and the type of elimination.
Extend any model to build higher fidelity models.
Build or load your own model. Load a SimBiology^{®} project or SBML model.
The following figure compares a model as typically represented in pharmacokinetics with the same model shown in the SimBiology model diagram. For this comparison, assume that you are modeling administration of a drug using a twocompartment model with any dosing input and linear elimination kinetics. (The model structure remains the same with any dosing type.)
Note the following:
SimBiology represents the concentration or amount of a drug in a given compartment or volume by a species object contained within the compartment.
SimBiology represents the exchange or flow of the drug between compartments and the elimination of the drug by reactions.
SimBiology represents intercompartmental clearance
by a parameter (Q
) which specifies the clearance
between the compartments.
SimBiology drives the dosing schedule with a
combination of species (Drug
and/or Dose
)
and reactions (Dose > Drug
), depending on whether
the administration into the compartment follows bolus, zeroorder,
infusion, or firstorder dosing kinetics. For more information on
the components added and parameters estimated, see Dosing Types.
You can also view this model as a regression function, y
= f(k,u)
, where y
is the predicted value,
given values of an input u
, and parameter values k
.
In SimBiology the model represents f
, and
the model is used to generate a regression function if y
, k
,
and u
are identified in the model.
When creating models, SimBiology creates the following model components for each compartment in the model, regardless of the dosing type:
Two species (Drug_CompartmentName
and Dose_CompartmentName
)
for each compartment.
A reaction (Dose_CompartmentName > Drug_CompartmentName
)
for each compartment, governed by mass action kinetics.
A parameter (ka_CompartmentName
)
for each compartment, representing the absorption rate of the drug
when absorption follows firstorder kinetics. This is the forward
rate parameter for the Dose_CompartmentName > Drug_CompartmentName
reaction.
A parameter (Tk0_CompartmentName
)
for each compartment, representing the duration of drug absorption
when absorption follows zeroorder kinetics.
A parameter (TLag_CompartmentName
)
for each compartment, representing the time lag for any dose that
targets that compartment and also that is specified as having a time
lag.
For dosing types that have a fixed infusion or absorption duration
(infusion
and zeroorder
), you
can use overlapping doses. The doses are additive.
The following table describes the dosing types, the default parameters to estimate, and lists the model components created and used for dosing.
Dosing Type  Description  SimBiology Model Components Used  Default Parameters to Estimate 

'' (empty character vector)  No dose  The species (  None 
SimBiology Model Builder app —
Command line —
 Assumes that the drug amount is increased instantly at the dose time. In the SimBiology model, the initial concentration of the drug is based on dose amount and volume of the compartment containing the drug.  The species (  None 
SimBiology Model Builder app —
Command line —
 Assumes that the infused drug amount increases at a constant known absorption (or infusion) rate over a known duration. The imported data set must contain the rate and not an infusion duration. SimBiology uses this information to change the species concentration at the constant rate over the duration specified in the data set.  The species (  None 
SimBiology Model Builder app —
Command line —
 Assumes that the drug is added at a constant rate over fixed, but unknown duration. 


SimBiology Model Builder app —
Command line —
 Assumes that the rate at which the drug is absorbed is not constant. In the SimBiology model, absorption rate is assumed to be governed by massaction kinetics. 


Elimination Type  Description  SimBiology Model Components Created  Default Parameters to Estimate 

SimBiology Model Builder app — Command line —
 Assumes simple massaction kinetics in the elimination of the
drug. In the SimBiology model, elimination is specified by massaction
kinetics with the elimination rate constant specified by the forward
rate parameter (ke ). 


SimBiology Model Builder app — Command line —
 Assumes simple massaction kinetics in the elimination of the
drug. In the SimBiology model, similar to Linear
{Elimination Rate, Volume} . But, in addition, this option
lets you specify the model in terms of clearance (Cl )
where, Cl = ke * volume ). 


SimBiology Model Builder app — Command line —
 Assumes that elimination is governed by MichaelisMenten kinetics. 


The compartments created when you generate a SimBiology model
form a chain and each pair of linked compartments are connected by
a transport reaction similar to linear elimination. The addition of
two compartments, C1
and C2
,
generates a reversible massaction reaction C1.Drug_C1 <>
C2.Drug
. The forward rate parameter is the compartmental
clearance, Q_{12}
, divided
by the volume of C1
. The reverse rate parameter
is Q_{12}
, divided by the volume
of C2
.
The process of adding each pair of compartments in the chain C_{m}
and C_{n}
generates
the following model components:
A parameter Q_{mn}
representing
the compartmental clearance between those two compartments. This parameter
is added to the list of parameters to be estimated (Estimated
property
of PKModelMap
object).
A parameter (kmn
) representing
the rate of transfer of the drug from Cm
to Cn
,
where k_{mn} = Q_{mn}/V_{m}
.
A parameter (knm
) representing
the rate of Cn
to Cm
, where k_{nm} =
Q_{mn}/V_{n}
.
A reversible massaction reaction between the two
compartments, Cm.Drug_Cm <> Cn.Drug_Cn
,
with forward rate parameter kmn
, and reverse rate
parameter knm
.
An initial assignment rule that initializes the value
of the parameter kmn
, based on the initial values
for Cm
and Qmn
.
An initial assignment rule that initializes the value
of the parameter knm
, based on the initial values
for Cn
and Qmn
.
Unit conversion converts the matching physical quantities to one consistent unit system in order to resolve them. This conversion is in preparation for correct simulation, but SimBiology returns the physical quantities in the model in units that you specify.
Regardless of whether unit conversion is on
or off
, you
must express dosing data in amount. By default, Unit Conversion is
off
, so you must ensure that units for the data and the model are
consistent with one another. If Unit Conversion is
on
, you must specify units.
Parameters in the model have default units. If unit conversion
is on
, you can change the units as long as the
dimensions are consistent. These default units, which you might use
to specify the values for the initial guess, are as follows.
Physical Quantity or Model Parameter  Unit 

Central or peripheral compartment volume (Central or Peripheral)  liter 
Firstorder elimination rate (ke)  1/second 
Michaelis constant (Km)  milligram/liter 
Maximum reactionvelocity, MichaelisMenten kinetics (Vm)  milligram/second 
Clearance (Cl)  liter/second 
Absorption duration (Tk0)  second 
Absorption rate (ka)  1/second 
Use the configuration settings options to turn unit conversion on
or off
.
For details, see Model Simulation.
For details on dimensional analysis for reaction rates, see How Reaction Rates Are Evaluated.
To create a PK model with the specified number of compartments, dosing type, and method of elimination:
Create a PKModelDesign
object. The
PKModelDesign
object lets you specify the number of compartments,
route of administration, and method of elimination, which SimBiology uses to construct the model object with the necessary compartments,
species, reactions, and rules.
pkm = PKModelDesign;
Add a compartment specifying the compartment name, and optionally, the type of
dosing, and the method of elimination. Also specify whether the data contains a
response variable measured in this compartment and whether the dose(s) have time lags.
For example, specify a compartment named Central
, with
Bolus
for the DosingType
property,
linearclearance
for the EliminationType
property, and true
for the HasResponseVariable
property.
pkc1 = addCompartment(pkm, 'Central', 'DosingType', 'Bolus', ... 'EliminationType', 'linearclearance', ... 'HasResponseVariable', true);
For a description of other DosingType
and
EliminationType
property values, see Dosing Types and Elimination Types.
For a description of the HasResponseVariable
property, see
HasResponseVariable
. At least one
compartment in a model must have a response. Although SimBiology supports multiple responses per compartment, when adding compartments to
a PKModelDesign
object, you are limited to one response per
compartment.
Note
To add a compartment that has a time lag associated with any dose that targets
it, set the HasLag
property to true
:
pkc_lag = addCompartment(pkm, 'Central', 'DosingType', 'Bolus', ... 'EliminationType', 'linearclearance', ... 'HasResponseVariable', true, 'HasLag', true);
Or after adding a compartment, set its HasLag
property to
true
:
pkc1.HasLag = true;
Optionally, add a second compartment named Peripheral
, with no
dosing, no elimination, and no time lag. Set the
HasResponseVariable
property to true
. If you
are using the tobramycin data set [1], skip this step and use
only one compartment.
pkc2 = addCompartment(pkm, 'Peripheral', 'HasResponseVariable', true);
The model construction process adds the necessary parameters, including a
parameter representing intercompartmental clearance Q
. You can add
more compartments by repeating this step. The addition of each compartment creates a
chain of compartments in the order of compartment addition, with a bidirectional flow
of the drug between compartments in the model.
Use the handle to the compartment (pkc1
or
pkc2
), to change compartment properties.
Construct a SimBiology model object.
[modelObj, PKModelMapObj] = pkm.construct
The construct
method returns a SimBiology model object (modelObj
) and a
PKModelMap
object (PKModelMapObj
) that
contains the mapping of the model components to the elements of the regression
function.
Note
If you change the PKModelDesign
object, you must create a new
model object using the construct
method. Changes to the
PKModelDesign
do not automatically propagate to a previously
constructed model object.
Perform parameter fitting using Nonlinear Regression or Nonlinear MixedEffects Modeling.
The model object and the PKModelMap
object are input
arguments for the sbionlmefit
, sbionlmefitsa
and
sbionlinfit
functions used in parameter fitting.