|
The topic of this vote is:
REACTION IDENTIFIERS AND ASSIGNMENT RULES
The URL for the voting page is:
http://www.surveymonkey.com/s.asp?u=670951619449
Additional background is available in the minutes from the
October SBML Forum meeting at
http://www.sbml.org/forums/index.php?t=msg&th=713&rid=2
The SBML Level 2 Version Specification is at:
http://sbml.org/wiki/sbml-level-2-version-2.pdf
The draft specification for SBML Level 2 Version 2 provides
the new feature of allowing the use of a reaction's
identifier in mathematical expressions to stand for the rate
of that reaction. (See sections 4.12.8 and 4.10.4. Note
there are restrictions on how this could be used, such as
the prohibition against using a reaction identifier in
kinetic law expressions.) One of the main uses of this
would be to provide better support for representing flux
balance models in SBML.
Follow-up discussions have revealed that this new feature
would interact with the current requirements on the ordering
of AssignmentRule objects, and that SBML's prohibition
against using a reaction identifier in kinetic law
expressions didn't achieve its aim of eliminating potential
algebraic loops among reactions. In SBML L2V1 and L2V2,
assignment rules are required to be evaluated in the order
given in the SBML. The primary reason for this is to enable
simpler parsing of SBML: with the ordering regulations on
assignment rules and other requirements, it is (in
principle) possible for an application to treat assignment
rules as macro substitutions. In effect, the complexity of
generating appropriate assignment rules is shifted onto the
generator of the SBML, to make it easier on the reader. The
generator must sort the assignment rules into proper order
before writing the SBML. (This also has the effect of
transforming what would be an otherwise declarative
representation of a model into a more procedural
representation.)
If reaction identifiers take on their new role, maintaining
the balance of complexity between parser and generator
becomes more problematic. The assignment of values to
reaction identifiers would be in effect similar to
assignment rules, with the value obtained by evaluating the
kinetic law expression of the reaction. However, reactions
in SBML are not currently required to have any particular
ordering, and their evaluation order in relationship to
assignment rules is not defined.
If SBML Level 2 Version 2 were left as-is (i.e., with
reaction identifiers as defined but without any changes to
the restrictions on assignment rules), then an SBML
reader/parser, upon reading an SBML model, would have to
sort the reactions into order with the assignment rules, but
a generator would also still (redundantly) have to sort the
assignment rules into order when writing out SBML. Aside
from the redundancy, the implication is a new increase in
the complexity of implementing SBML-reading applications.
Here are four alternative to addressing this issue for SBML
Level 2 Version 2. Which do you believe should be adopted?
Alternative 1: Back out this part of the SBML L2V2
proposed specification, that is, do *not* introduce the
ability to use reaction flux identifiers, and leave the
ordering constraints on AssignmentRules structures as they
are specified in SBML Level 2 Version 1. (This would
leave the burden of sorting the rules only on the SBML
generator, as it is now.)
Alternative 2: (i) Retain the specific constraints on
ordering of AssignmentRules in L2V2 as they are in L2V1;
(ii) introduce a separate, similar ordering on reactions;
and (iii) allow reaction fluxes to be functions of
variables assigned values by AssignmentRules, but not vice
versa. One implication of this is that fluxes could not
be used in the calculations made by assignment rules. (As
in the alternative above, this would also leave the burden
of sorting the rules only on the SBML generator, as it is
now.)
Alternative 3: (i) Retain the specific constraints on
ordering of AssignmentRules in L2V2 as it is in L2V1; (ii)
introduce a separate, similar ordering on reactions; and
(iii) allow assignment rules to be functions of reaction
fluxes but not vice versa. (Again, this would leave the
burden of sorting the rules on the SBML generator, as it
is now.)
Alternative 4: Remove the ordering constraints on
assignment rules. This would mean that numerical
applications will in general need to perform a topological
sort upon reading an SBML model, on the combined set of
kinetic laws and assignment rules. This will shift the
burden onto the SBML reader rather than the writer. (But,
it is worth noting that the sort would only have to be
performed *once* per model.)
All cases above, we would retain a restriction that the set
of reaction rate laws cannot contain algebraic loops.
An additional implication is for the initial assignment
rules introduced in the SBML L2V2 draft specification. In
the discussions at the last SBML Forum meeting, it was
generally agreed that the initial assignments should follow
the same ordering and other restrictions as are put on
assignment rules, whatever those restrictions are.
Otherwise, there would be an ugly inconsistency between
these two types of rules. So, whatever is decided here may
also impact initial assignment rules.
Please cast your vote for one of the alternatives above by
using the voting page at
http://www.surveymonkey.com/s.asp?u=670951619449
Andrew and Mike
|