A communiqué from Michael Hucka of the Caltech ERATO team reports on the publication of the Final Level 1 specification for the Systems Biology Markup Language (SBML). The ERATO Systems Biology Workbench Development Team has developed an XML Schema for SBML, "a description language for simulations in systems biology. SBML is oriented towards representing biochemical networks common in research on a number of topics, including cell signaling pathways, metabolic pathways, biochemical reactions, gene regulation, and many others. The motivations for developing SBML stem from the current inability to exchange models between simulation/analysis tools. SBML Level 1 is meant to support non-spatial biochemical models and the kinds of operations that are possible in existing analysis/simulation tools. The primary specification document uses a simple UML-based notation to describe the data structures and presents a first-pass XML Schema; a secondary supporting document explains the 'SCHUCS' UML-based notation. SBML Level 1 is the result of merging modeling-language features from the following simulation systems: BioSpice, DBSolve, E-Cell, Gepasi, Jarnac, StochSim, and Virtual Cell. SBML was developed with the help of the authors of these packages; as a result of being based on actual working simulation software, it is a practical and functional description language. The team's goal in creating SBML has been to provide an open standard that will enable simulation software to exchange models."

From the announcement of 2001-03:

SBML is a description language for simulations in systems biology. It is oriented towards representing biochemical networks common in research on a number of topics, including cell signaling pathways, metabolic pathways, biochemical reactions, gene regulation, and many others.

The motivations for developing SBML stem from the current inability to exchange models between simulation/analysis tools. The lack of a common standard for exchanging models poses two problems for researchers. First, models cannot be shared directly between tools because the file format used by each tool is unique and nontransferable. This makes it difficult if not impossible for a researcher to exchange models. Second, when a simulator is upgraded or is no longer supported, models developed in the ``old'' system become stranded and unusable in any other simulator. This later scenario has already happened on a number of occasions, with the resulting loss of the model to the scientific community. With the recent proliferation of new biochemical simulators, this situation can only get worse.

We have kept the base definition of SBML as simple as possible, so that simulator developers will not find it too difficult to implement support for SBML in their tools. This base definition, called SBML Level 1, is the result of merging modeling-language features from a number of existing software packages, and encompasses the minimal information required for biochemical models. Additional structures and facilities will be added to SBML in subsequent levels; among the features we are developing for SBML Level 2 are hierarchical models and spatial characteristics. By freezing subsets of features in SBML definitions at incremental levels, we hope to provide the community with stable standards to which software authors can design to, while at the same time allowing the simulation community to gain experience with the language definitions before introducing new elements.

The effort perhaps closest in spirit to SBML is CellML (http://www.cellml.org). CellML is an XML-based markup language designed for storing and exchanging computer-based biological models. The constructs in CellML tend to be at a more abstract and general level than those in SBML Level 1, and describe the structure and underlying mathematics of cellular models in a very general way. By contrast, SBML is closer to the internal object model used in model analysis software. Because SBML Level 1 is being developed in the context of interacting with a number of existing simulation packages, it is a more concrete language than CellML and may be better suited to its purpose of enabling interoperability with existing simulation tools. However, CellML offers viable alternative ideas, and the developers of SBML and CellML are actively engaged in ensuring that the two representations can be translated between each other.