Standard time units in SBML File

5 views
Skip to first unread message

Alex Enersen

unread,
Jan 15, 2019, 5:30:06 PM1/15/19
to libsbml-development
Hello again. I am now trying to label a plot produced by the SBML file with time units. I've noticed that among all SBML files I've seen, the Unit Definitions can have different units (minute, second), but they all seem to be based on the unit 'second'.

My question is, will the base unit of time always be seconds? Or can the creator of the SBML file decide to have a different unit for time?

For example, given the following SBML text:

<unitDefinition id="MWDERIVEDUNIT_1__minute" name="1/minute">
        <listOfUnits>
          <unit kind="second" exponent="-1"/>
          <unit kind="dimensionless" multiplier="0.0166666666666667"/>
        </listOfUnits>
      </unitDefinition>

You can see that unit kind = 'second'. Could the user instead change the third line to <unit kind="minute" exponent="-1"/>? I ask this because if I'm going to label plots, I want to know if I can just use the generic 'second' every time or if I need to look through the SBML file to find out which unit of time the reactions are operating at.

If unit kind can be assigned different time units, my follow-up question is: How would you get a consistent time unit for the whole file? Is there a way to convert unitDefinitions to a standard time unit?

Frank T. Bergmann

unread,
Jan 16, 2019, 3:04:22 AM1/16/19
to libsbml-development
Hello, 

the UnitKind in SBML will always be in SI units, so 'seconds' is indeed the only time unit kind you will encounter. However, as far as plot labels are concerned i'd rather see 10 minutes, instead of 600 seconds, or 10 hours instead of 36000 seconds. What many tools do, is to create a unitDefinition for 'minute' (multiplying seconds by 60). If that unit definition has a name provided, why not use that one for your axis labels?

cheers
Frank
Reply all
Reply to author
Forward
0 new messages