Presentation - Princeton University

Download Report

Transcript Presentation - Princeton University

®
®
Ricardo Paxson
PRIME Workshop, Princeton University
June 16, 2006
© 2006 The MathWorks, Inc.
SimBiology and MATLAB: A Software
Platform for Modeling, Simulation and
Analysis of Biological Systems
®
®
Pre-SimBiology Model in MATLAB Code
2
®
®
Desired Software Features:
Models are a Store of Institutional Knowledge

Modularity
–

Portability
–
–

New model information is easily incorporated into an older model
Programmatic flexibility
–

Models and simulation data as well as annotation and references to a
knowledge base are kept in one package
Versioning
–

Easy to share models between researchers
Supports various operating systems
Encapsulation
–

Larger models can be built by merging or joining multiple simpler models
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:
Parameters:
Reactions:
Rules:
Species:
0
0
42
0
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
Drug Development
Strategy
Model target and
associated pathways
Compile Literature
Knowledge
Verification
Model refinement,
training, and
validation
Generate
Experimental Data
Parameter
Estimation
In vivo
testing
Verification
Sensitivity
Analysis
Design
Patient
Stratification
Model Elaboration,
Refinement
In vitro
testing
Test and Verification
Identify target & best
mechanism of action
Drug Candidate
15
®
®
16
®
®
17
®
®
18
®
®
19
®
®
20
®
®
21
®
®
Sensitivity Analysis
x  S * v(t , x, p )
k 
p 
 x0 
 dv dx dv 
d  dx 
   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
–
–
–
–
–

Simulation
–
–
–

Model merging and joining
Rule based generation of reactions
Transport processes
PK/PD model integration (Simulink)
Compartments / Submodels
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
®
Graphical environment
®
Units can be provided for parameters (as well as species)
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