Software Development for Systems Biology Herbert M Sauro Frank Bergmann Keck Graduate Institute 535...
-
date post
21-Dec-2015 -
Category
Documents
-
view
215 -
download
1
Transcript of Software Development for Systems Biology Herbert M Sauro Frank Bergmann Keck Graduate Institute 535...
Software Development for Systems Biology
Herbert M Sauro
Frank Bergmann
Keck Graduate Institute
535 Watson Drive
Claremont, CA, 91106
BioSPICE/SBW – Systems Biology Workbench
SBW is a lightweight framework that allows different applications written in different languages and on different platforms to communicate.
Basic Simulation Capability
SBML Support
Model Editors
?
Broker
Message Passing Architecture
SBW Broker
SB
W Interface
Application
SB
W In
terf
ace
Application
SBW Interface
Application
- Messages are passed as binary streams via TCP/IP
Basic Capabilities
- Supports a variety of data types for transmission between apps
- Exception handling built-in
Language and OS Independent:
C/C++, Java, Delphi, .NET (C# etc.), Matlab, Perl, Python.
Linux, Mac OS X, WIn32
public class sbwInterface { [Help("Returns the Sine of a value")] public double Sin(double value) { return Math.Sin (value); } }
Example - Matlab
function y = myAdd (a, b)
%SBW module SBWMath %SBW service myService %SBW method myAdd service myService sig=“double myAdd(double,double)” y = a + b
Building Matlab Services
sbwconnect;
getSBML = sbwGetMethod (‘JDesigner’, ‘model’, ‘string getSBML()’);
sbwStr = sbwCall (getSBML);
Calling SBW from Matlab CLI
Web Services from SBW/BioSPICEA Web Application is provided that allows every SBW Module to be
wrapped up in a Web Service:
See www.sys-bio.org for further examples (layout, SBML validation, simulation)
Categories
Translation
SBW applications that define the translation category are capable of translating SBML into some other format (eg Matlab, XPP) and returningthe translation to the caller.
Analysis
SBW applications that define the analysis category are capable of accepting an SBML model and doing ‘something’ with the model.
Simulation
SBW applications that define the simulation category mean they supportthe simulation API.
Dynamically locate services in a given category
User ExperienceCategories permit users to ‘move’ seamlessly from one application to anothertaking with them the model under study
Database (biomodels)
Time Course Simulation
Steady State
Bifurcation
Frequency Analysis
Stochastic Simulation
Structural Analysis
Model EditorText Based
Model EditorCAD Based
Optimization
????
Examples – Simulators
Oscill8
Jarnac
www.sys-bio.org
roadRunner DizzyJava (Linux, Win, Mac), stochastic
Klaus MaierJava (Linux,Win.Mac), Good Gillespie,Langevin, ODE
Gillespie.NETc# (Linux, Win, Mac),
C++ (Linux,Win,Mac), ODEs,
Events, Emery Conrad/
Delphi (Win), ODE, Well tested
C# (Linux,Win.Mac), designed forSBML compliance (local and global)www,sys-bio.org
Stuttgart
www.sys-bio.org
www.isb.org
Specialist Modules: Bifurcation Analysis Tool
The tool is used todiscover whether aparticular model has the potential to displa oscillatory or bistability.
It uses a GA to search for specific eigenvalue patterns
Specialist Modules:Emery Conrad’s Oscill8 Interface
Bifurcation toolbegin developed at VT by Emery Conrad.
By interfacing to SBW the tool can access SBML and can be run from any SBW tool.
Specialist Modules: Frequency Analysis Tool; Stochastic Simulators
Permits the frequency response of a model to be determined includes MCA.
Permits models to be simulated using a stochastic solver. Supports additional analysis such as PDF generation, Power Spectra,autocorrelation, population metrics
Generic Simulation Interface
Any simulator that implements the Sim API will automatically be able to use the interface via this generic simulation interface. Those API methods that are not supported in the simulator are disabled in the interface.
Auto 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 todetermine layout. Has specific rulesfor determining Bezier orientation and Includes a gravity field to main cohesion of disconnected sub-graphs.
Anastasia Deckard
Non-GUI Modules
- LAPACK- CVODE (ODE Solver)- NLEQ (nonlinear equation solver, f(x)=0)- Structural Analysis Algorithms- Metabolic Control Analysis and Frequency Analysis- ODE Simulators- Stochastic Simulators- libSBML- SBML Translators- Autolayout tools- Basic Optimizers of time series data to models
3D 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 )
3D 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 )
Acknowledgments
Frank Bergmann (SBW)Ravi Rao (Structural Analysis)Vijay Chickarmane (Bif Discovery Tool)Sri Paladugu (libSBML intregration)Mike Hucka and Ben Bornstein (libSBML)Alan Hindmarsh (CVODE)Nowak and Weimann (NLEQ)LAPACK (NSF/DOE)
Availability:
www.sys-bio.orghttp://public.kgi.edu/~fbergman
BioSPICE
GTL