software development for systems biology

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

Upload: tal

Post on 22-Feb-2016

35 views

Category:

Documents


0 download

DESCRIPTION

Software Development for Systems Biology. Herbert M Sauro Frank Bergmann Keck Graduate Institute 535 Watson Drive Claremont, CA, 91106. BioSPICE/SBW – Systems Biology Workbench. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Software Development for Systems Biology

Software Development for Systems Biology

Herbert M SauroFrank Bergmann

Keck Graduate Institute535 Watson Drive

Claremont, CA, 91106

Page 2: Software Development for Systems Biology

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

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

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

Using Other Modules

Module Lib File

Page 6: Software Development for Systems Biology

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

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

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

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

Examples – Model Editors

JDesignerhttp://celldesigner.org/cellDesignerhttp://www.sys-bio.org/

Page 11: Software Development for Systems Biology

Modeling Environment: Jarnachttp://www.sys-bio.org/

Page 12: Software Development for Systems Biology

Examples – SBML

libSBMLhttp://www.sbml.org

SBMLSBW

Page 13: Software Development for Systems Biology

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

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

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

Specialist Modules: Structural Analysis Tool

Page 17: Software Development for Systems Biology

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

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

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

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

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

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

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

Why Develop Software?