Menu

#1 sbo branch re-organisation

closed
nobody
None
7
2011-02-04
2010-02-01
Anonymous
No

With ref to this email:
Dear SBO users,

Over the last half-year of so, it has become clear that there is a severe inconsistency in SBO that is causing issues for some users. The problems
lies in the way we annotate the mathematical expressions (encoded in MathML) within SBO terms, and is described below. We believe we found a solution
in order to resolve the problem, and would like to apply it in the forthcoming weeks.

The initial objective of SBO was to provide a semantic layer of information to improve computational, automated processing of SBML models. This would
allow modelers to unambiguously convert, for example, between continuous and discrete rate laws, or to convert a Michaelis-Menten rate law into
elementary steps. In order to do this, SBO branches were created to provide annotation terms for kineticLaws ('mathematical expression' branch,
SBO:0000206), model parameters ('quantitative parameter' branch, SBO:0000002), and entity participation ('participant role', SBO:0000003). The
'participant role' branch of SBO must be used to annotate the SBML's SpeciesReference, for example using terms such as 'substrate' (SBO:0000015),
'product' ( SBO:0000011), and 'competitive inhibitor (SBO:0000206). These SBO terms describe how entity pools participate in a reaction. In SBGN, they
would be associated with the edge linking entity pool nodes and process nodes. The SBO terms from the 'mathematical expression' branch must be used to
annotate SBML's KineticLaw. In SBGN, they would be associated with the process nodes. Finally SBO terms from the 'quantitative parameter' branch must
be used to annotate SBML's Parameters.

In the mathematical expressions contained in SBO terms, the variables involved in the expression (encoded in MathML) are linked to other SBO terms. It
was our intention that by matching the SBO terms annotating the speciesReferences, and the SBO terms annotating the corresponding symbols in the
kineticLaws, we would be able to perform the conversions described above. In order to do this, the SBO terms annotating the symbols of entities in the
kineticLaws had to belong to the 'participant role' branch of SBO. There were two major mistakes in that reasoning.

1) Annotating a MathML variable with a participant role does not permit reasoning on the units of the variable. A kineticLaw annotated with the term
"Michaelis-Menten" could contain symbols in amount or concentration. Identifying S as a "substrate" is not sufficient. We need to know if this is a
density or a quantity.

2) More importantly, as we came to understand during the elaboration of SBML Level 3 core (and also the hot discussion on SBML's modifiers), the fact
that S is consumed by a reaction and S is influencing the velocity of the reaction is a coincidence. This is an extremely frequent coincidence because
most SBML models are biochemically realistic, but still a coincidence. In other words, the S used in the mathematical expression is not the "same" S
that is consumed by the reaction.

A third point that should have warned us is that non-species symbols of mathematical expression are annotated with terms from the 'quantitative
parameter' branch. And the magic status of the species compared to other parameters of a model is a peculiarity of SBML (albeit a useful peculiarity).
All the variables of a models should be considered the same as far as the model semantics (as opposed to the biological semantics) are concerned.

These three points mean that rather than using 'participant role' terms in the MathML, we should rather be using 'quantitative parameter' terms such
as 'total concentration of enzyme', 'concentration of substrate', 'number of molecules produced' etc. These terms do not currently exist in SBO, and
will be the next significant addition.

The completion of this work will offer the advantage of allowing much increased computational processing, and will enable the discrimination between
'number', 'concentrations', and other quantitative values within the ontology. It will make the SBML/SBO coupling semantically cleaner.

The only minor annoyance would be that the direct mapping (when it exists), using the SBML file only, between a bvar and a 'SpeciesReference' would be
lost. SBO would not tell us that there is a relationship between the "enzymatic catalyst" (annotation of the modifier species reference) and the
"total concentration of enzyme" (annotation of the Mathml characterising the kineticLaw). Such a semantic should be brought by the software using the
annotated model. Software such as COPASI already offers this. In instances where there are multiple modifiers, each performing different roles, their
unambiguous interpretation may become more difficult.

We believe that altogether, the benefits are far more important than the annoyances.

We ran this problem by the SBML editors, and the feedback was positive. But, if anyone has any particular concern regarding these changes, please feel
free to contact us directly or through this mailing list.

Sincerely,

BioModels team

PS: We thank Wolfram Liebermeister, Andreas Drager and others for helping us find and think about these problems.

Discussion

  • Nick Juty

    Nick Juty - 2010-02-01
    • priority: 5 --> 7
     
  • Nick Juty

    Nick Juty - 2010-02-01

    in progress now....(demo first)

     
  • Nick Juty

    Nick Juty - 2011-02-04
    • status: open --> closed