The Systems Biology Markup Language (SBML) Level 2 Version 2

The Systems Biology Markup Language (SBML) is a machine-readable model representation language for software tools in computational systems biology. By supporting SBML as an input/output format, different tools can all operate on an identical representation of a model, removing opportunities for translation errors and assuring a common starting point for analyses and simulations. SBML is by no means a perfect format, but it has achieved widespread acceptance as a de facto standard. It is supported worldwide by over 100 software systems (both open-source and commercial). The broad acceptance of a common, open format for exchanging models between software tools is a crucial step towards wider use of quantitative modeling in biology, because it allows researchers to build upon each other's work with greater ease and accuracy.SBML can encode models consisting of biochemical entities (species) linked by reactions to form networks. An important principle is that models are decomposed into explicitly-labeled constituent elements, the set of which resembles a verbose rendition of chemical reaction equations. The representation deliberately does not cast the model directly into a set of differential equations or other specific interpretation of the model. The formalisms in SBML allows a wide range of biological phenomena to be modeled, including metabolism, cell signaling, gene regulation, and more. Significant flexibility and power comes from the ability to define arbitrary formulae for the rates of change of variables as well as the ability to express other constraints mathematically.This tutorial covered the latest edition of SBML, which is Level 2 Version 2, finalized in September 2006. Topics covered include the basic common principles in SBML as well the changes introduced in Level 2 Version 2. We also discussed software tools for programmers, in particular libSBML.