sbml (the systems biology markup language)

33
SBML (the Systems Biology Markup Language) Michael Hucka, Ph.D. (On behalf of many people) California Institute of Technology Pasadena, California, USA 1 Tuesday, July 26, 2011

Upload: mike-hucka

Post on 05-Dec-2014

1.104 views

Category:

Technology


2 download

DESCRIPTION

Slides from presentation given to the July 27, 2011, caBIG teleconference on Integrative Cancer Research.

TRANSCRIPT

Page 1: SBML (the Systems Biology Markup Language)

SBML (the Systems Biology Markup Language)

Michael Hucka, Ph.D.(On behalf of many people)

California Institute of TechnologyPasadena, California, USA

1Tuesday, July 26, 2011

Page 2: SBML (the Systems Biology Markup Language)

Roa

dmap What is SBML?

What is the SBML community like today, and how did it get there?

Acknowledgments

2Tuesday, July 26, 2011

Page 3: SBML (the Systems Biology Markup Language)

SBML

3Tuesday, July 26, 2011

Page 4: SBML (the Systems Biology Markup Language)

Subject matter: computational modeling

Focus on mechanistic, computational models

• Preferrably not statistical or curve-fitting models, but dynamical models expressing hypothesized physical & chemical mechanisms

- Equations refer to identifiable processes

- Parameters have physical interpretations

Experiments

Models

Data

4Tuesday, July 26, 2011

Page 5: SBML (the Systems Biology Markup Language)

Example: Tyson 1991 model of cell cycle

5Tuesday, July 26, 2011

Page 6: SBML (the Systems Biology Markup Language)

Goal: reproducible and reusable models and simulations6Tuesday, July 26, 2011

Page 7: SBML (the Systems Biology Markup Language)

To achieve that, need effective means for sharing models

Not enough simply to publish lists of equations!

Need a software-independent format

• No single package answers all needs

• New techniques (⇒ new tools) are developed continuously

• Different packages have different niche strengths

- Strengths are often complementary

Need to capture both

• Mathematical content of a model

• Semantic content of a model

7Tuesday, July 26, 2011

Page 8: SBML (the Systems Biology Markup Language)

Format for representing quantitative models

• Defines object model + rules for its use

- Serialized to XML

Neutral with respect to modeling framework

• ODE vs. stochastic vs. ...

A lingua franca for software

But: not a procedural description

SBML = Systems Biology Markup Language

8Tuesday, July 26, 2011

Page 9: SBML (the Systems Biology Markup Language)

The reaction is central: a process occurring at a given rate

• Participants are pools of entities (species)

Models can further include:

• Other constants & variables

• Compartments

• Explicit math

• Discontinuous events

Basic SBML concepts are simple

naA + nbBf([A],[B],[P ],...)−−−−−−−−−−−−→npP

ncCf(...)−−−→ ndD + neE + nfF

...

• Unit definitions

• Annotations

9Tuesday, July 26, 2011

Page 10: SBML (the Systems Biology Markup Language)

The reaction is central: a process occurring at a given rate

• Participants are pools of entities (species)

Models can further include:

• Other constants & variables

• Compartments

• Explicit math

• Discontinuous events

Basic SBML concepts are simple

naA + nbBf([A],[B],[P ],...)−−−−−−−−−−−−→npP

ncCf(...)−−−→ ndD + neE + nfF

...

Can be anything conceptually compatible

• Unit definitions

• Annotations

9Tuesday, July 26, 2011

Page 11: SBML (the Systems Biology Markup Language)

Scope of SBML is not limited to one kind of model

Signaling pathway models

Conductance-based models

• “Rate rules” for temporal evolution of quantitative parameters

Neural models

• “Events” for discontinuous changesin quantitative parameters

Pharmacokinetic/dynamics models

• “Species” is not required to be abiochemical entity

Infectious diseases BioModels Database model#MODEL1008060001

BioModels Database model#BIOMD0000000153

BioModels Database model#BIOMD0000000020

BioModels Database model#BIOMD0000000127

BioModels Database model#BIOMD0000000234

Example of model type Example model

10Tuesday, July 26, 2011

Page 12: SBML (the Systems Biology Markup Language)

300+ curated & annotated models in BioModels Database

11Tuesday, July 26, 2011

Page 13: SBML (the Systems Biology Markup Language)

SBM

L So

ftw

are

Gui

de

12Tuesday, July 26, 2011

Page 14: SBML (the Systems Biology Markup Language)

SBM

L So

ftw

are

Gui

de

Find SBML software

12Tuesday, July 26, 2011

Page 15: SBML (the Systems Biology Markup Language)

0

100

200

300

2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011

(counted in middle of each year)

229 as of July 14 ↓

Number of software systems supporting SBML

http://sbml.org/SBML_Software_Guide

13Tuesday, July 26, 2011

Page 16: SBML (the Systems Biology Markup Language)

libSBML

Reads, writes, validates SBML

• Hundreds of rules for helping to ensure correct SBML

Unit checking & conversion

Well-tested

Core is written in portable C++

Runs on Linux, Mac, Windows

APIs for C, C++, C#, Java, Octave, Perl, Python, Ruby, MATLAB (some via SWIG)

Can use Expat, libxml2, or Xerces

Open-source under LGPL

Developed by Sarah Keating, Frank Bergmann, Ben Bornstein, Akiya Jouraku, & Mike Hucka, with substantial contributions from many other people

Latest stable version: 5.0.0http://sbml.org/Software/libSBML

14Tuesday, July 26, 2011

Page 17: SBML (the Systems Biology Markup Language)

Current state of SBML specifications

Specification document available from http://sbml.org/Documents

Newest: Level 3 Version 1 Core

• Oct. 2010

About SBML “Levels”:

• Levels help manage significant restructuring of SBML architecture

• Levels coexist

- E.g., Level 2 models will remain valid and exist for a long time

• A Level is not solely a vertical change (i.e., more features)—there is horizontal change too (i.e., changes to existing elements)

15Tuesday, July 26, 2011

Page 18: SBML (the Systems Biology Markup Language)

What is the SBML community like today, and how did it get there?16Tuesday, July 26, 2011

Page 19: SBML (the Systems Biology Markup Language)

What happened in the beginning?

Circa 2000: Hamid Bolouri contacted groups having relevant software tools

• Organized workshops & set goal: develop interoperability

• Funding from Japanese agency JST (via Hiroaki Kitano & John Doyle)

• 3 core developers worked on software infrastructure at Caltech

Early years: focus on software infrastructure (SBW)

• SBML was a component, but not sole (or even primary) focus

Eventually: SBML turned out to be more popular

• 2 core developers remained (Finney & Hucka), focused on SBML

• More groups/software supported SBML

• Original dev. process was ad hoc, but involved constant feedback

- Hosted biannual workshops where intense discussions were held

17Tuesday, July 26, 2011

Page 20: SBML (the Systems Biology Markup Language)

What happened when SBML gained users?

Implemented editorial board

• Bootstrapped with heavily-involved people (Hucka, Finney, Le Novère)

- After that, turned to community-based elections

• Editors are volunteers, serve for limited terms

Implemented electronic polling for major decisions & voting

Continued biannual meetings

• Split into forum meetings and hackathons

Developed a somewhat more formal process

• http://sbml.org/Documents/SBML_Development_Process

18Tuesday, July 26, 2011

Page 21: SBML (the Systems Biology Markup Language)

SBML’s scope is widening to support more types of models

SBML Level 3 Core

Package X Package Y

Package Z

SBML Level 3 is designed around concept of modular additions

• A package adds constructs & capabilities

Models declare which packages they use

• Applications tell users which packages they support

Package development can be decoupled

19Tuesday, July 26, 2011

Page 22: SBML (the Systems Biology Markup Language)

What’s happening now?

SBML Level 3 Package specification & software development is ongoing

Creation of COMBINE: Computational Modeling in Biology Network

• Goal: coordinate development of interoperable, non-overlapping standards covering all aspects of modeling in biology

• http://co.mbine.org/

20Tuesday, July 26, 2011

Page 23: SBML (the Systems Biology Markup Language)

Representationformat

Model Procedures Results

Minimal inforequirements

Semantics—

Mathematical

Other

SBRML

?

annotations annotations annotations

Standards emerging for related but out-of-scope areas21Tuesday, July 26, 2011

Page 24: SBML (the Systems Biology Markup Language)

Some lessons about what think we got right

Start with actual stakeholders

• Address real needs, not perceived ones

Don’t include the kitchen sink

• Smaller & simpler ⇒ easier to understand, describe, implement

Provide transparent & inclusive process

• Critical to legitimacy—people must see their ideas being considered

Engage people, constantly, in many ways

• Not just electronic forums, email, etc., but face-to-face

• Not getting responses? Find a new approach!

Have independent leaders/organizers/shepherds

• Avoid the appearance of bias or agenda

22Tuesday, July 26, 2011

Page 25: SBML (the Systems Biology Markup Language)

Some lessons about what definitely got wrong

Inadequate testing before freezing/releasing

Not managing complexity creep

• Feature changes between SBML versions make support harder

Not formalizing the process sufficiently

• Need “Requests for Comments” procedures, voting procedures, etc.

• Only put most of this in place in recent years

Underestimating how much time it takes to do everything

• Also: democratic, open processes move slowly

23Tuesday, July 26, 2011

Page 26: SBML (the Systems Biology Markup Language)

Roa

dmap What is SBML?

What is the SBML community like today, and how did it get there?

Acknowledgments

24Tuesday, July 26, 2011

Page 27: SBML (the Systems Biology Markup Language)

People on SBML Team & BioModels Team

SBML Team BioModels.net TeamMichael Hucka Nicolas Le NovèreSarah Keating Camille Laibe

Frank Bergmann Nicolas RodriguezLucian Smith Nick Juty

Nicolas Rodriguez Vijayalakshmi ChelliahLinda Taddeo Michael SchubertAkiya Joukarou Lukas EndlerAkira Funahashi Chen Li

Kimberley Begley Harish DharuriBruce Shapiro Lu LiAndrew Finney Enuo HeBen Bornstein Mélanie Courtot

Ben Kovitz Alexander BroicherHamid Bolouri Arnaud HenryHerbert Sauro Marco DonizelliJo Matthews

Maria Schilstra

VisionariesHiroaki Kitano

John Doyle

25Tuesday, July 26, 2011

Page 28: SBML (the Systems Biology Markup Language)

National Institute of General Medical Sciences (USA)

European Molecular Biology Laboratory (EMBL)ELIXIR (UK)

Beckman Institute, Caltech (USA)

Keio University (Japan)

JST ERATO Kitano Symbiotic Systems Project (Japan) (to 2003)

National Science Foundation (USA)

International Joint Research Program of NEDO (Japan)

JST ERATO-SORST Program (Japan)

Japanese Ministry of Agriculture

Japanese Ministry of Educ., Culture, Sports, Science and Tech.

BBSRC (UK)

DARPA IPTO Bio-SPICE Bio-Computation Program (USA)

Air Force Office of Scientific Research (USA)

STRI, University of Hertfordshire (UK)

Molecular Sciences Institute (USA)

Agencies to thank for supporting SBML & BioModels.net26Tuesday, July 26, 2011

Page 29: SBML (the Systems Biology Markup Language)

Where to find out more

Thank you for your time!

SBML http://sbml.org

libSBML & JSBML http://sbml.org/Software

BioModels Database http://biomodels.net/biomodels

MIRIAM http://biomodels.net/miriam

SED-ML http://biomodels.net/sed-ml

SBO http://biomodels.net/sbo

KiSAO http://www.ebi.ac.uk/compneur-srv/kisao/

TEDDY http://www.ebi.ac.uk/compneur-srv/teddy/

27Tuesday, July 26, 2011

Page 30: SBML (the Systems Biology Markup Language)

Extra slides

28Tuesday, July 26, 2011

Page 31: SBML (the Systems Biology Markup Language)

Evolution of features took time & practical experience

Level 1 Level 2 Level 3predefined math

functionsuser-defined functions user-defined functions

text-string math notation MathML subset MathML subset

reserved namespaces for annotations

no reserved namespaces for annotations

no reserved namespaces for annotations

no controlled annotation scheme

RDF-based controlled annotation scheme

RDF-based controlled annotation scheme

no discrete events discrete events discrete events

default values defined default values defined no default values

monolithic monolithic modular

29Tuesday, July 26, 2011

Page 32: SBML (the Systems Biology Markup Language)

Level 3 package Active? libSBML 5 implementation?

Graph layout

Groups

Spatial

Flux balance constraints

Hierarchical composition (in progress)

Multicomponent species

Annotations

Graph rendering

Distribution & ranges

Qualitative models

Dynamic structures

Arrays & sets

✓✓✓✓✓✓

✓✓

30Tuesday, July 26, 2011

Page 33: SBML (the Systems Biology Markup Language)

MIRIAM cross-references are simple triples

Data type identifier

Data item identifier

Annotation qualifier

Model element

Entity referenced

relationship qualifier(optional)

{ }(Required) (Required) (Optional)

URI chosen from agreed-upon list

Syntax & value space depends on data type

Format:

Controlled vocabulary term

31Tuesday, July 26, 2011