Re: SBML L2v2 specification vote #4: References to controlled vocabularies
16 Dec '05 00:27
> Ralph Gauges wrote:-
> >unfortunatelly I was not there at the discussion in Boston, so I have a
> >question that might has probably been discussed before.
> >What happens if e.g. an sboTerm states that the kineticLaw is
> >"irreversible first order mass action" but the formula is
> >Michaelis-Menten? Which do I take? Same thing goes for
> >SpeciesReferences. Is is an error if a SpeciesReference that is in the
> >listOfProducts has an sboTerm that states that it is an inhibitor? How
> >should inconsistencies like this be handled?
> Take the authors and hang 'em from the nearest yardarm!
> Seriously, the answer to the last point is no. It is quite possible
> for a product to also be an inhibitor of the same reaction. So this
> would not be an inconsistency unless it was not also included in the
> listOfModifiers as well.
But if it is in the list of modifiers, I would expect the sboTerm of the
species reference there to say that it is an inhibitor? I just want to
know what a program reading those sboTerms is supposed to do if it finds
something like that. Is this supposed to be OK, generate a warning, or
is it to be considered an error?
> If your program can tell that there is a difference between the maths
> and the description then it should report that there is an error. You
> then have to suspend processing untill the error has been resolved.
> SBML is an interchange format. PERIOD. If it is being applied wrongly
> in the way you describe, it is producing an invalid model, which can
> not be properly simulated.
> If the simulation engine wants to refuse to go further, or if
> it wants to try both versions of the model, that is up to the
> simulation engine writer, but he should be aware that he is trying to
> simulate an invalid model and that the results may not be as envisaged
> by the model writer.
So programs would have to evaluate both the formula and the sboTerm. I
could imagine that there are some programs out there that will just read
the sboTerm because this is simpler and on the other hand there are
programs that will read the formulas but that don't have code to check
wether the formula is consistent with what the sboTerm says. So in such
a case, the program that just reads the sboTerm will simulate a
different model than the program that just reads the formula. And both
will do so without issuing a warning. So in essence the specification
either has to say that programs will have to have code to check the
consistency of sboTerm and formula which is a lot of work, or it has to
state wether the formula or the sboTerm is to be taken for creating the
kinetics. I guess that in this case the formula is to be taken, but if I
have to parse the formula in any case, what advantage does having the
sboTerm in the kinetic law bring?
Maybe I am missing something here but I don't think you can expect every
program to make those consistency checks!
| Purely a personal viewpoint of course (particularly the first
> Hugh Spence
> GSK Scientific Computing and Mathematical Modelling
> Medicines Research Centre
> Gunnels Wood Road
> SG1 2NY