DevEX - reference for building teams, processes, and platforms
SBML (the Systems Biology Markup Language), BioModels Database, and related resources
1. SBML (the Systems Biology Markup Language),
BioModels Database, and related resources
Michael Hucka, Ph.D.
(On behalf of many people)
California Institute of Technology
Pasadena, California, USA
Friday, July 15, 2011 2
2. Background and context
Overview of SBML
Survey of some software resources for SBML
Related efforts
Acknowledgements
Roadmap
Friday, July 15, 2011 3
3. Background and context
Overview of SBML
Survey of some software resources for SBML
Related efforts
Acknowledgements
Roadmap
Friday, July 15, 2011 4
5. Need effective sharing of 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
Friday, July 15, 2011 6
7. Background and context
Overview of SBML
Survey of some software resources for SBML
Related efforts
Acknowledgements
Roadmap
Friday, July 15, 2011 8
8. SBML = 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
• Not procedural
Friday, July 15, 2011 9
9. Basic SBML concepts are simple
The reaction is central: a process occurring at a given rate
• Participants are pools of entities (species)
f ([A],[B],[P ],...)
na A + nb B − − − − − − → np P
−−−−−−
f (...)
nc C −−
−→ nd D + ne E + nf F
.
.
.
Models can further include:
• Other constants & variables • Unit definitions
• Compartments • Annotations
• Explicit math
• Discontinuous events
Friday, July 15, 2011 10
10. Basic SBML concepts are simple
The reaction is central: a process occurring at a given rate
• Participants are pools of entities (species) Can be anything
conceptually
f ([A],[B],[P ],...)
na A + nb B − − − − − − → np P
−−−−−− compatible
f (...)
nc C −−
−→ nd D + ne E + nf F
.
.
.
Models can further include:
• Other constants & variables • Unit definitions
• Compartments • Annotations
• Explicit math
• Discontinuous events
Friday, July 15, 2011 10
11. Some basics of SBML core model encoding
๏ Well-stirred compartments
c
n
Friday, July 15, 2011 11
12. Some basics of SBML core model encoding
c
protein A protein B
n
gene mRNAn mRNAc
Friday, July 15, 2011 12
13. Some basics of SBML core model encoding
๏ Reactions can involve any species anywhere
c
protein A protein B
n
gene mRNAn mRNAc
Friday, July 15, 2011 13
14. Some basics of SBML core model encoding
๏ Reactions can cross compartment boundaries
c
protein A protein B
n
gene mRNAn mRNAc
Friday, July 15, 2011 14
15. Some basics of SBML core model encoding
๏ Reaction/process rates can be (almost) arbitrary formulas
c
protein A f1(x) protein B
n
f5(x) f2(x)
gene f4(x) mRNAn f3(x) mRNAc
Friday, July 15, 2011 15
16. Some basics of SBML core model encoding
๏ “Rules”: equations expressing relationships in addition to reaction sys.
g1(x) c
g2(x) protein A f1(x) protein B
.
.
. n
f5(x) f2(x)
gene f4(x) mRNAn f3(x) mRNAc
Friday, July 15, 2011 16
17. Some basics of SBML core model encoding
๏ “Events”: discontinuous actions triggered by system conditions
g1(x) c
g2(x) protein A f1(x) protein B
.
.
. n
f5(x) f2(x)
gene f4(x) mRNAn f3(x) mRNAc
Event1: when (...condition...), Event2: when (...condition...), ...
do (...assignments...) do (...assignments...)
Friday, July 15, 2011 17
18. Some basics of SBML core model encoding
“This is identified by “This is an enzymatic
c
g1(x) GO id # ...” reaction with EC # ...”
g2(x)
. protein A f1(x) protein B
.
“This is a transport
. n
into the nucleus ...” “This compartment
represents the nucleus ...”
f5(x) f2(x)
gene f4(x) mRNAn f3(x) mRNAc
“This event
represents ...”
Event1: when (...condition...), Event2: when (...condition...), ...
do (...assignments...) do (...assignments...)
Friday, July 15, 2011 18
19. Signaling pathway models Fernandez et al. (2006)
DARPP-32 Is a Robust Integrator
of Dopamine and Glutamate Signals
PLoS Computational Biology
BioModels Database model
#BIOMD0000000153
Scope of SBML is not limited to one kind of model
Friday, July 15, 2011 19
20. Signaling pathway models Hodgkin & Huxley (1952)
A quantitative description of
Conductance-based models membrane current and its
•
application to conduction and
“Rate rules” for temporal evolution excitation in nerve
of quantitative parameters J. Physiology 117:500–544
BioModels Database model
#BIOMD0000000020
Scope of SBML is not limited to one kind of model
Friday, July 15, 2011 20
21. Signaling pathway models Izhikevich EM. (2003)
Simple model of spiking neurons.
Conductance-based models IEEE Trans Neural Net.
• “Rate rules” for temporal evolution
of quantitative parameters
BioModels Database model
#BIOMD0000000127
Neural models
• “Events” for discontinuous changes
in quantitative parameters
Scope of SBML is not limited to one kind of model
Friday, July 15, 2011 21
22. Signaling pathway models Tham et al. (2008)
A pharmacodynamic model for
Conductance-based models the time course of tumor
shrinkage by gemcitabine +
• “Rate rules” for temporal evolution
of quantitative parameters
carboplatin in non-small cell lung
cancer patients
Clin. Cancer Res. 14
Neural models BioModels Database model
• “Events” for discontinuous changes
in quantitative parameters
#BIOMD0000000234
Pharmacokinetic/dynamics models
• “Species” is not required to be a
biochemical entity
Scope of SBML is not limited to one kind of model
Friday, July 15, 2011 22
23. Signaling pathway models Munz et al. (2009 )
Conductance-based models When zombies attack!:
Mathematical modelling of an
• “Rate rules” for temporal evolution
of quantitative parameters
outbreak of zombie infection
Infectious Disease Modelling
Research Progress, eds.
Tchuenche et al., p. 133–150
Neural models
• “Events” for discontinuous changes
in quantitative parameters
BioModels Database model
#MODEL1008060001
Pharmacokinetic/dynamics models
• “Species” is not required to be a
biochemical entity
Infectious diseases
Scope of SBML is not limited to one kind of model
Friday, July 15, 2011 23
24. Number of software systems supporting SBML
300
229 as of July 14 ↓
200
100
0
2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011
(counted in middle of each year)
Friday, July 15, 2011 24
25. What are SBML “Levels”?
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)
Friday, July 15, 2011 25
27. SBML Level 3—A modular SBML
Package Z
Package X Package Y
SBML Level 3 Core
A package adds constructs & capabilities
Models declare which packages they use
• Applications tell users which packages they support
Package development can be decoupled
Friday, July 15, 2011 27
28. Package Specification status
Graph layout Level 3 version defined; in review
Multicomponent species Level 3 version defined; in review
Hierarchical composition Level 3 specification under discussion
Groups Level 3 specification under discussion
Qualitative models Level 3 specification under discussion
Spatial geometry Level 3 specification under discussion
Arrays & sets Specification proposed
Distribution & ranges Specification proposed
Steady-state models Specification proposed
Graph rendering Specification proposed
Spatial diffusion Specification needed
Dynamic structures Specification needed
Friday, July 15, 2011 28
29. Package Specification status
Graph layout Level 3 version defined; in review
Multicomponent species Level 3 version species to represent:
Extends SBML defined; in review
• Entities that can exist under
Hierarchical composition Level 3 specification under discussion
different states affecting their
Groups behaviors
Level 3 specification under discussion
• Entities that are complexes of
Qualitative models Level 3 specification under discussion
other entities
Spatial geometry Level 3 specification under discussion
Arrays & sets Specification proposed
Distribution & ranges Specification proposed
Steady-state models Specification proposed
Graph rendering Specification proposed
Spatial diffusion Specification needed
Dynamic structures Specification needed
Friday, July 15, 2011 28
30. Package Specification status
Graph layout Level 3 version defined; in review
Multicomponent species Level 3 version defined; in review
Hierarchical composition Models composed of submodels
Level 3 specification under discussion
Groups Level 3 specification under discussion
Qualitative models Level 3 specification under discussion
Spatial geometry Level 3 specification under discussion
Arrays & sets Specification proposed
Distribution & ranges Specification proposed
Steady-state models Specification proposed
Graph rendering Specification proposed
Spatial diffusion Specification needed
Dynamic structures Specification needed
Friday, July 15, 2011 28
31. Package Specification status
Graph layout Level 3 version defined; in review
Multicomponent species Level 3 version defined; in review
Hierarchical composition Level 3 specification under discussion
Grouping model entities together,
Groups Level 3 specification under discussion
for conceptual and annotation
Qualitative models Level 3 specification under discussion
purposes
Spatial geometry Level 3 specification under discussion
Arrays & sets Specification proposed
Distribution & ranges Specification proposed
Steady-state models Specification proposed
Graph rendering Specification proposed
Spatial diffusion Specification needed
Dynamic structures Specification needed
Friday, July 15, 2011 28
32. Package Specification status
Graph layout Level 3 version defined; in review
Multicomponent species Level 3 version defined; in review
Hierarchical composition Level 3 specification under discussion
Groups Level 3 specification under discussion
Models in which entity variables are
Qualitative models Levelquantities; e.g., boolean models
not 3 specification under discussion
Spatial geometry Level 3 specification under discussion
Arrays & sets Specification proposed
Distribution & ranges Specification proposed
Steady-state models Specification proposed
Graph rendering Specification proposed
Spatial diffusion Specification needed
Dynamic structures Specification needed
Friday, July 15, 2011 28
33. Package Specification status
Graph layout Level 3 version defined; in review
Multicomponent species Level 3 version defined; in review
Hierarchical composition Level 3 specification under discussion
Groups Level 3 specification under discussion
Qualitative models Level 3 specification under discussion
2-D and 3-D geometry of physical
Spatial geometry Level 3 specification under discussion
objects (compartments & species)
Arrays & sets Specification proposed
Distribution & ranges Specification proposed
Steady-state models Specification proposed
Graph rendering Specification proposed
Spatial diffusion Specification needed
Dynamic structures Specification needed
Friday, July 15, 2011 28
34. Example: Hierarchical Model Composition
Current SBML
Model “A”
Compartments ...
Species ...
Parameters ...
Reactions ...
Friday, July 15, 2011 29
35. Example: Hierarchical Model Composition
Current SBML With model composition
Model “A” Model “A”
Compartments ... Compartments ...
Species ... Species ...
Parameters ... Parameters ...
Reactions ... Reactions ...
Model “B” Model “C”
Compartments ... Compartments ...
Species ... Species ...
Parameters ... Parameters ...
Reactions ... Reactions ...
Friday, July 15, 2011 29
36. More scenarios
Model “A”
Compartments ...
Species ...
Parameters ...
Reactions ...
Model “B” Model “B” Model “B”
Compartments ... Compartments ... Compartments ...
Species ... Species ... Species ...
Parameters ... Parameters ... Parameters ... ...
Reactions ... Reactions ... Reactions ...
Friday, July 15, 2011 30
37. More scenarios
Model “A”
Compartments ...
Species ...
Parameters ...
Reactions ...
Model “B” Model “C”
Compartments ... Compartments ...
Model “D”
Species ... Species ...
Compartments ...
Parameters ... Parameters ...
Species ...
Reactions ... Reactions ...
Parameters ...
Reactions ...
Friday, July 15, 2011 31
38. More scenarios
Separate files/resources
Model “A”
Compartments ... Model “B”
Species ... Compartments ...
Parameters ... Species ... Model “C”
Reactions ... Parameters ... Compartments ...
Reactions ... Species ...
Model “B” Parameters ...
Model “C” Reactions ...
Model “D”
Model “D”
Compartments ...
Think:
Species ... libraries of
Parameters ... well-tested
Reactions ... models
Friday, July 15, 2011 32
39. Links/references/replacements
Model “outer”
Model “inner”
S1 S2
Compartment “c” X1 X2
Compartment “q”
Friday, July 15, 2011 33
40. Links/references/replacements
Model “outer”
Model “inner”
S1 S2
Compartment “c” X1 X2
Compartment “q”
Implied model
Model “outer”
S1 S2 inner/X2
Compartment “c”
Friday, July 15, 2011 33
41. Background and context
Overview of SBML
Survey of some software resources for SBML
Related efforts
Acknowledgements
Roadmap
Friday, July 15, 2011 34
46. Some particularly full-featured, general simulation tools
COPASI: ODE & stochastic simulation, parameter scanning, powerful
plotting capabilities, much more
CellDesigner: graphical editing interface, SBGN support, SABIO-RK
integration, much more
iBioSim: special features for genetic circuit models for synthetic biology
Virtual Cell: web-based interface
roadRunner & SBW: .NET support, many tools in toolkit
Friday, July 15, 2011 38
58. libSBML
๏ Reads, writes, validates SBML Latest stable version: 5.0.0
• Hundreds of rules for helping http://sbml.org/Software/libSBML
to ensure correct SBML
๏ Unit checking & conversion
๏ Well-tested
๏ Written in portable C++
• Linux, Mac, Windows, FreeBSD
๏ APIs for C, C++, C#, Java,
Octave, Perl, Python, Ruby,
MATLAB (some via SWIG)
๏ Developed by Sarah Keating,
๏ Can use Expat, libxml2, or Frank Bergman, Ben Bornstein,
Xerces Akiya Jouraku, & Mike Hucka,
with substantial contributions
๏ Open-source under LGPL from many other people
Friday, July 15, 2011 45
59. JSBML
Pure Java implementation
API is highly compatible with libSBML
• Functionality is subset of libSBML functionality
Under active development
• Already in use in apps
• Help welcome!
Main developers:
Andreas Dräger
& Nicolas Rodriguez
Friday, July 15, 2011 46
62. Features of BioModels Database
Stores & serves quantitative models of biological interest
• Free, public resource
• Models must be described in peer-reviewed publication(s)
All models are curated by hand to reproduce published results
Imports & exports models in several formats
• SBML, CellML, SciLab, XPP, BioPAX
Developed by Nicolas Le Novère’s group (EBI), funded by EBI & NIH
Today: 600+ models
Friday, July 15, 2011 49
64. Background and context
Overview of SBML
Survey of some software resources for SBML
Related efforts
Acknowledgements
Roadmap
Friday, July 15, 2011 51
66. Model Procedures Results
Representation
format SBRML
Minimal info
?
requirements
Semantics—
Mathematical
Other
annotations annotations annotations
Friday, July 15, 2011 53
67. Model Procedures Results
Representation
format SBRML
Minimal info
?
requirements
Semantics—
Mathematical
Other
annotations annotations annotations
Friday, July 15, 2011 53
68. Annotations add semantics and connections
Annotations can answer questions:
• “What exactly is this entity you call X?”
• “What other identities does this entity have?”
• “What exactly is the process represented by equation ‘e17’?”
• “What role does constant ‘k3’ play in equation ‘e17’?”
• “What mathematical framework is being assumed?”
• “What organism is this in?”
• ... etc. ...
Multiple annotations on same entity are common
Friday, July 15, 2011 54
69. Systems Biology Ontology (SBO)
For semantics of a model’s math
Human- & program-accessible
• Browser interface
• Web services
Math formulas in MathML
Friday, July 15, 2011 55
70. Systems Biology Ontology (SBO)
For semantics of a model’s math
Human- & program-accessible
• Browser interface
• Web services
Math formulas in MathML
Friday, July 15, 2011 55
71. Systems Biology Ontology (SBO)
For semantics of a model’s math
Human- & program-accessible
• Browser interface
• Web services
Math formulas in MathML
Friday, July 15, 2011 55
75. What is MIRIAM?
MIRIAM = “Minimum Information Requested In the Annotation of Models”
Addresses 2 general areas
Requirements for reference Scheme for encoding
correspondence annotations
Annotations for Annotations for
attributing model referring to external
creators & sources data resources
MIRIAM is not specific to SBML
Friday, July 15, 2011 57
76. What is MIRIAM?
MIRIAM = “Minimum Information Requested In the Annotation of Models”
Addresses 2 general areas
Requirements for reference Scheme for encoding
correspondence annotations
Annotations for Annotations for
attributing model referring to external
creators & sources data resources
MIRIAM is not specific to SBML
Friday, July 15, 2011 57
77. Model Entity
element referenced
relationship qualifier
(optional)
MIRIAM cross-references are simple triples
{ Data type
identifier
Data item
identifier
Annotation
qualifier }
(Required) (Required) (Optional)
Format:
URI chosen from Syntax & value space Controlled
agreed-upon list depends on data type vocabulary term
Friday, July 15, 2011 58
78. Why worry about standard ways of writing annotations?
Structured, machine-readable annotations increase your model’s utility
• Allow more precise identification of model components
- Understand model structure
- Compare models
- Integrate models
- Search models
• Adds a semantic layer—integrates knowledge into the model
- Understand the underlying biology
- Reuse models
- Convert models to other forms
Friday, July 15, 2011 59
84. “Term #1.1.1.1 (alcohol dehydrogenase) in the Enzyme Commission’s
Enzyme Nomenclature database”
urn:miriam:ec-code:1.1.1.1
{
{
URN scheme established Chosen by the creator of the
by the MIRIAM project entry in MIRIAM Resources
Friday, July 15, 2011 62
85. MIRIAM Resources provides URI dictionary & resolver
http://www.ebi.ac.uk/miriam Community-maintained
Friday, July 15, 2011 63
86. MIRIAM Resources provides URI dictionary & resolver
http://www.ebi.ac.uk/miriam Community-maintained
Friday, July 15, 2011 63
87. MIRIAM identifiers now in use by many other projects
Data resources Application software
• BioModels Database (kinetic models) • ARCADIA
• PSI Consortium (protein interaction) • BioUML
• Reactome (pathways) • COPASI
• Pathway Commons (pathways) • libAnnotationSBML
• libSBML
• SABIO-RK (reaction kinetics)
• Saint
• Yeast consensus model database
• SBML2BioPAX
• E-MeP (structural genomics) • SBML2LaTeX
• SBMLeditor
• semanticSBML
• Snazer
• SBW
• The Virtual Cell
Friday, July 15, 2011 64
88. Annotations enable many interesting possibilities
http://www.semanticsbml.org
Friday, July 15, 2011 65
89. Model Procedures Results
Representation
format SBRML
Minimal info
?
requirements
Semantics—
Mathematical
Other
annotations annotations annotations
Friday, July 15, 2011 66
90. Model Procedures Results
Representation
format SBRML
Minimal info
?
requirements
Semantics—
Mathematical
Other
annotations annotations annotations
Friday, July 15, 2011 66
91. <sbml ...>
...
<listOfCompartments>
<compartment id="cell" size="1e-15" />
</listOfCompartments>
<listOfSpecies>
?
<species compartment="cell" id="S1" initialAmount="1000" />
<species compartment="cell" id="S2" initialAmount="0" />
<listOfSpecies>
<listOfParameters>
<parameter id="k" value="0.005" sboTerm="SBO:0000339" />
<listOfParameters>
<listOfReactions>
<reaction id="r1" reversible="false">
<listOfReactants>
<speciesReference species="S1" stoichiometry="2"
sboTerm="SBO:0000010" />
...
SED-ML = Simulation Experiment Description ML
Application-independent format
Captures procedures, algorithms,
parameter values
• Steps to go from model to output
libSedML project developing API library
Friday, July 15, 2011 67
92. Background and context
Overview of SBML
Survey of some software resources for SBML
Related efforts
Acknowledgements
Roadmap
Friday, July 15, 2011 68
93. People on SBML Team & BioModels Team
SBML Team BioModels.net Team
Michael Hucka Nicolas Le Novère
Sarah Keating Camille Laibe
Frank Bergmann Nicolas Rodriguez
Lucian Smith Nick Juty
Nicolas Rodriguez Vijayalakshmi Chelliah
Linda Taddeo Michael Schubert
Akiya Joukarou Lukas Endler
Akira Funahashi Chen Li
Kimberley Begley Harish Dharuri
Bruce Shapiro Lu Li
Andrew Finney Enuo He
Ben Bornstein Mélanie Courtot
Ben Kovitz Alexander Broicher
Hamid Bolouri Arnaud Henry
Herbert Sauro Visionaries Marco Donizelli
Jo Matthews Hiroaki Kitano
Maria Schilstra John Doyle
Friday, July 15, 2011 69
94. 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.net
Friday, July 15, 2011 70
95. Where to find out more
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/
Thank you for listening!
Friday, July 15, 2011 71