Levels in SBML are used to manage complexity and evolution of the standard. A Level in SBML is an attempt to provide a given set of features for describing models, with higher Levels providing more powerful features. Within a given SBML Level, minor revisions to SBML are termed Versions and constitute changes within a Level to correct, adjust and refine features. Additionally, to cope with occasional minor editorial changes that may be needed, SBML specification come with Release numbers within Versions.
SBML Level 3
SBML Level 3 is currently the highest Level of SBML. It has an extensible modular architecture consisting of a central set of fixed features (named SBML Level 3 Core) and optional Packages that can augment the Core by extending existing elements, adding new elements, and adjusting the meaning or scope of elements.
SBML Level 3 Version 2 Core
The most recent definition of SBML Level 3 is Version .
Past releases of SBML Level 3 are available from a separate page.
SBML Level 3 Packages
SBML Level 3 Core is best suited to representing reaction-based models. SBML Level 3 Packages extend the Core with constructs suited to other model types, including constraint-based models, reaction-diffusion models, logical network models, rule-based models, and more. A model expressed using SBML Level 3 can declare which packages it uses in order to guide interpretation by software applications. If an application detects the presence of packages that it does not support, it may inform users if it cannot work with the model.
Packages are developed by separate groups apart from the SBML Editors. If you use an SBML Level 3 Package in your software or your work, please cite the publication associated with the package to give credit to the package developers. Citation information is given in the package detail pages, linked below.
|arrays||Support for expressing arrays of things||Draft available|
|comp||Supports the creation of models from other complete models or from model fragments||Released|
|distrib||Support for encoding models that sample values from statistical distributions||Released|
|dyn||Support for creating and destroying entities during a simulation||Draft available|
|fbc||Support for constraint-based (a.k.a. steady-state) models||Released|
|groups||A means for grouping elements||Released|
|layout||Support for storing the spatial topology of a network diagram; adjunct to the render package||Released|
|math||A suite of packages that collectively allow MathML beyond the subset allowed in SBML core||Not started|
|multi||Object structures for representing entity pools with multiple states and composed of multiple components, and reaction rules involving them||Released|
|qual||Support for models wherein species do not represent quantity of matter & processes are not reactions per se||Released|
|render||Support for defining the graphical symbols and glyphs used in a diagram of the model; adjunct to the layout package||Released|
|spatial||Support for describing processes that involve a spatial component, and describing the geometries involved||Draft available|
SBML Level 2
The current definition of SBML Level 2 is Version . Unlike Level 3, SBML Level 2 is monolithic and not a modular format. Its structure is similar to SBML Level 3 Core, but there are no packages extending Level 2.
The separate Levels of SBML are intended to coexist – SBML Level 3 does not render Level 2 obsolete. Software tools that cannot support higher levels can keep using lower levels. Level 2-compatible models and software tools still continue to be used today.
Past releases of SBML Level 2 are available from a separate page.
SBML Level 1
The current definition of SBML Level 1 is Version .
Past releases of SBML Level 1 are available from a separate page.