> * Question #1: What is the rule to be followed if there is a
> conflict between the 'sboTerm' value and the kinetic law?
> Answer #1: The kinetic law wins.
> * Question #2: What if an application cannot access the
> resources indicated by the 'sboTerm'?
> Answer #2: It should do what applications do with SBML
> today, where 'sboTerm' doesn't exist: read the SBML and
> treat it as the authoritative definition. The kinetics
> should be defined by the kinetic law given in the SBML.
> * Question #3: Should a conflict between sboTerm and the
> kinetic law be considered an error?
> Answer #3: Since the sboTerm is optional but
> non-authoritative, and furthermore, since there is the
> understanding that applications are not *required* to
> have the capability of accessing the indicated sboTerm
> resource, it is not possible to require that conflicts
> must be detected. The best we can do is write it as a
> recommendation: applications should attempt to detect
> conflicts and report them if they can.
> * Question #4: What if an application can interpret *only*
> the sboTerm values, because it does not have the ability
> to interpret the mathematics of the kinetic law
> Answer #4: Let's examine this from the perspective of an
> application in today's SBML world, without sboTerm in
> existence. What would an application do if it could not
> read the kinetic law definition? It could interpret the
> SBML to some extent (e.g., it could read out the
> reactants, products and modifiers in a reaction) and
> perform some manipulations (maybe?), but there is a risk
> that anything it does would be suspect because the tool
> is not intepreting the full model. In the end, it could
> not hope to be a fully compliant SBML application
> because it can't interpret the kinetics.
IMHO it is untrue. It is perfectly acceptable to have SBML files without
kineticLaw. SBML coming from KEGG, Reactome or *cyc are valid SBML files.
In addition, if you have all the reactants, products and the
stoichiometry, you can already do a lot of numerical analysis of the
models (although not time-series). The models would not be
MIRIAM-compliant, and they would certainly not be acceptable in BioModels
DB. But they would be valid SBML.
> Likewise, in
> an sboTerm world, the application could perform some
> manipulations (maybe) but it could not be a fully
> compliant SBML application because it did not have the
> ability to interpret the kinetics.
I do not agree. If you have the adequate sboTerms on the
speciesReferences, the local parameters and the kineticLaw (whatever the
math element is), you can inerpret the kinetics in some cases.
> * Question #5: Is it proper to give only the sboTerm values?
> Answer #5: It would be acceptable, in the same way that
> today an SBML model is not required to have KineticLaw
> elements at all. Whether it is "proper" is a more
> subjective question.
> * Question #6: Should programs that do not understand
> sboTerms still keep them and write them out again, even if
> they changed something about the model?
> PROVISIONAL Answer #6: I think this is a more difficult
> question to answer, and we didn't address this (at least
> in the white paper I was involved in). I now propose
> the following: if an application gets a model with
> sboTerms, but it cannot understand sboTerms, then for
> any object it modifies, it should remove any sboTerm on
> that object. This reduces the changes of creating a
> conflicting situation in the model, at the cost of
> removing some potentially useful information. But, this
> seems to be the safest approach to handling this
Oh, yes. Dump the sboTerms, absolutely.
Nicolas LE NOVÈRE, Computational Neurobiology,
EMBL-EBI, Wellcome-Trust Genome Campus, Hinxton, Cambridge, CB10 1SD, UK
Tel: +44(0)1223 494 521, Fax: +44(0)1223 494 468, Mob: +33(0)689218676