| Author | Topic |
Posts: 349
Registered: September 2003
|
|
RE: naïve thoughts on Species Conse =?iso-8859-1?Q?rvation_Laws?=
|
28 Nov '05 21:33
|
 |
|
Andrew
I have made a number of comments on mass conservation laws in the last few weeks but I'll repeat them here. First I should say that I agree with Pedro's comments, some of which I will repeat.
1. Mass conservation laws are redundant in the sense that the information is already present in the
stoichiometric structure of the network.
2. If you are to store mass conservation laws in the sbml you can also use the more convenient representation which I've given a number of times in the last couple of weeks on this mailing list, namely Sd = T + L0*Si where we split the species list into dependent (Sd) and independent species (Si). L0 is part of the link matrix. This is the method, as far as I know, that most simulators employ and is fairly standard. Also it is much simpler to convert Sd = T + L0*Si to the form you gave (T = ...) than to do it the other way. Also this form indicates which species not to generate ODEs for (i.e the Sds).
3. I consider the most important reason for taking into account the mass conservation laws is the ability to generate a non-singular Jacobian matrix for those systems which have moiety cycles. Having the conservation laws in the SBML would not help very much because you still need Nr and L to compute the Jacobian and neither of these is in your xml. The use of mass conservation laws to reduce the number of odes is nice but not a critical requirement. It all depends on the kinds of analysis that are carried out, simple integrators can get away without considering the conservation laws. Anything else requires more work.
4. As I've said before the use of a DAE system to solve the conservation laws is complete overkill because one can always guarantee a solution (they are after all only simple linear equations, the solution for which we actually know!), also it is more inefficient to employ the DAE solver.
5. Nick Allen has already proposed an annotation to represent mass conservation laws, which I am sure you're aware of (It's listed in the sbml.org wiki).
6. If you really want to put in the conservation laws explicitly, there is no need for anything else other than the symbol for the conservation total and the representation for the laws themselves. People can choose to ignore them or not, in which case I assume the xml will be optional?
As for literature, as well as Reder's paper, I must also plug my own publication with Brian Ingalls which is a fairly complete review of computational methods for mass conservation analysis and perhaps a less mathematical introduction to the area compared to Reder.
Sauro and Ingalls, Conservation analysis in biochemical networks: computational issues for software writers.
Biophys Chem. 2004 Apr 1;109(1):1-15.
Also, we have a paper coming out in a few weeks in bioinformatics which describes a more robust method for analyzing stoichiometry, all the current algorithms fail on large systems. The paper describes the algorithm in detail and we provide C++ code that implements it, we have a largish test suite that goes with it.
If you are in any doubts Andrew, ask David (Fell).
Herbert Sauro
-----Original Message-----
From: Andrew Finney [mailto:afinney@caltech.edu]
Sent: Monday, November 28, 2005 1:19 PM
To: 'SBML Discussion List'
Subject: [sbml-discuss] naïve thoughts on Species Conservation Laws
Folks
I'd just like to kick off a discussion on possible ways to explicitly represent Species Conservation Laws in SBML.
Would it make sense to introduce an structure specifically for Species Conservation Laws instead of trying to shoe horn them into the more generic algebraic law structures?
I'm thinking something like:
<listOfReactions>
...
</listOfReaction>
<listofSpeciesConservationLaws>
<speciesConservationLaw species="T">
<math>
...
</math>
</speciesConservationLaw>
</listOfSpeciesConservationLaws>
<listOfRules>
...
</listOfRules>
which would represent T = f(X)
The ordering and content of speciesConservationLaws is unconstrained (?).
The things that I'm not clear about with respect to the way applications currently process these speciesConservationLaws is as follows
are the speciesConservationLaws mathematically redundant given the reaction network, rate laws and rules? i.e. could another application ignore the conservation laws and still be able to simulate the model?
alternatively applications would have to interpret the conservation laws as DAEs (an optimising simulator would topologically sort the conversation laws into a set of assignment rules and a minimum set of DAEs)
if the conservation laws are redundant would it make sense to have a list of reactions associated with each conservation law which the law is 'making'
redundant? perhaps then an application could choose to simulate using the conservation law or the rate laws....nuts??
Am I on the right lines or off the rails?
yours
Andrew Finney
|
|
|