OK, my last email in this thread because clearly there are two discussions
going on, one political and one technical. And they are orthogonal which is
a recipe for misunderstandings.
Ann Chasson wrote:
> The developer doesn't have the information required to
> determine directly from an equation such as:
> | dx/dt = k * C * Y / (K + Y) | where C = [calcium/calmodulin]/[total
> that C is a modifier rather than a parameter.
But ... C IS NOT A MODIFIER. C is not a species at all. This is the whole
point. The kinetic law does NOT contain any reference to either
calcium/calmodulin or total calmodulin. C IS a parameter. But it is true
that, as a result, if you graphically and automatically represent the
model, the reaction will not be affected by calcium or calmodulin (I still
wait for example of graph would do that).
We bumped in the problem for SBGN Process Diagram Level 1. And could not do
anything but postponing the issue.
> As it stands now, if C is a modifier but is not in the listOfModifiers,
> then the only way a tool would know that it's a modifier would be to
> parse the kinetic law, and for every term in the MathML compare that
> term to the listOfSpecies; if a term is in the listOfSpecies but not in
> the lists of reactants and products, then we assume it's a modifier.
Which will not provide C, since C is not a species.
> It's clear that there's no guarantee that C will be in the list of
> modifiers. Is there also no guarantee that C will be in the list of
If C was in the listOfSpecies, since it is in the kineticLaw, it would be
in the listOfModifiers.
> What happens if there's no kinecticLaw? Since the kinetic law
> is optional per the spec, it seems that a reaction would be incompletely
> specified if it left out the modifier term.
Sorry, but if there are no kineticLaw, the concept of modifier is moot.
Even if the modifier was listed, the reaction would be "incompletely
Modifier C and D
What does that mean? What is the effect of C and B? Are they stimulators?
Inhibitors? Neutral? Have opposite effect?
Semantic content = 0
Possibility to generate a graph = null
This would be completely different if we use SBO. But the spec is clear
that the model should be unambiguously understandable without SBO. In other
words, everything that requires SBO is not part of SBML mission. It is
useful, and will become even more in the future. But it relates to
side-issues (generating graphs, converting between formats etc.)
> I agree that best practices should include all products in the
> listOfProducts, all reactants in the listOfReactants, and all modifiers
> in the listOfModifiers.
And this is already the case. So the whole discussion is useless. Everyone
is advocating for what is actually the current situation.
Lukas and Robert agreed on the method to avoid the graph disruption that
caused the thread: functionDefinition instead of assignmentRule if the sole
role is to reuse an expression referring to species.
In all other examples used in the thread, the symbols were not those of
To manage your sbml-discuss list subscription, visit
For a web interface to the sbml-discuss mailing list, visit
For questions or feedback about the sbml-discuss list,