## SimBiology |

- App for PK/PD and mechanistic systems biology modeling
- Ordinary differential equations (ODEs) and stochastic solvers
- Library of PK models
- Parameter estimation techniques for single-subject and population data, including nonlinear mixed-effects models
- Sensitivity analysis and parameter sweeps for investigating parameter effects on system dynamics
- Diagnostic plots for individual and population fits
- Methods for creating and optimizing dosing schedules

**Getting Started with SimBiology**

Get an overview of the SimBiology desktop layout and navigation.

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 a Model in SimBiology**

Build and simulate a model using the SimBiology desktop.

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.

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.

The equation view displays the underlying ODEs defining the model.

SimBiology provides two additional modeling constructs for specifying model dynamics:

**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 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.

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.

**Working with Doses in SimBiology**

Create and apply dose schedules to a model in SimBiology^{®}.

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.

SimBiology provides several deterministic solvers, including MATLAB ODE solvers and the CVODE solver from the SUNDIALS suite. SimBiology also provides three stochastic solvers: stochastic simulation algorithm (SSA), explicit tau-leaping, and implicit tau-leaping.

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.

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.

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.

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.

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 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.

SimBiology provides nonlinear mixed-effects (NLME) methods to simultaneously fit population data. The following NLME algorithms are included:

- Stochastic Approximation Expectation-Maximization (SAEM)
- First-order conditional estimate (FOCE)
- First-order estimate (FO)
- Linear mixed-effects approximation (LME)
- Restricted LME approximation (RELME)

SimBiology provides standard goodness-of-fit statistics and diagnostic plots that can be used to determine the quality of a fit and guide model selection. Goodness-of-fit statistics include:

- Mean squared error (MSE) or weighted MSE
- Residual error model coefficients
- Standard errors for estimated parameters
- Akaike Information Criterion (AIC) and Bayesian Information Criterion (BIC)
- Population weighted residuals

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.

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.

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.

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
- Distribute models without exposing your intellectual property

**Deploy a SimBiology Model** (Example)

Deploy a model in a standalone MATLAB application.