sbml (the systems biology markup language)
DESCRIPTION
Slides from presentation given to the July 27, 2011, caBIG teleconference on Integrative Cancer Research.TRANSCRIPT
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
Roa
dmap What is SBML?
What is the SBML community like today, and how did it get there?
Acknowledgments
2Tuesday, July 26, 2011
SBML
3Tuesday, July 26, 2011
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
Example: Tyson 1991 model of cell cycle
5Tuesday, July 26, 2011
Goal: reproducible and reusable models and simulations6Tuesday, July 26, 2011
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
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
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
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
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
300+ curated & annotated models in BioModels Database
11Tuesday, July 26, 2011
SBM
L So
ftw
are
Gui
de
12Tuesday, July 26, 2011
SBM
L So
ftw
are
Gui
de
Find SBML software
12Tuesday, July 26, 2011
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
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
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
What is the SBML community like today, and how did it get there?16Tuesday, July 26, 2011
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
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
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
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
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
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
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
Roa
dmap What is SBML?
What is the SBML community like today, and how did it get there?
Acknowledgments
24Tuesday, July 26, 2011
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
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
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
Extra slides
28Tuesday, July 26, 2011
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
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
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