Software Development for Systems Biology
description
Transcript of Software Development for Systems Biology
![Page 1: Software Development for Systems Biology](https://reader036.fdocuments.net/reader036/viewer/2022062501/5681604c550346895dcf7679/html5/thumbnails/1.jpg)
Software Development for Systems Biology
Herbert M SauroFrank Bergmann
Keck Graduate Institute535 Watson Drive
Claremont, CA, 91106
![Page 2: Software Development for Systems Biology](https://reader036.fdocuments.net/reader036/viewer/2022062501/5681604c550346895dcf7679/html5/thumbnails/2.jpg)
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
![Page 3: Software Development for Systems Biology](https://reader036.fdocuments.net/reader036/viewer/2022062501/5681604c550346895dcf7679/html5/thumbnails/3.jpg)
Message Passing Architecture
SBW Broker
SB
W Interface
Application
SB
W In
terfa
ce
Application
SBW Interface
Application
- Messages are passed as binary streams via TCP/IP
![Page 4: Software Development for Systems Biology](https://reader036.fdocuments.net/reader036/viewer/2022062501/5681604c550346895dcf7679/html5/thumbnails/4.jpg)
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); } }
![Page 5: Software Development for Systems Biology](https://reader036.fdocuments.net/reader036/viewer/2022062501/5681604c550346895dcf7679/html5/thumbnails/5.jpg)
Using Other Modules
Module Lib File
![Page 6: Software Development for Systems Biology](https://reader036.fdocuments.net/reader036/viewer/2022062501/5681604c550346895dcf7679/html5/thumbnails/6.jpg)
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
![Page 7: Software Development for Systems Biology](https://reader036.fdocuments.net/reader036/viewer/2022062501/5681604c550346895dcf7679/html5/thumbnails/7.jpg)
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)
![Page 8: Software Development for Systems Biology](https://reader036.fdocuments.net/reader036/viewer/2022062501/5681604c550346895dcf7679/html5/thumbnails/8.jpg)
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
![Page 9: Software Development for Systems Biology](https://reader036.fdocuments.net/reader036/viewer/2022062501/5681604c550346895dcf7679/html5/thumbnails/9.jpg)
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
????
![Page 10: Software Development for Systems Biology](https://reader036.fdocuments.net/reader036/viewer/2022062501/5681604c550346895dcf7679/html5/thumbnails/10.jpg)
Examples – Model Editors
JDesignerhttp://celldesigner.org/cellDesignerhttp://www.sys-bio.org/
![Page 11: Software Development for Systems Biology](https://reader036.fdocuments.net/reader036/viewer/2022062501/5681604c550346895dcf7679/html5/thumbnails/11.jpg)
Modeling Environment: Jarnachttp://www.sys-bio.org/
![Page 12: Software Development for Systems Biology](https://reader036.fdocuments.net/reader036/viewer/2022062501/5681604c550346895dcf7679/html5/thumbnails/12.jpg)
Examples – SBML
libSBMLhttp://www.sbml.org
SBMLSBW
![Page 13: Software Development for Systems Biology](https://reader036.fdocuments.net/reader036/viewer/2022062501/5681604c550346895dcf7679/html5/thumbnails/13.jpg)
Examples – Simulators
Oscill8
Jarnacwww.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
![Page 14: Software Development for Systems Biology](https://reader036.fdocuments.net/reader036/viewer/2022062501/5681604c550346895dcf7679/html5/thumbnails/14.jpg)
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
![Page 15: Software Development for Systems Biology](https://reader036.fdocuments.net/reader036/viewer/2022062501/5681604c550346895dcf7679/html5/thumbnails/15.jpg)
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.
![Page 16: Software Development for Systems Biology](https://reader036.fdocuments.net/reader036/viewer/2022062501/5681604c550346895dcf7679/html5/thumbnails/16.jpg)
Specialist Modules: Structural Analysis Tool
![Page 17: Software Development for Systems Biology](https://reader036.fdocuments.net/reader036/viewer/2022062501/5681604c550346895dcf7679/html5/thumbnails/17.jpg)
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
![Page 18: Software Development for Systems Biology](https://reader036.fdocuments.net/reader036/viewer/2022062501/5681604c550346895dcf7679/html5/thumbnails/18.jpg)
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.
![Page 19: Software Development for Systems Biology](https://reader036.fdocuments.net/reader036/viewer/2022062501/5681604c550346895dcf7679/html5/thumbnails/19.jpg)
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
![Page 20: Software Development for Systems Biology](https://reader036.fdocuments.net/reader036/viewer/2022062501/5681604c550346895dcf7679/html5/thumbnails/20.jpg)
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
![Page 21: Software Development for Systems Biology](https://reader036.fdocuments.net/reader036/viewer/2022062501/5681604c550346895dcf7679/html5/thumbnails/21.jpg)
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 )
![Page 22: Software Development for Systems Biology](https://reader036.fdocuments.net/reader036/viewer/2022062501/5681604c550346895dcf7679/html5/thumbnails/22.jpg)
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 )
![Page 23: Software Development for Systems Biology](https://reader036.fdocuments.net/reader036/viewer/2022062501/5681604c550346895dcf7679/html5/thumbnails/23.jpg)
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
![Page 24: Software Development for Systems Biology](https://reader036.fdocuments.net/reader036/viewer/2022062501/5681604c550346895dcf7679/html5/thumbnails/24.jpg)
Why Develop Software?