intro to sbml, at the 8th international cellml workshop, 2014
DESCRIPTION
An introduction to SBML, including: * A description of the differences between SBML and CellML * An overview of core SBML features * An overview of current SBML packages * A description of SBML packages that are nearing completion. Live presentation at 6:45 of https://plus.google.com/events/cqome6k1olnrr2cts7svdiljeeoTRANSCRIPT
SBML: The Systems Biology Markup LanguageLucian Smith
Computing and Mathematical Sciences, Caltech (Mike Hucka)
Bioengineering, University of Washington (Herbert Sauro)
8th International CellML Workshop, session 6
SBML and CellML
Both solve same problem in different ways Facilitate model re-use and exchange. Translators
Can generally preserve all the math Cannot always preserve all the semantics
SBML vs. CellML
CellML Born in 1998 from a desire to create models Wider range of mathematical support Model repository examples from many fields
SBML Born in 2000 from a desire to exchange models Wider tool support (http://sbml.org/SBML_Software_Guide) Supports process-based modeling in its basic
semantics
SBML basics
Processes (‘reactions’)
S1 S2
SBML basics
Processes (‘reactions’)
S1
S2
S1
Implication:dS1/dt = -2*J0dS2/dt = J0 –
J1dS3/d5 = J1
SBML basics
Implied rates of change!
S1
S2
S1
J0
S2 S3J1
Implication:dS1/dt = -2*J0dS2/dt = J0 –
J1dS3/d5 = J1
SBML basics
Facilitates many different analyses: ODEs Stochastic Steady State Parameter minimization Bifurcation analysis [etc.]
SBML basics
‘Species’ amounts and/or concentrations Straight mathematics
dx/dt = f(P) (‘rate rules’) x = f(P) (‘assignment rules’) 0 = f(x, P) (‘algebraic rules’)
Events When (S1>3): S2 = z
Constraints x > f(P)
SBML basics
Semantic content Inherent semantics of SBML elements (reaction,
species, compartment, event, etc.) SBO terms (Systems Biology Ontology) Further annotations with RDF
SBML recent developments:packages Extensions to ‘core’ SBML Add new functionality Separate namespace Development uncoupled from core Sub-community driven Tool support (or non-support) cleaner Full list at http://sbml.org/Community/Wiki
SBML recent developments:hierarchical modeling Roughly equivalent to CellML ‘components’
Both: nested elements for modularity CellML: black box, declare once SBML: white box*, declarations overridden
Facilitates model re-use and incorporation ‘Flattened’ to core SBML ‘Antimony’ translations between CellML and
hierarchical SBML: http://bioinformatics.oxfordjournals.org/content/30/7/903
SBML recent developments:hierarchical modeling
SBML recent developments:flux balance constraints Reactions given plausible ranges instead of
specific rates (bounds) Conditional optima defined and analyzed
(objective functions) such as: Maximize growth in presence/absence of O2
Maximize growth with knockouts
SBML recent developments:qualitative modeling Modeling of states (vs. values)
Boolean or multi-state networks Petri nets
New SBML constructs that parallel Reactions and Species
SBML recent developments:layout package Developed as SBML Level 2 annotations Visualization of SBML models
In the works:SBML Level 3 version 2 Fix problems Add clarifications Semantic changes
More allowed MathML Better integration of core with packages
Full list at https://sourceforge.net/p/sbml/sbml-specifications/
In the works:Spatial modeling Allows modeling of reactions and species in
space
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3519356/
In the works:Spatial modeling Allows modeling of reactions and species in
space Defines geometries
and mappings
In the works:Spatial modeling Allows modeling of reactions and species in
space Defines geometries and mappings Diffusion and Advection
In the works:Spatial modeling Allows modeling of reactions and species in
space Defines geometries and mappings Diffusion and Advection Status:
Draft specification available VirtualCell and Copasi have exchanged models for a
subset of full specification
In the works:Distributions Uses UncertML (http://uncertml.org/) Allows defining elements as coming from
distributions Allows drawing of values from distributions Status:
Draft specification available No implementations at this time
In the works:Arrays Extends MathML to allow vectors and matrices Allows definition of arrayed SBML elements Designed to mesh easily with hierarchical
modeling Status:
Draft specification available Test implementation in iBioSim
In the works:Multistate/Multicomponent models
In the works:Multistate/Multicomponent models Multistate
In the works:Multistate/Multicomponent models Multistate Multicomponent
In the works:Multistate/Multicomponent models Multistate Multicomponent Status:
Draft specification available Test implementation in Simmune
In the works:Rendering Extends ‘layout’ Allow specification of
colors/lines/etc. Status:
Level 2 annotation defined but not fully agreed on
Level 3 package in the works
Various test implementations
Questions?