You are on page 1of 34

® ®

SimBiology and MATLAB: A Software


Platform for Modeling, Simulation and
Analysis of Biological Systems

© 2006 The MathWorks, Inc.


Ricardo Paxson

PRIME Workshop, Princeton University

June 16, 2006


® ®

Pre-SimBiology Model in MATLAB Code

2
® ®

Desired Software Features:


Models are a Store of Institutional Knowledge
 Modularity
– Larger models can be built by merging or joining multiple simpler models
 Portability
– Easy to share models between researchers
– Supports various operating systems
 Encapsulation
– Models and simulation data as well as annotation and references to a
knowledge base are kept in one package
 Versioning
– New model information is easily incorporated into an older model
 Programmatic flexibility
– Models can be manipulated programmatically
 Scalability
– Use of hierarchy to ease the manipulation of large models
– Performance (Simulation, analysis, rendering, etc.)

3
® ®

SimBiology 2.0 Key Features

 Deterministic and stochastic simulation engines


 Graphical environment including a pathway editor
 User configurable units and kinetic law libraries
 Models and simulation results are saved in a project file
 Import and export in SBML format
 Parameter estimation
 Computation of sensitivities
 Conserved moieties
 Ensemble runs
 Can be used with Distributed Computing Toolbox

4
® ®

5
® ®

6
® ®

Block appearance can be


customized and stored in a block
library for subsequent use and
standardization.

7
® ®

Model with 1000 species and 990 reactions

8
® ®

9
® ®

MATLAB Command line

 Here is an example from the MATLAB command line:


 % Load a SBML model
>> modelObj = sbmlimport('oscillator')

SimBiology Model - Oscillator

Model Components:
Models: 0
Parameters: 0
Reactions: 42
Rules: 0
Species: 23

10
® ®

MATLAB Command line - continued


 Adding a reaction to this model:
 % degradation of pA (protein A)
– >> r = modelObj.addreaction(‘pA -> null’);
– >> k = r.addkineticlaw(‘MassAction’);
– >> k.addparameter(‘k’,’Value’,3.4,’ValueUnits’,’1/second’);
– >> k.ParameterVariableNames = ‘k’;

11
® ®

MATLAB Command line - continued

 The MATLAB variable modelObj can be used to query, simulate


or manipulate the model.
 % Simulate the model
 >> [t, x] = sbiosimulate(modelObj);
 >> plot(t, x)

12
® ®

Bridging the Gap

 Intuitive graphical user interfaces


 Standard graphical pathway representations
 Open environment in support of customization
– Programmatic access to software tools
 Changes in the Biological sciences curriculum
– Quantitative methods
– Programming

13
® ®

Extra slides

14
® ®

Drug Discovery with in silico design


Patient
Drug Development Model Elaboration, Stratification
Strategy Model target and Refinement
associated pathways

Compile Literature
Model refinement, Verification
Knowledge In vivo
training, and testing
validation
Generate
Experimental Data Parameter Verification
Estimation
Sensitivity In vitro
Analysis testing

Design Identify target & best Test and Verification


mechanism of action

Drug Candidate

15
® ®

16
® ®

17
® ®

18
® ®

19
® ®

20
® ®

21
® ®

Sensitivity Analysis
x  S * v(t , x, p)
k 
p 
 x0 
d  dx   dv dx dv 
   S *   
dt  dp   dx dp dp 
 Complex-step method to compute derivatives
– Martins et.al. ACM Transactions on Mathematical Software, Vol.
29, No. 3, September 2003, Pages 245–262.

22
® ®

Sensitivity Analysis example:


>> m = sbmlimport(‘radiodecay’);
>> [t, x, names] = sbiosimulate(m);
>> plot(t,x); legend(names);

23
® ®

Parameter Estimation

 Uses the optimization toolbox and the GADS (Genetic


Algorithms and Directed Search toolbox).
 Algorithms used:
– Unconstrained nonlinear minimization (Nelder-Mead)
– Non-linear least squares
– Constrained minimization
– Pattern search
– Genetic algorithms
– Hybrids (pattern/GA and gradient based methods)

24
® ®

Parameter Estimation
 m = sbmlimport('radiodecay');
 convertMA(m);
 m1 = copyobj(m);

 cs = m.getconfigset;
 cs.SolverType = 'ssa';
 cs.SolverOptions.LogDecimation = 1;
 cs.StopTime = 10;

 [et,ex] = sbiosimulate(m);

 plot(et,ex); drawnow;

 cs1 = m1.getconfigset;
 cs1.StopTime = 10;

 p = sbioselect(m1, 'type', 'parameter', 'name', 'c1');
 p.Value = 3;

 [t,x] = sbiosimulate(m1);

 hold

 plot(t,x,'b');
 myopt1 = optimset('Display','iter');
 [k, result] = sbioparamestim(m1, et, ex, {}, {'c1'},{},{'fmincon', myopt1});

 p.Value = k;
 [t,x] = sbiosimulate(m1);
 plot(t,x,'r');

25
® ®

26
® ®

Conserved quantities (Moieties)

>> m = sbiomodel('cycle');
>> m.addreaction('a -> b');
>> m.addreaction('b -> c');
>> m.addreaction('c -> a');
>> sbioconsmoiety(m, ‘semipos’, ‘p’);
ans =
'a + b + c'

27
® ®

SimBiology Quick Overview


 So far it is used most frequently for modeling of Signal Transduction pathways
 Features:
– Graphical modeling environment
– Completely programmable and integrated with MATLAB
– Graphical editor for model visualization and construction
– Import and export models using standard formats
 SBML and Excel
– Stochastic Simulations
 Gillespie exact stochastic algorithm
 Explicit Tau leaping
 Implicit Tau leaping
– Deterministic Simulations
 Ordinary Differential Eqs (ODE)
 Differential Algebraic Eqs (DAE)
 Stiff solvers
– System can be specified as a list of Reactions
– Automatic graphical layout
– Dimensional analysis and Unit conversion
– Searching tools
– Model analysis tools
 Parameter estimation
 Sensitivities
 Conserved Moieties

28
® ®

Future Directions

 Modeling
– Model merging and joining
– Rule based generation of reactions
– Transport processes
– PK/PD model integration (Simulink)
– Compartments / Submodels
 Simulation
– Distributed computing support
– Hybrid Stochastic & Determinisitc
– Parallel computing
 Analysis
– Bifurcation Analysis
– Parameter scans

29
® ®

Graphical environment System can be specified as a list of reactions

Choosing from a user defined library of kinetics produces


the corresponding reaction rate.

30
® ®

Units can be provided for parameters (as well as species)


Graphical environment SimBiology uses this to perform Dimensional Analysis and
Unit conversion. There is a user defined library of Units.

31
® ®

Graphical environment: Searching

Search utilities for all the components of the model.


This example show the occurrence of “pol” (polymerase)
in the name of any species.

32
® ®

Graphical environment: Diagram view of the model

This diagram was automatically generated from the


topology of the model. The default icon for reactions
is a yellow circles while species are rounded rectangles.

33
® ®

Graphical environment

Diagram icons are user customizable


and can be placed in libraries. This
example library shows icons taken from
Biocarta.

34

You might also like