Software Development for Systems Biology Herbert M Sauro Frank Bergmann Keck Graduate Institute 535...

24
Software Development for Systems Biology Herbert M Sauro Frank Bergmann Keck Graduate Institute 535 Watson Drive Claremont, CA, 91106
  • 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); } }

Using Other Modules

Module Lib File

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 – Model Editors

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

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

Examples – SBML

libSBMLhttp://www.sbml.org

SBMLSBW

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: Structural Analysis 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

Why Develop Software?