There is a fact that we did not consider yet in JSBML. Although there
are almost no prior assumptions or default values in SBML Level 3, there
is, however, a construct of unit inheritance for Species and Compartments.
On page 41, the Level 3 specification explains that the inherited unit
of a compartment may originate from the model if at least its spatial
dimensions are defined and the model has a corresponding "default unit",
i.e., some unit attribute for at least the required unit out of the set
"volumeUnits", "areaUnits", "lengthUnits" that corresponds to the
compartment's spatial size.
Similarly, this specification states that species have an inherited
substance unit from the model if 1st no unit has been explicitly defined
for that species and 2nd the model has a property "substanceUnits". See
page 44 lines 20-22.
This construct creates something similar to the predefined units in
earlier versions of SBML. From my understanding, the only difference is
that these "default units" must not only be linked to the model as
attributes via their ids. In addition, the listOfUnits must also contain
their precise definition. Otherwise, i.e., if only base units would
allowed there, it would not be possible to scale or transform units in
Currently, JSBML does not correctly derive units for compartments and
species because unit inheritance from model has not been considered yet.
Now, I would like to review the getDerivedUnits() methods in species and
compartment and fix this problem for Level 3 models. Furthermore, when
deriving units, I would also like to have a mechanism that goes through
all units in the model's list of units and identifies the first unit
that is identically defined as the derived unit. In this way, the
derived unit would preferably be part of the SBML model, only in some
cases it would not be part of the model. Currently, it might happen that
the getDerivedUnits() method returns some unit definition that is
equally defined as some other unit definition within the model, but the
returned element is not part of the model.
I am looking forward to your comments.
Dr. Andreas Dräger
University of Tuebingen
Center for Bioinformatics Tuebingen (ZBIT)
To manage your jsbml-development list subscription, visit
For a web interface to the jsbml-development mailing list, visit
For questions or feedback about the jsbml-development list,