Title: Modeling with the Systems Biology Workbench
1Modeling with the Systems Biology Workbench
- Herbert M Sauro
- Frank Bergmann
- University of Washington
- Department of Bioengineering
- Seattle, WA
2Why Develop Software?
- Basic simulation software can now be purchased
off the self, a much cheaper option that
developing equivalent solutions in house. - Reasons for Academia to development software
- New algorithms
- New visualization techniques
- New biological applications.
- Pushing the envelope on software
- provision in Systems Biology.
SimBiology Matlab (30 man hours)
3Topics
- Modeling
- Architecture
- Using the software
4Differential Equation Models
Basic System Equations
v reaction rate
Let S be a molecular species in a cellular map
Molecule S
then the rate at which S changes in time is given
by the equation
5Differential Equation Models
Simple example
6Model Definition
Stoichiometry Matrix
Species Vector
Rate Vector
Parameter Vector
7What we Actually Use
Reduced Stoichiometry Matrix
Independent Species
Dependent Species
Part of the Link Matrix
Conservation Vector Totals
8An Example
9An Example
10An Example
11Why is Reduction Important?
Because it permits us to compute a non-singular
Jacobian
Reduced Stoichiometry Matrix
Elasticity Matrix
12Transfer Function
Transfer Function
13Why is the Jacobian Important?
Steady-State
Time Course
Stochastic
Jacobian
Elasticities
Kinetic Laws
(N N L K C)
r
Model
Stoichiometry
SBML
SBW
14Choosing Appropriate Rate Laws
- Different kinds of rate laws for continuous
modeling - Mass-action
- Aggregate Rate laws, e.g. Michaelis-Menten
- Power Laws S Systems
- LinLog
Joseph Heijnen and Diana Visser Delft University
of Technology, The Netherlands
15Choosing Appropriate Rate Laws
16SBW Architecture
SBW is a lightweight framework that allows
different applications written in different
languages and on different platforms to
communicate.
16
17SBW Architecture
Remote Communication
17
18SBW Architecture
Remote Communication
Web Service
18
19SBW Architecture
19
20Perspectives Developer
Windows, Linux and Mac OSX
20
21Programmers Perspective
- Small application programming interface (API)
- Minimize the amount of work necessary to
implement - - Libraries implement inter-program
communications - - A registry of services for applications to
query - - XML-based model representation (SBML)
- Modular, distributed, broker-based architecture
Uses a simple lightweight binary TCP/IP
communication protocol
22Message Structure
- - Messages are passed as binary streams via
TCP/IP - - Blocking and non-blocking calls
- - Exception handling built-in
Supported types in the payload Byte, Boolean,
int, double, string, complex, arrays,
lists Details on SBWs internal architecture can
be found at Sauro HM, Hucka M, Finney A,
Wellock C, Bolouri H, Doyle J and Kitano H.
(2003) Next generation simulation tools the
Systems Biology Workbench and BioSPICE
integration. OMICS. 2003 Winter7(4)355-72.
23Resource Structure
mathModule
Module Level
log
trig
Service Level
log10
sin
ln
cos
Method Level
exp
tan
Demo Inspector
24Exposing methods
public class sbwInterface Help("Returns
the Sine of a value") public double Sin(double
value) return Math.Sin (value)
25Using Other Modules VS Addon
C,C,C
Module Lib File
26Example - Matlab
Building Matlab Services
function y myAdd (a, b) SBW module
SBWMath SBW service myService SBW
method myAdd service myService sigdouble
myAdd(double,double) y a b
Calling SBW from Matlab CLI
sbwconnect getSBML sbwGetMethod (JDesigner,
model, string getSBML()) sbwStr sbwCall
(getSBML)
27Web Services from SBW/BioSPICE
A Web Application is provided that allows every
SBW Module to be wrapped up in a Web Service
Web Service Generator web page available
at http//134.173.97.95/sbwwebservicecreatorinterf
ace/webform1.aspx
28Web Interface Example
http//134.173.97.95/simulation/webform1.aspx
29Categories
Dynamically locate services in a given category
- Categories permit SBW applications to recognize
standard interfaces - in other SBW applications. We currently have
three defined categories - Translation
- Analysis
- Simulation
30Categories
Translation
SBW applications that define the translation
category are capable of translating SBML into
some other format (eg Matlab, XPP) and
returning the translation to the caller.
Analysis
SBW applications that define the analysis
category are capable of accepting an SBML model
and by implication are capable of doing
something with the model.
Simulation
SBW applications that define the simulation
category mean they support the simulation API.
31User Experience
Categories permit users to move seamlessly from
one application to another taking with them the
model under study
32SBW Menu
32
33Perspectives User
33
34Available SBW Simulators
34
35Available SBW Modules
35
36Examples Model Editors
JDesigner
cellDesigner
http//www.sys-bio.org/
http//celldesigner.org/
37Discovering Qualitative Behavior
Discovery Tool Used to search for possible
oscillators and bistable switches in
stoichiometric networks. The tool uses a
search technique based on a genetic algorithm.
38 Discovery Tool
39Specialist ModulesEmery Conrads Oscill8
Interface
Implements the Analysis category so that models
can be accessed from SBW.
40Specialist Modules Structural Analysis Tool
Implements the analysis category.
41Specialist Modules Frequency Analysis Tool
Implements the Analysis category and permits
the frequency response of a model to be
determined.
42Specialist Modules Stochastic Simulators
Implements the analysis category and permits
models to be simulated using a stochastic
solver. Supports additional analysis such as PDF
generation, Power Spectra, autocorrelation, popula
tion metrics. The GUI implements a callback to
the Gillespie simulators to support the progress
bar.
43Auto layout of SBML models
We use this tool to take raw SBML and generate
SBML containing the layout standard that is being
developed by the SBML community. Uses a spring
and mass model to determine layout. Has specific
rules for determining Bezier orientation and
Includes a gravity field to main cohesion of
disconnected sub-graphs. Anastasia Deckard
443D Visualization of Simulation Runs
Based on OpenGL, currently an installer is
available for Windows but the source is portable
to the Mac and Linux. Requires a decent graphics
card for maximum gratification! (
http//public.kgi.edu/fbergman )
453D Visualization of Simulation Runs
Based on OpenGL, currently an installer is
available for Windows but the source is portable
to the Mac and Linux. Requires a decent graphics
card for maximum gratification!
(http//public.kgi.edu/fbergman )
463D Visualization of Simulation Runs
QT Based version
47SBW Workflow for 3D Tool
Structural Analysis Module
SBML Module
Simulator
Model Editor
3D Interface
48Availability
RoadRunner (Simulator) X X X
Network Layout ( Service / GUI ) X / X X / X / X
SimDriver (Simulator GUI) X X
StructAnalysis Tool X X
Bifurcation Discovery Tool X X
Jarnac / JarnacLite X - / - / X
SBML Translators X X X
3D Tool X X X
JDesigner X - -
49Example Usage
50Acknowledgments
Frank Bergmann (SBW) Ravi Rao (Structural
Analysis) Vijay Chickarmane (Bif Discovery
Tool) Anastasia Deckard (Docs, layout tool) Sri
Paladugu (libSBML intregration) Mike Hucka and
Ben Bornstein (libSBML) Alan Hindmarsh
(CVODE) Nowak and Weimann (NLEQ) LAPACK
(NSF/DOE) Availability
GTL
www.sys-bio.org http//public.kgi.edu/fbergman
BioSPICE
51Exposing methods
// create a new service sbwInterface oService
new sbwInterface() // create SBW
module ModuleImplementation oModule new
ModuleImplementation( "edu.kgi.trig", Tri
g Module", LowLevel.ModuleManagementType.Uniqu
eModule, "Provides Trig Functions") // add
the service to it oModule.addService( trig",
Trig Module", "plugin/math/trig", Provides
Trig Functions", ref oService)
oModule.run(args)
52Generic Simulation Interface
Any simulator that implements the Sim API (even
level 1) will automatically be able to use the
interface via this generic simulation interface.
Those API methods that are not supported are
disabled in the interface.