Products & Services Solutions Academia Support User Community Company

Learn more about SimBiology   

Creating Pharmacokinetic Models

Overview

As described in Model, you can do any of the following to start modeling:

Whether you plan on using the wizard to build a PK model or building your own model, you might want to understand how models are represented in the software, as described in How Pharmacokinetic Models Are Represented by SimBiology Models.

How Pharmacokinetic Models Are Represented by SimBiology Models

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 a drug using a two-compartment model with bolus input and zero-order elimination kinetics.

Another view of this model could be 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.

Creating PK Models at the Command Line

To create a PK model with the specified number of compartments, dosing type, and method of elimination:

  1. 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, rules, and events.

    pkm = PKModelDesign;
  2. Add a compartment specifying the name, the type of dosing and method of elimination, and specify whether the data contains a response variable measured in this compartment. For example, specify a compartment named Central, with FirstOrder for the DosingType property, linear-clearance for the EliminationType property and true for the HasResponseVariable property.

    pkm.addCompartment('Central', 'FirstOrder',...
            'linear-clearance', true);

    For a description of the dosing and elimination types, see About Dosing Types and About Elimination Types.

      Note   You can only specify one compartment in a model with a dosing type other than '' (empty). Similarly, you can only specify one compartment as containing a response variable.

  3. Add a second compartment named Peripheral, no dosing, no elimination, and specify (using false) that there is no response variable measured in this compartment.

    pkc = pkm.addCompartment('Peripheral', '', '', false);

    The model construction process adds the necessary parameters, including a parameter representing intercompartmental clearance Q. The About Dosing Types and About Elimination Types lists the parameters added for each option. 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 in the model.

    Use the handle to the compartment to change compartment properties.

  4. Construct a SimBiology model object with the previous specifications.

    [modelObj, PKModelMapObj] = pkm.construct

    The construct method returns a SimBiology model object (modelObj) and a PKModelMap object which contains the mapping of the model components to the elements of the regression function. See Defining Model Components for Observed Response, Dose, Dosing Type, and Parameters to be Estimated for more information about the PKModelMap object.

      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.

  5. Perform parameter fitting as shown in Fitting Pharmacokinetic Model Parameters at the Command Line.

    (Optional) Before parameter fitting you can set parameter values and apply dosing information to simulate the model object and visualize the results as shown in Simulating a Model Containing Dosing Information.

The model object and the PKModelMap object are input arguments for the sbionlmefit and sbionlinfit functions used in parameter fitting.

For information on ...See ...
Dosing typesAbout Dosing Types
Elimination typesAbout Elimination Types
Parameter fittingFitting Pharmacokinetic Model Parameters at the Command Line
Simulating the model and a description of configuration sets

Creating PK Models in the SimBiology Desktop Using a Wizard

In the Add Model wizard, you can specify the number of compartments, route of administration, and method of clearance to create a PK model.

You can access the Add Model wizard when you create a new project or add a model to an existing project.

  1. Select File > Add Model. The Add Model wizard opens.

  2. From the Select a model to add list, select Create PK model. The Add Model wizard updates to show you options for selecting the number of compartments, the type of administration, and elimination.

  3. In the Model Name box, enter a name for the model. For example,

    one_compartment_bolus
  4. From the Number of Compartments list, select from 1 to 4 compartments. The Model Description table updates to show each compartment.

  5. Double-click a Compartment Name cell to edit the name of the compartment.

  6. From the Dosing list, select one of the following:

    None
    bolus
    infusion
    zero-order
    first-order

      Note   Only one compartment in a model can contain a dosing type other than None.

    See About Dosing Types for more information on each of the above options.

  7. From the Elimination list, select one of the following:

    None
    Linear{Clearance, Volume}
    Linear{Elimination Rate, Volume}
    Enzymatic(Michaelis-Menten)
    

    See About Elimination Types for more information on the above options.

  8. (Optional) Click the SimBiology View tab to see how the model is represented in SimBiology. For more information, see How Pharmacokinetic Models Are Represented by SimBiology Models.

  9. Click OK.

    The SimBiology desktop adds the model in the Project Explorer and opens the model in the Work Area pane.

Saving Your Work as a SimBiology Project File

A SimBiology project is the file format that the software uses to save one or more model sessions. The file extension is .sbproj. Projects let you save custom settings, notes, and data associated with your models.

Save your work as a project so that you can access this file later. If you have data in the SimBiology project, the model and the data are saved together in the project.

  1. Select File > Save Project as to open the Save SimBiology Project dialog box.

  2. Browse to the folder in which you want to save your projects, and enter a name for the project file.

  3. Click Save.

About Dosing Types

In SimBiology models, you establish dosing in two steps involving the type of dosing and the dosing schedule.

In the first step, the process of generating a SimBiology model via the wizard (in the SimBiology desktop) or the PKModelDesign object's construct method (at the command line) creates model components related to a particular route of administration. These model components represent the general kinetics of a particular route of administration and they are invariant with respect to a particular dosing schedule.

The second step (specified by the function sbiosetdosingprofile) adds components related to a particular dosing schedule, and the specified dosing type. SimBiology automatically uses sbiosetdosingprofile during the fitting process.

The following table describes the dosing types, the default parameters to estimate, and lists the model components created in the first step. For dosing types that have a fixed infusion or absorption duration (infusion and zero-order), you can use overlapping doses; the doses are additive. You can only dose one compartment in the model.

Dosing TypeDescriptionSimBiology Model Components CreatedDefault Parameters to Estimate
''(None or empty)No dose
  • A species (Drug) for each compartment

None

SimBiology desktop — bolus

Command line — Bolus

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.

  • A species (Drug) for each compartment

None

SimBiology desktop — infusion

Command line — Infusion

Assumes that the infused drug amount increases at a constant known absorption (or infusion) rate over a known duration.

In the SimBiology model, the drug concentration is specified by a reaction whose rate represents the infusion rate, and by the volume of the compartment. containing the drug.

The imported data set must contain the rate and not an infusion time.

  • A species (Drug) for each compartment

  • A parameter (kInf) representing the rate of infusion

  • A mass-action reaction (null -> CompartmentName.Drug) representing the infusion of drug over time, with forward rate parameter kInf

None

SimBiology desktop — zero-order

Command line — ZeroOrder

Assumes that the drug is added at a constant rate over fixed, but unknown duration. Similar to infusion, but with absorption duration as an estimated parameter.

In the SimBiology model, the drug concentration is specified by a reaction whose rate is defined as [dose amount/absorption duration], and by the volume of the compartment containing the drug.

  • A species (Drug) for each compartment

  • A parameter (Tk0) representing the duration of drug absorption

  • A parameter (ka) representing the absorption rate of the drug

  • A MassAction reaction (null —> CompartmentName.Drug) with forward rate parameter (ka)

  • Tk0 (absorption duration)

SimBiology desktop — first-order

Command line — FirstOrder

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 mass-action kinetics.
  • A species (Dose) representing the dose amount before it is absorbed

  • A species (Drug) for each compartment

  • A parameter (ka) representing the absorption rate of the drug

  • A MassAction reaction (Dose —> CompartmentName.Drug) with forward rate parameter (ka)

  • ka (absorption rate)

As described previously, in the second step (which automatically takes place during fitting), the function sbiosetdosingprofile adds components related to a particular dosing schedule and the specified dosing type. sbiosetdosingprofile uses this step is used to update the correct drug amount or rate for each dose defined in the dosing table (specified by the data set). These model components exist only on the model temporarily during fitting.

If you are using a custom model, or want to simulate a model with the dosing schedule applied, you must use sbiosetdosingprofile. See the following additional sources of information:

For information on ...See ...
Preparing the model before simulatingDefining Model Components for Observed Response, Dose, Dosing Type, and Parameters to be Estimated
Applying dosing informationSimulating a Model Containing Dosing Information
Model components added temporarily in preparation for fittingsbiosetdosingprofile

About Elimination Types

Elimination TypeDescriptionSimBiology Model Components CreatedDefault Parameters to Estimate

SimBiology desktop — Linear {Elimination Rate, Volume}

Command line — 'linear'

Assumes simple mass-action kinetics in the elimination of the drug. In the SimBiology model, elimination is specified by mass-action kinetics with the elimination rate constant specified by the forward rate parameter (ke).
  • A parameter representing the elimination rate (ke_CompartmentName)

  • A MassAction reaction (drug —> null) with forward rate parameter (ke_CompartmentName)

  • Compartment volume

    (Capacity property)

  • Elimination rate constant (ke_CompartmentName)

  • Inter-compartmental clearance (Q) when there is more than one compartment.

    See About Intercompartmental Clearance.

SimBiology desktop — Linear {Clearance, Volume}

Command line — 'linear-clearance'

Assumes simple mass-action 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).
  • A parameter representing the clearance (Cl_CompartmentName)

  • A parameter representing the elimination rate constant (ke_CompartmentName)

  • An InitialAssignment rule that initializes ke_CompartmentName based on the initial values for Cl_CompartmentName and compartment volume

  • A MassAction reaction (drug —> null) with forward rate parameter (ke_CompartmentName)

  • Compartment volume

    (Capacity property)

  • Clearance (Cl_CompartmentName)

  • Inter-compartmental clearance (Q) when there is more than one compartment.

    See About Intercompartmental Clearance.

SimBiology desktop — Enzymatic (Michaelis-Menten)

Command line — 'enzymatic'

Assumes that elimination is governed by Michaelis-Menten kinetics.
  • Parameter representing the Michaelis constant, (Km_CompartmentName)

  • A parameter for maximum velocity (Vm_CompartmentName

  • A reaction with Michaelis-Menten kinetics (drug -> null), with kinetic law parameters Vm_CompartmentName and Km_CompartmentName

  • Compartment volume

    (Capacity property)

  • Parameter (Km_CompartmentName)

  • Parameter (Vm_CompartmentName)

  • Inter-compartmental clearance (Q) when there is more than one compartment.

    See About Intercompartmental Clearance.

About Intercompartmental Clearance

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 mass-action reaction C1.Drug <-> C2.Drug. The forward rate parameter is the compartmental clearance, Q12, divided by the volume of C1. The reverse rate parameter is Q12, divided by the volume of C2.

The process of adding each pair of compartments in the chain Cm and Cn generates the following model components:

Unit Conversion for Imported Data and the Model

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 physical quantities in the model are returned in the user-specified units.

Regardless of whether unit conversion is on of off, dosing data must be expressed in amount. By default, Unit Conversion is off, so you must ensure that units for the data are consistent with each other.

If Unit Conversion is on, the data file should use the following default units, or change the model components units to match the units in the data file.

Physical Quantity or Model ParameterUnit
Dose Time second
Amount (dose)milligram
Infusion rate milligram/second

Units of the component representing the dependent (or response) variable in the model should be same as that of the response variable in the data file. The default units are as follows.

Physical Quantity or Model ParameterUnit
Response (concentration)milligram/liter

Parameters in the model also 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 ParameterUnit
Capacity (compartment volume)liter
First-order elimination rate1/second
Km — Michaelis constantmilligram/liter
Vm — (Vmax) Maximum reaction-velocity (Michaelis-Menten kinetics)milligram/second
Clearanceliter/second
Tk0 (absorption duration)second
ka (absorption rate)1/second

Use the configuration settings options to turn unit conversion on or off. For more information see, Performing Simulations in the SimBiology User's Guide.

See Evaluation of Reaction Rate in the SimBiology User's Guide for more information on dimensional analysis for reaction rates.

  


Recommended Products

Includes the most popular MATLAB recorded presentations with Q&A sessions led by MATLAB experts.

 © 1984-2009- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS