SBML2CellML Outdated XSL

= Conversion from SBML to CellML =

About SBML
SBML is a machine-readable format for representing models. It's oriented towards describing systems where biological entities are involved in, and modified by, processes that occur over time. An example of this is a network of biochemical reactions. SBML's framework is suitable for representing models commonly found in research on a number of topics, including cell signaling pathways, metabolic pathways, biochemical reactions, gene regulation, and many others. If you want to know more, you can read the Basic Introduction on SBML

About CellML
CellML is an open standard based on the XML markup language like SBML. CellML is being developed by the Bioengineering Institute at the University of Auckland and affiliated research groups. The main difference between CellML and SBML is that the former is based on modules while the latter is based on hierarchical components.

Documentation
This converter is not maintained any more, last updates are from 2007. However, this converter should work on simple SBML L2V1 models.

The conversion is performed in one XSLT pass, but using four stylesheets.

Know Issues/Improvements

 * Only one argument for plus (the MathML element) seems to be a problem. This occurs in all models were species are only product or reactant in one and only one reaction.
 * The csymbols delay and time in SBML are not converted to variables in CellML
 * e notation is not converted correctly.
 * Connections for modifiers in reactions are doubled.
 * If a species is a product and a reactant in the same reaction a delta variable gets assigned to two roles for this species. This could be easily evaded by adding one delta variable for each product or substrate, even if that means adding more than one for each species. Maybe one should add _r or _p for reactant and product to the delta vars.

SBML elements not supported

 * event
 * constraint
 * initialAssignment
 * stoichiometryMath
 * complex units
 * SBML Level 3 packages

Information lost in the conversion

 * sboTerm
 * notes
 * most annotations

Quick Setup
To generate a CellML file from an SBML model, run:

Xalan MyModel_sbml.xml sbml_to_cellml.xsl > MyModel.cellml

You can download the XSL stylesheets in the section below.

Download
You have to download these four XSL stylesheets and put them in the same folder


 * sbml_to_cellml.xsl
 * cellml_template.xsl
 * cellml_variable.xsl
 * cellml_connection.xsl

Getting Help and Support
= Other known converters =


 * Antimony written in C++, using libSBML contain a much more up to date converter that support the SBML L3 comp package (Hierarchical Model Composition).