SBML2XPP

= Conversion from SBML to XPP =

Introduction

 * 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 XPP
 * XPP is a numerical analysis software. It permits to solve differential equations, difference equations, delay equations, functional equations, boundary value problems, and stochastic equations. To know more, you can read the What is it? page.

Documentation
The converter is based on jsbml, so support all the levels and versions of SBML until SBML level 3 version 1 core.

Most of the mathematical parts of the SBML model are converted into a set of declarations or equations that can be executed in XPP.

Here is what we wrote to the ode file :


 * all SBML ids are changed to comply to the XPP rules. In XPP id should be 9 character long maximum (may be not true with the latest versions of XPP) and we have to put the local parameter in the same id space as all the others.
 * in general we put a comment for each SBML element that we include in the ode file
 * we declare several functions used in the MathML expression and that do not exist by default in XPP, like root, power,..
 * the compartment elements as para or init
 * the parameters elements as para or init (global parameters as well as local paramaters).
 * the species elements as para or init
 * d species/dt=ODE (if this species actually be affected by reaction/kineticLaw) (ODE should be concentration/time, but kineticLaw usually be substance/time, depending on species unit) (in ODE all the reaction/kineticLaw will be represented as RXNindex)
 * rules
 * reactions/kineticLaws
 * events
 * we set several XPP values to be able to simulate the model
 * done (the word "done" as to be written at the end of an Xpp ode file)


 * SBML elements not supported
 * delayed event
 * constraint
 * initialAssignment
 * stoichiometryMath
 * some math operators allowed in SBML are not supported by XPP


 * Information lost in the conversion
 * compartment
 * units
 * sboTerm
 * notes
 * most annotations

Download
You can download SBML2XPP here: .

End users
To run SBML2XPP you need.

After unpacking the zipped file, move to the folder that have been created and run:

# Convert SBML (any *.xml files if you put a folder) to XPP # The output file(s) will be in the same folder as the SBML file(s) with an extension .xpp ./sbml2xpp.sh [file.xml | folder]

Developers
To compile SBML2XPP from source, you also need Apache Ant 1.6.5 or higher.

After editing the source code you can build the jar file by just typing in the SBML2XPP folder: # Generate the jar file ant jar

# Generate the java documentation ant javadoc

Other known converters

 * Out-of-date SBML to XPP XSL converter