The ERATO Systems Biology Workbench Michael Hucka, Hamid Bolouri, Andrew Finney, Herbert Sauro ERATO...

Preview:

Citation preview

The ERATO Systems Biology Workbench

Michael Hucka, Hamid Bolouri,Andrew Finney, Herbert Sauro

ERATO Kitano Systems Biology ProjectCalifornia Institute of Technology, Pasadena, CA, USA

Principal Investigators: John Doyle, Hiroaki Kitano

Collaborators: Adam Arkin (BioSpice), Dennis Bray (StochSim), Igor Goryanin (DBsolve), Les Loew (Virtual Cell), Pedro Mendes

(Gepasi/Copasi), Masaru Tomita (E-Cell)

2

Background• Modeling, simulation & analysis are critical

– Huge volumes of data– Many disparate findings

• Rapid rate of software tool development– Roles: data filtering, model creation, model simulation – Many groups are creating many tools

• Different packages have different niche strengths reflecting expertise & preferences of the group

• Strengths are often complementary to those of other packages

3

Complementary Strengths of Tools

Tool 7

Tool 3

Tool 4

Tool 2

Tool 6

Tool 5

Tool 1

Multistate reactions/stochastic

Reaction/Diffusion

Visualization of networks

Optimization

Bifurcation analysis

Handle large systems

4

Problems• No single package answers all needs of modelers

• No single tool is likely to do so in the near future– Range of capabilities is large– New techniques ( new tools) evolving too rapidly

• Researchers are likely to continue using multiple packages for the foreseeable future

• Problems in using multiple tools:– Simulations & results often cannot be shared or re-used – Duplication of software development effort

5

Goal & Approach• Systems Biology Workbench goal: to provide

software infrastructure that – Enables sharing of simulation/analysis software & models

– Enables collaboration between software developers

• Two-pronged approach:– Develop a common model exchange language

• SBML: Systems Biology Markup Language– Develop an environment that enables tools to interact

• SBW: Systems Biology Workbench

6

Systems Biology Markup Language

• Problem:– Many software tools, few common exchange formats

• Difficult to take advantage of multiple tools• Difficult to establish repositories of models

• A Solution (In Principle):– Define a common exchange language

• Use a simple, well-supported, textual substrate (XML)• Add components that reflect the natural conceptual

constructs used by modelers in the domain

7

• Domain: biochemical network models

• A model is described using a list of components:

– Beginning of model definition» List of unit definitions (optional)» List of compartments» List of species» List of parameters (optional)» List of rules (optional)» List of reactions

– End of model definition

• Each component has a specific structure

Structure of Model Definitions in SBML

8

Example

S1

X2

X1

k1*X0

k2*S1

k3*S1

X0

9

Example (cont.)<?xml version=“1.0” encoding=“UTF-8”?><sbml level=“1” version=“1”> <model name=“simple”>

<listOfCompartments> <compartment name=“c1” /> </listOfCompartments>

<listOfSpecies> <specie name=“X0” compartment=“c1” boundaryCondition=“true” initialAmount=“1”/> <specie name=“S1” compartment=“c1”

boundaryCondition=“false” initialAmount=“0”/> <specie name=“X1” compartment=“c1”

boundaryCondition=“true” initialAmount=“0”/> <specie name=“X2” compartment=“c1”

boundaryCondition=“true” initialAmount=“0.23”/> </listOfSpecies>

10

Example (cont.)<?xml version=“1.0” encoding=“UTF-8”?><sbml level=“1” version=“1”> <model name=“simple”>

<listOfCompartments> <compartment name=“c1” /> </listOfCompartments>

<listOfSpecies> <specie name=“X0” compartment=“c1” boundaryCondition=“true” initialAmount=“1”/> <specie name=“S1” compartment=“c1”

boundaryCondition=“false” initialAmount=“0”/> <specie name=“X1” compartment=“c1”

boundaryCondition=“true” initialAmount=“0”/> <specie name=“X2” compartment=“c1”

boundaryCondition=“true” initialAmount=“0.23”/> </listOfSpecies>

11

Example (cont.)<?xml version=“1.0” encoding=“UTF-8”?><sbml level=“1” version=“1”> <model name=“simple”>

<listOfCompartments> <compartment name=“c1” /> </listOfCompartments>

<listOfSpecies> <specie name=“X0” compartment=“c1” boundaryCondition=“true” initialAmount=“1”/> <specie name=“S1” compartment=“c1”

boundaryCondition=“false” initialAmount=“0”/> <specie name=“X1” compartment=“c1”

boundaryCondition=“true” initialAmount=“0”/> <specie name=“X2” compartment=“c1”

boundaryCondition=“true” initialAmount=“0.23”/> </listOfSpecies>

12

Example (cont.)<listOfReactions>

<reaction name=“reaction_1” reversible=“false”> <listOfReactants> <specieReference specie=“X0” stoichiometry=“1”/> </listOfReactants> <listOfProducts> <specieReference specie=“X0” stoichiometry=“1”/> </listOfProducs> <kineticLaw formula=“k1 * X0”> <listOfParameters> <parameter name=“k1” value=“0”/> </listOfParameters> </kineticLaw> </reaction>

<reaction name=“reaction_2” reversible=“false”> <listOfReactants> <specieReference specie=“S1” stoichiometry=“1”/> </listOfReactants> . . .

13

Some Points About SBML• Users do not write in XML — software tools do!• SBML is being defined incrementally

– SBML Level 1 covers non-spatial biochemical models• Intentionally kept simple for maximal compatibility

– SBML Level 2 will extend Level 1 with more facilities

• Defined in abstract form (UML) + textual descriptions– Used to define XML encoding + XML Schema

Level 2

Level 3?

Level 1

E.g.: • Composition• Geometry• Arrays… others

14

Systems Biology Workbench• Open-source, integrated software environment

that enables sharing of computational resources– Allows software developers to build interprocess

communications facilities into their applications

• From the user’s perspective:– One SBW-enabled application can interact with another– Each application or module offers services to others

• E.g.: ODE solution, time-based simulation, visualization, etc.

15

From the User’s Perspective

16

From the User’s Perspective

17

From the User’s Perspective

18

Behind the Scenes

19

From the Programmer’s Perspective

• Desirable features– Small application programming interface (API)– Libraries that implement inter-program communications– A registry of services for applications to query– XML-based model representation (SBML)

• Uses well-known, proven technologies– Communications via message-passing over plain sockets– Modular, distributed, broker-based architecture

• API provides two styles:– “Low-level”: call/send operations + directory services– “High-level”: object-oriented interface layered on top

20

Driving Principles• Keep it language-neutral

– We’ll provide C++, Java, Delphi libraries for Win, Linux• But can be implemented in any language

• Keep it simple– Simple message-passing scheme

• Avoid complexity & size of CORBA• Easy to make cross-platform compatible• Easy to make distributed

– Simple low-level API, convenient higher-level API

• Make sure contributors benefit– Open source development– Symmetric infrastructure: no application dominates

21

Modules Planned• Data filtering & preparation

• Database support– E.g.: web searching, storage management

• Model definition & manipulation– E.g.: scripting languages, visual editors

• Equation solvers– E.g.: ODEs, DAEs, stochastic

• Analysis & visualization tools– E.g.: bifurcation, 2-D/3-D/4-D plotting

• Optimization & parameter searching

22

Summary & Availability• SBML

– Level 1 specification is publicly available• http://www.cds.caltech.edu/erato

– Support being added by other groups to their apps

• SBW– Preliminary test implementation completed– Production version is now in development

• Draft API definition & other info available– http://www.cds.caltech.edu/erato/sbw/docs

– Expect first public release in November atICSB 2001 (http://www.icsb2001.org)

23

24

Outline1) Background and motivations

I.e., why are we doing this?

2) Systems Biology Markup Language (SBML)

Model description language & exchange format

3) Systems Biology Workbench

Infrastructure for connecting software tools

25

Scope of SBML• Domain: biochemical network models

S1 S2 S3X0 X1

K1*X0 - S1*K2

S3/Ki

Vmax*S1

Km+S1

k3*S2

k4*S2 - k5*S3 k6*S3

k7*S3*S12

X2

Recommended