440 likes | 1.19k Views
SimBiology and MATLAB: A Software Platform for Modeling, Simulation and Analysis of Biological Systems. Ricardo Paxson PRIME Workshop, Princeton University June 16, 2006. Pre-SimBiology Model in MATLAB Code. Desired Software Features: Models are a Store of Institutional Knowledge.
E N D
SimBiology and MATLAB: A Software Platform for Modeling, Simulation and Analysis of Biological Systems Ricardo Paxson PRIME Workshop, Princeton University June 16, 2006
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.)
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
Block appearance can be customized and stored in a block library for subsequent use and standardization.
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
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’;
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)
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
Drug Discovery with in silico design Patient Stratification Drug Development Strategy Model Elaboration,Refinement Model target and associated pathways Compile Literature Knowledge Verification Model refinement, training, and validation In vivo testing Generate Experimental Data ParameterEstimation Verification In vitro testing Sensitivity Analysis Identify target & best mechanism of action Test and Verification Design Drug Candidate
Sensitivity Analysis • Complex-step method to compute derivatives • Martins et.al. ACM Transactions on Mathematical Software, Vol. 29, No. 3, September 2003, Pages 245–262.
Sensitivity Analysis example: >> m = sbmlimport(‘radiodecay’); >> [t, x, names] = sbiosimulate(m); >> plot(t,x); legend(names);
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)
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');
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'
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
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
Graphical environment System can be specified as a list of reactions Choosing from a user defined library of kinetics producesthe corresponding reaction rate.
Units can be provided for parameters (as well as species)SimBiology uses this to perform Dimensional Analysis andUnit conversion. There is a user defined library of Units. Graphical environment
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.
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.
Graphical environment Diagram icons are user customizableand can be placed in libraries. This example library shows icons taken from Biocarta.