On Saturday 09 August 2008, Michael Hucka wrote:
> I understand your point, and I think Pedro is arguing for
> the same thing (if I understood Pedro's msg of August 6).
Yes, that was what I was arguing. In fact the core of my argument is that a
list of modifiers is an enabler of other type of uses of SBML through generic
XML tools. I think that the choice to use XML was because of all those other
goodies that we can immediately benefit from. Otherwise we would be better
off with something else (eg that would be more compact, etc.). This was also
the criterion that led the decision to move mathematical expressions from a
C-type infix to MathML.
> However, it's not immediately clear to me how you would do
> it. Suppose a reaction R has a parameter A, whose value is
> set by a rule A = f(B, C, ...) where B and C are species.
> Should B and C be included in R's list of modifiers?
> If you say yes, then where does this process stop? B and C, being
> species, have their values determined by formulas which are
> in effect rate rules, and *their* values may very well
> depend on *other* species.
Then the other species are modifiers of the reactions that produce or consume
B and C but not the original reaction in question (R in your example).
Modifiers means "directly affecting the rate of this reaction". The issue
that has come up is because rate laws rather than being defined completely in
the rate law field, instead use "abbreviation" terms that are defined
elsewhere. This is just a *technicality* that is essentially a choice of the
tool that wrote the SBML. Now, for some other tool to discover that B affects
reaction R it would have to be able to understand the complete semantics of
SBML, ie no longer at the reach of plain XML tools.
With the rate laws we had the same situation when we were using infix
notation, as this meant that tools would have to include a parser for
mathematical expressions to be able to understand them. We then moved to
MathML and thus these things can be parsed with any XML tool.
> It seems very possible that you
> might end up with every species in the model listed as
> modifiers of most reactions!
No, that would be a mistake. Modifier is only something that affects the rate
of a reaction directly. It must be part of the rate law.
The issue is that we are allowing the rate laws to be written in a way that
hides some portions of that rate law, thus it is not obvious that something
may be a modifier.
A solution to this problem would be to specify that rate laws have to be
completely specified in their appropriate field, and not be broken down in
pieces that are then defined in assignments.
An example of an SBML file where this is done (unnecessarily, I must say) is
BIOMD0000000064 in Biomodels.net.
Chair in Computational Systems Biology
University of Manchester
School of Computer Science
Kilburn Building, Oxford Road,
Manchester, M13 9PL, UK
Manchester Centre for Integrative Systems Biology
Manchester Interdisciplinary Biocentre
131 Princess St., Manchester, M1 7DN, UK
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,