MathSBML

MathSBML Home Page MathSBML Site Map

The MathSBML Model Builder


The MathSBML Model Builder is a suite of functions allowing one to build an SBML model from basic Mathematica expressions. It is only compatible with SBML Level 2.

The model builder does not currently support notes and annotations. Support for notes and annotations will be added in a future release.

The model builder will allow the user to build SBML in three different manners:

A table showing analogous functions for the each of the three different interfaces is shown below.

In addition there are functions that can be used to convert between MathML and standard Mathematica infix expressions.

Finally, there are several functions that are used to convert a model into either symbolic or textual SBML (Level 2 only); read a text file into the model builder; or convert the model into a form compatable with the model builder. Click here for more detail.

At the present time, the model builder is developmental, and we are experimenting with appropriate syntactical and functional structures. Thus these functions are not fixed and are subject to change. The purpose of including this information on the web page is to allow users to experiment with functions that have been developed and to stimulate discussion and suggestions for improvement. Changes currently under development include:

Click here for a detailed example illustrating model construction with the model builder.


Functions that return SBML text

Click on any function name to get more details.

Function Item(s) returned
compartmentToSBML <compartment.../>
<listOfCompartments>
eventToSBML <event.../>
<listOfEvents.../>
functionToSBML <function.../>
<listOfFunctionDefinitions.../>
parameterToSBML <parameter.../>
<listOfParameters.../>
reactionToSBML <reaction.../>
<listOfReactions.../>
ruleToSBML <rule.../>
<listOfRules.../>
speciesToSBML <species.../>
<listOfSpecies.../>
unitToSBML <unitDefinition.../>
<listOfUnitDefinitons.../>

Conversion between MathML and Infix Notation

Click on a function name to get more details.

Function Input Item(s) returned
InfixToMathSBML Mathematica Infix Expression MathSBML Text
MathSBMLToInfix MathSBML Text Mathematica Infix Expression

Symbolic SBML

Symbolic SBML is identical to Mathematica's Symbolic XML, using SBML tags, and consists of Mathematica Expressions of the form

   XMLElement[name, {n1->v1,n2->v2,...}, {s1,s2,...}]

where name is the text name of the xml element, ni->vi are name/value pairs that should be placed inline with the xml tag, and si are XMLElement expressions for XML sub elements, e.g.,
    XMLElement["name1",
              {"n1"->"v1","n2"->"v2"},
              { XMLElement["listOfS",
                          {"n5"-> "v5"},
                          {XMLElement["s1",{"n3"->"v3"},{}],
                           XMLElement["s2",{"n4"->"v4"},{}]}]
               }]
represents the pure XML
	<name1 n1="v1" n2="v2">
	 <listOfS n5="v5">
	  <s1 n3="v3"/>
	  <s2 n4="v4"/>
	 </listOfS>
	</name1>
	

For more details on Symbolic XML see the Online Mathematica Documentation Center.

The following table illustrates the corresponding functions for pure SBML, symbolic SBML, and the model builder interface. The calling format for the symbolic functions are identical to those for pure SBML, the only difference is what they return.

Click on any function name in the following table to get additional details on that function.

Pure SBML Function
Returns SBML text
Symbolic SBML Function
Returns Symbolic XML
Model Builder Functions
Changes contents of database
compartmentToSBML compartmentToSymbolicSBML addCompartment
removeCompartment
modifyCompartment
eventToSBML eventToSymbolicSBML addEvent
removeEvent
modifyEvent
functionToSBML functionToSymbolicSBML addFunction
removeFunction
modifyFunction
parameterToSBML parameterToSymbolicSBML addParameter
removeParameter
modifyFunction
reactionToSBML reactionToSymbolicSBML addReaction
removeReaction
modifyReaction
ruleToSBML ruleToSymbolicSBML addRule
removeRule
modifyRule
speciesToSBML speciesToSymbolicSBML addSpecies
removeSpecies
modifySpecies
unitToSBML unitToSymbolicSBML addUnit
removeUnit
modifyUnit


Go to the top of this page