How do I best represent species with different units in SBML?

46 views Asked by At

I have a model where some species are measured in moles, and some are dimensionless. I would like the former's reactions to be measured in mole/time, and the latter's in 1/time (there is no overlap between species) but SBML demands that all kinetic laws have the same unit.

What is the cleanest way to overcome this? I anticipate it involves a combination of substanceUnits and conversionFactor.

Here is some simple, but incorrect, SBML where species s_1 in reaction r_1 has units mole, and species s_2 in reaction r_2 is dimensionless:

<?xml version="1.0" encoding="UTF-8"?>
<sbml xmlns="http://www.sbml.org/sbml/level3/version2/core" level="3" version="2">
  <model id="model" substanceUnits="mole" timeUnits="dimensionless" volumeUnits="dimensionless" areaUnits="dimensionless" lengthUnits="dimensionless" extentUnits="mole">
    <listOfCompartments>
      <compartment id="comp" spatialDimensions="3" size="1" units="dimensionless" constant="true"/>
    </listOfCompartments>
    <listOfSpecies>
      <species id="s_1" compartment="comp" initialAmount="1" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
      <species id="s_2" compartment="comp" initialAmount="1" substanceUnits="dimensionless" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
    </listOfSpecies>
    <listOfReactions>
      <reaction id="r_1" reversible="false">
        <listOfReactants>
          <speciesReference species="s_1" constant="true"/>
        </listOfReactants>
        <kineticLaw>
          <math xmlns="http://www.w3.org/1998/Math/MathML">
            <ci> s_1 </ci>
          </math>
        </kineticLaw>
      </reaction>
      <reaction id="r_2" reversible="false">
        <listOfReactants>
          <speciesReference species="s_2" constant="true"/>
        </listOfReactants>
        <kineticLaw>
          <math xmlns="http://www.w3.org/1998/Math/MathML">
            <ci> s_2 </ci>
          </math>
        </kineticLaw>
      </reaction>
    </listOfReactions>
  </model>
</sbml>
0

There are 0 answers