Menu

#288 Clarify whether reactions with species with amount '0' can fire

closed
5
2017-12-06
2015-08-06
No

Requested by Chris Myers: a statement in the spec that explicitly states that reactions fire or not according to their reaction rates, not according to the species levels.

EDIT: as mentioned in the comments, the proposal is to add the following text to the end of section 4.11.8, "Mathematical interpretation of SBML reactions and kinetic laws":

\paragraph{Species with negative or zero values}
\label{sec:neg-species}
In many models, a \Species will represent an amount of a physical entity. In those cases, the level of that species should never go negative. Similarly, many reactions represent physical conversion of physical entities. In those cases, if the entities to be converted have reached a level of zero, no conversion can take place. However, in both cases, it is the duty of the modeler to ensure that the \KineticLaw of the \Reaction is encoded in such a way that these physical restrictions are obeyed. Other systems and models use the \Species construct to represent quantities that can go negative, such as charge. Thus, mathematically, if a model dictates that a \Species level goes negative, or if a \Reaction process acts on zero- or negative-level \Species, proper interpretation of that model requires that to happen.

Discussion

  • Lucian Smith

    Lucian Smith - 2015-08-06

    This seems pretty clear to me, since species can not only be zero but go negative, depending on what is being modeled. But it's probably worth mentioning, since it violated an assumption that Chris made about models, meaning there's probably others out there who might make the same assumption.

     
    • Chris Myers

      Chris Myers - 2015-08-06

      Assuming a kinetic law is specified, can it ever make physical sense to have a reactant that does not appear in it? Allowing species counts to be taken into negative values by reactions seems wrong to me.

       

      Last edit: Lucian Smith 2015-08-06
      • Lucian Smith

        Lucian Smith - 2015-08-06

        There are valid use-cases of SBML where the 'species' are not physical counts of things, but where they represent other things such as charge, where it's fine to go negative. Or, to move to the world of finance, the rate at which my money is transferred to the bank is dependent solely on the terms of my mortgage, and is independent of the amount of money I have in my bank account (unfortunately). I can create a perfectly legal SBML model to represent this.

        However, SBML is designed to be agnostic about units, so you have to treat everything the same way. It's perfectly fine to warn a user that their model is probably wrong in these situations, however, particularly if you know the units.

         
        • Chris Myers

          Chris Myers - 2015-08-06

          I’ve done some of the same crazy modeling things with species/reactions, but I thought for the situations you are describing that we prefer people to use parameters and events instead.

           

          Last edit: Lucian Smith 2015-08-06
          • Lucian Smith

            Lucian Smith - 2015-08-06

            Anything that can be modeled as a process should probably use a reaction, to make it clearer what's going on, I think. In any event, that's a discussion about best modeling practices, not about interpretation of existing models. If you find a model where a species amount goes negative, you can warn if you like, but you have to assume that that's what the modeler intended. Similarly here--if the species amount of a reactant is zero or negative, but the kinetic law is positive, you have to assume that the modeler intended it to be just that way, and that the species amount should simply go negative, or, should it be a boundary species, remain where it was.

            This is probably a good discussion to have, since it points out where the clarification should go: in the discussion about the interpretation of the kinetic law.

             
  • Andreas Dräger

    Andreas Dräger - 2015-12-11

    Ok, given this discussion, how should (or should not) the specification's text be changed? Is there a concrete paragraph drafted that we can vote on?

     
    • Chris Myers

      Chris Myers - 2015-12-11

      Depends on people’s opinion. Basically, I think the specification should either state that a irreversible reaction cannot occur if the reactant amount or concentration is 0 (similarly for the reverse reaction and products). OR it should say that this can only occur if the reactant (product) is boundary condition.

      I brought this up because in the stochastic benchmark suite there is at least one example where the reactant amount is 0 and it is a boundary condition. We interpreted this as that it should not fire, but the results say it can happen. I just thought the specification should say the answer for this one way or another.

      Chris

       

      Last edit: Lucian Smith 2015-12-11
  • Lucian Smith

    Lucian Smith - 2015-12-11

    OK, here's what I came up with. I would put it at the end of section 4.11.8, "Mathematical interpretation of SBML reactions and kinetic laws":

    \paragraph{Species with negative or zero values}
    \label{sec:neg-species}
    In many models, a \Species will represent an amount of a physical entity. In those cases, the level of that species should never go negative. Similarly, many reactions represent physical conversion of physical entities. In those cases, if the entities to be converted have reached a level of zero, no conversion can take place. However, in both cases, it is the duty of the modeler to ensure that the \KineticLaw of the \Reaction is encoded in such a way that these physical restrictions are obeyed. Other systems and models use the \Species construct to represent quantities that can go negative, such as charge. Thus, mathematically, if a model dictates that a \Species level goes negative, or if a \Reaction process acts on zero- or negative-level \Species, proper interpretation of that model requires that to happen.

     
    • Chris Myers

      Chris Myers - 2015-12-11

      Seems reasonable and I guess means 0 can be okay for a reactant of a reaction. Not my interpretation but ok if at least defined as ok.

      Chris

       

      Last edit: Lucian Smith 2015-12-11
    • Michael Hucka

      Michael Hucka - 2015-12-15

      Seems reasonable to me too.

       
  • Andreas Dräger

    Andreas Dräger - 2015-12-14

    Thanks, I like the proposed text and support this change to be made.

     
  • Lucian Smith

    Lucian Smith - 2016-01-05
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1 +1,7 @@
     Requested by Chris Myers:  a statement in the spec that explicitly states that reactions fire or not according to their reaction rates, not according to the species levels.
    +
    +EDIT:  as mentioned in the comments, the proposal is to add the following text to the end of section 4.11.8, "Mathematical interpretation of SBML reactions and kinetic laws":
    +
    +\paragraph{Species with negative or zero values}
    +\label{sec:neg-species}
    +In many models, a \Species will represent an amount of a physical entity.  In those cases, the level of that species should never go negative.  Similarly, many reactions represent physical conversion of physical entities.  In those cases, if the entities to be converted have reached a level of zero, no conversion can take place.  However, in both cases, it is the duty of the modeler to ensure that the \KineticLaw of the \Reaction is encoded in such a way that these physical restrictions are obeyed.  Other systems and models use the \Species construct to represent quantities that can go negative, such as charge.  Thus, mathematically, if a model dictates that a \Species level goes negative, or if a \Reaction process acts on zero- or negative-level \Species, proper interpretation of that model requires that to happen.
    
     
  • Nicolas Le Novère

    I think it is not up to SBML to decide if a model's behaviour is right or wrong. We just need to make sure that it is reproducible

    I agree with the text.

     
  • Sarah Keating

    Sarah Keating - 2016-01-22

    I agree with Nicolas - we are getting dangerously close here to saying a model is wrong. Having something that should not go negative, go negative, informs the modeller that the model may not yet be fully complete. We most certainly do not want to tell simulators that they must not do this !

    I think the wording clarifies this point.

     
  • Lucian Smith

    Lucian Smith - 2016-01-22
    • status: open --> pending
    • assigned_to: Lucian Smith
    • Group: Reported-Proposed --> Accept-conformance-implications
     
  • Lucian Smith

    Lucian Smith - 2017-12-06
    • status: pending --> closed
     
  • Lucian Smith

    Lucian Smith - 2017-12-06

    With the release of l3v2, this issue is now resolved.

     

Log in to post a comment.