Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Development for Systems Biology Herbert M Sauro Frank Bergmann Keck Graduate Institute 535 Watson Drive Claremont, CA, 91106.

Similar presentations


Presentation on theme: "Software Development for Systems Biology Herbert M Sauro Frank Bergmann Keck Graduate Institute 535 Watson Drive Claremont, CA, 91106."— Presentation transcript:

1 Software Development for Systems Biology Herbert M Sauro Frank Bergmann Keck Graduate Institute 535 Watson Drive Claremont, CA, 91106

2 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

3 Message Passing Architecture SBW Broker SBW Interface Application SBW Interface Application SBW Interface Application - Messages are passed as binary streams via TCP/IP

4 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); }

5 Using Other Modules Module Lib File

6 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

7 Web Services from SBW/BioSPICE A 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)www.sys-bio.org

8 Categories 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 doing ‘something’ with the model. Simulation SBW applications that define the simulation category mean they support the simulation API. Dynamically locate services in a given category

9 User Experience Categories permit users to ‘move’ seamlessly from one application to another taking with them the model under study Database (biomodels) Time Course Simulation Steady State Bifurcation Frequency Analysis Stochastic Simulation Structural Analysis Model Editor Text Based Model Editor CAD Based Optimization ????

10 Examples – Model Editors JDesigner http://celldesigner.org / cellDesigner http://www.sys-bio.org /

11 Modeling Environment: Jarnac http://www.sys-bio.org /

12 Examples – SBML libSBML http://www.sbml.org SBMLSBW

13 Examples – Simulators Oscill8 Jarnac www.sys-bio.org roadRunner Dizzy Java (Linux, Win, Mac), stochastic Klaus Maier Java (Linux,Win.Mac), Good Gillespie,Langevin, ODE Gillespie.NET c# (Linux, Win, Mac), C++ (Linux,Win,Mac), ODEs, Events, Emery Conrad / Delphi (Win), ODE, Well tested C# (Linux,Win.Mac), designed for SBML compliance (local and global) www,sys-bio.org Stuttgart www.sys-bio.org www.isb.org

14 Specialist Modules: Bifurcation Analysis Tool The tool is used to discover whether a particular model has the potential to displa oscillatory or bistability. It uses a GA to search for specific eigenvalue patterns

15 Specialist Modules: Emery Conrad’s Oscill8 Interface Bifurcation tool begin developed at VT by Emery Conrad. By interfacing to SBW the tool can access SBML and can be run from any SBW tool.

16 Specialist Modules: Structural Analysis Tool

17 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

18 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.

19 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 to determine layout. Has specific rules for determining Bezier orientation and Includes a gravity field to main cohesion of disconnected sub- graphs. Anastasia Deckard

20 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

21 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 )http://public.kgi.edu/~fbergman

22 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 )http://public.kgi.edu/~fbergman

23 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.org http://public.kgi.edu/~fbergman BioSPICE GTL

24 Why Develop Software?


Download ppt "Software Development for Systems Biology Herbert M Sauro Frank Bergmann Keck Graduate Institute 535 Watson Drive Claremont, CA, 91106."

Similar presentations


Ads by Google