Building Models

SimBiology lets you represent a model of a biological or a pharmacological mechanism just as you would draw it on a piece of paper. It includes a block diagram editor that lets you graphically build models by dragging and connecting blocks. You can also programmatically build and manage models using MATLAB functions.

In addition to the environment for building models, SimBiology includes a library of standard PK models. Or, you can import models from a Systems Biology Markup Language (SBML) file.

Building Blocks

SimBiology provides three basic blocks to build your models:

Species represent dynamic states of the model, typically the concentration or amount of an entity, such as a drug, protein, gene, or metabolite.

Compartments represent physically isolated regions in which you can associate sets of species.

Reactions represent interactions between one or more species, such as transformation, transport, and binding processes.

Figure 1: Diagram view of a drug-receptor binding model that includes three species (blue rectangles), two reactions (red circles), and one compartment (black rectangle). The Species Drug and Receptor are binding to form the Complex species, which is being degraded via the Complex Degradation reaction.

Specifying Model Dynamics

SimBiology uses a reaction-network modeling approach that lets you model a variety of dynamic biological systems such as signaling pathways, metabolic networks, and the pharmacokinetics/pharmacodynamics of drugs. Each reaction in the model defines the structure and the rate of the individual interaction. SimBiology uses mass-balance principles to automatically translate this network representation of the model into a set of ordinary differential equations (ODEs) that mathematically describe the dynamics of your system.

Rules define relationships or dependencies between model quantities that cannot be represented as a reaction. For example, you can use a rule to define fractional receptor occupancy as a function of free receptor and bound receptor concentrations.

Events define a sudden, discrete change in model behavior based on a specified condition. For example, you can use an event to reset a parameter value at a certain time point or when a certain concentration threshold is crossed.

Taken together, model expressions—that is, reactions, rules, and events—fully describe the mathematics of the model.

Model Variants

Model variants let you store a set of parameter values or initial conditions that are different from the base model configuration. Using variants, you can easily simulate alternate scenarios and what-if hypotheses without creating multiple copies of the model. For example, you can use model variants to specify parameter values for different cell lines, drug candidates, or animal species.

Model Doses

SimBiology allows you to define and evaluate bolus and infusion dosing strategies. You can link the dose to the appropriate species in the model to stipulate the administration route (intravenous, subcutaneous, oral, or topical). You can test hybrid dosing strategies by including multiple dosing schedules during model evaluation. Similarly, you can assess the benefit of combination therapies and determine the optimal dosing strategy by combining dosing schedules targeting different model species.

Simulating Models

You can simulate the dynamic behavior of your model using a variety of deterministic and stochastic solvers. Simulations can be performed in the SimBiology app or programmatically using MATLAB functions. Simulations return time-state data for all dynamic model quantities. You can visualize the results using built-in plots, or export the data to MATLAB for further analyses and visualization.

Prior to simulation, SimBiology checks the validity of the model structure and expressions, verifies that the model can be simulated, and reports the sources and potential causes of errors. You can use this verification report to locate and fix problems with model implementation.

The ODE solvers can simulate stiff systems and models incorporating discontinuities, such as events and doses. You can control simulation settings, including stop time, sampling times, tolerances, and states to be logged.

Figure 3: Simulation Settings dialog box showing solver choices.

Unit Conversion and Dimensional Analysis

SimBiology provides unit conversion tools to support flexibility in your choice of units. You can choose the units that are most appropriate for each model quantity. For example, you could specify the dose amount in milligrams, drug concentration in nanograms/milliliters, and plasma volume in liters. Unit conversion automatically converts all quantities in the model and data to a consistent unit system during model evaluation.

SimBiology also includes a dimensional analysis tool that automatically checks model expressions for dimensional consistency during the verification step.

Accelerated Simulation

You can accelerate simulation by converting models to compiled C code. Compiling a model can significantly improve computational performance and is particularly useful when working with large models or running tasks such as Monte Carlo simulations and parameter estimation that involve simulating the model numerous times.

To further accelerate tasks that require many simulations, such as parameter sweeps and Monte Carlo simulations, you can use Parallel Computing Toolbox™ to distribute your simulations across multiple cores or a cluster of computers.

Estimating Parameters

SimBiology lets you estimate model parameters by fitting the model to experimental time-course data, using either nonlinear regression or nonlinear mixed-effects (NLME) techniques.

Nonlinear Regression

SimBiology provides nonlinear regression methods to fit data for a single individual or a population. With population data, you can either fit each group independently to generate group-specific estimates or simultaneously fit all groups (pooled approach) to estimate a single set of values.

You can perform nonlinear regression using optimization algorithms from Statistics and Machine Learning Toolbox™, Optimization Toolbox™, and Global Optimization Toolbox, including simplex search, interior-point, pattern search, genetic algorithm, and particle swarm optimization. By default, SimBiology performs an ordinary least-squares regression. You can perform a weighted least-squares regression by specifying either a weights vector or a weighting function of observed or predicted responses.

Figure 4: Diagnostic plots (clockwise from left): a trellis plot of individual fit over time, a scatter plot of predicted versus observed values, and a probability plot of weighted residuals.

Analyzing Models

You can use SimBiology to perform sensitivity analysis, parameter sweeps, and Monte Carlo simulations to investigate the influence of model parameters and initial conditions on model behavior. You can visualize the change in model dynamics when a parameter or initial condition is varied over a prespecified range. Alternatively, you can sample values from a distribution to incorporate a known uncertainty in parameter values into model evaluation. SimBiology also provides a forward sensitivity analysis task to calculate local, time-dependent sensitivities to parameter values and initial conditions.

Figure 5: Output plots for parameter scan and sensitivity analysis tasks. Live plots in the Task Editor show the effect of drug clearance rate on the time-concentration profile and drug exposure (left) and the sensitivity of receptor dynamics to model parameters (right).

Interactive Exploration Tools

SimBiology provides exploration tools that let you vary parameter values, initial conditions, and dose schedules with sliders. The interactive tools enable you to quickly iterate through values without modifying the base model. When you move a slider, you can instantaneously visualize the outcome of that change on the task results.

The exploration section for each task can be independently configured to ask different questions. For example, you could configure one task to examine the effect of binding and unbinding constants on fractional receptor occupancy, and you could set up another task for the same model to iterate through dose amounts and intervals to achieve a target exposure level.

Figure 6: Explorer section in the Task Editor configured to inspect the effect of parameters and dosing schedules on the tumor growth profile.

Custom Analysis

SimBiology provides MATLAB functions to programmatically simulate and analyze your models. These programmatic tools enable you to develop custom analyses, automate workflows, and integrate SimBiology models into other MATLAB applications. For example, you could use constrained optimization algorithms from Optimization Toolbox and Global Optimization Toolbox to identify dosing strategies that maximize tumor suppression while satisfying constraints imposed by safety considerations.

Figure 7: Custom optimization algorithm to identify the infusion rate required to achieve a target peak concentration for an influential protein in the signaling pathway.

Deploying Models

You can deploy SimBiology models as a part of a standalone application or a software component using MATLAB Compiler™ and other application deployment products. The user of the deployed model can simulate the model, alter model quantities and dosing values, and log and visualize simulation results. Deploying models in this way lets you:

Share models with others who do not have access to MATLAB and SimBiology