| Author | Topic |
Posts: 140
Location: University of Utah
Registered: May 2008
|
|
Stochastic simulation in SBML
|
29 Nov '11 11:50
|
 |
|
Hi All,
Currently, the SBML specification does not describe how to perform stochastic simulation on an SBML model. This has led to different tools implementing it differently making stochastic models not portable from one tool to another. Therefore, we would like to come up with a precise semantics for stochastic simulation to solve this problem. There is a subtlety though that complicates things. Consider the following model:
Species A has an initial amount of 1 mole while species B has an initial amount of 0 moles. There is one reaction with A as a reactant and B as a product. The question is what happens to the state when this reaction occurs.
1) 1 mole of A is converted into 1 mole of B
Pro: simple interpretation that is independent of units (namely, units can be dropped without any change in behavior).
Con: typical interpretation of stochastic formulations is that reactions update molecule counts.
2) 1 molecule of A is converted into 1 molecule of B
Pro: matches the typical interpretation.
Con: the behavior is no longer independent of units (namely, a unit conversion must be performed implicitly).
In an implementation of (2), one would need to convert the species initial amounts into units of individual molecule counts. In the case of moles, this would mean multiplying each species by Avogadro's number (6.02e23). If the units are changed to nanoMoles, then a different conversion is necessary.
So, the question is which is more important:
1) Avoiding having implicit unit conversions and having units affect simulation behavior.
OR
2) Keeping an individual molecule interpretation of stochastic reactions.
Thoughts?
Chris
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/
For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu
|
|
|
Posts: 9
Registered: November 2011
|
|
Re: Stochastic simulation in SBML
|
29 Nov '11 12:19

|
 |
|
On 30/11/11 08:50, Chris J. Myers wrote:
> Hi All,
>
> Currently, the SBML specification does not describe how to perform stochastic simulation on an SBML model. This has led to different tools implementing it differently making stochastic models not portable from one tool to another. Therefore, we would like to come up with a precise semantics for stochastic simulation to solve this problem. There is a subtlety though that complicates things. Consider the following model:
>
> Species A has an initial amount of 1 mole while species B has an initial amount of 0 moles. There is one reaction with A as a reactant and B as a product. The question is what happens to the state when this reaction occurs.
>
> 1) 1 mole of A is converted into 1 mole of B
>
> Pro: simple interpretation that is independent of units (namely, units can be dropped without any change in behavior).
>
> Con: typical interpretation of stochastic formulations is that reactions update molecule counts.
>
> 2) 1 molecule of A is converted into 1 molecule of B
>
> Pro: matches the typical interpretation.
>
> Con: the behavior is no longer independent of units (namely, a unit conversion must be performed implicitly).
>
> In an implementation of (2), one would need to convert the species initial amounts into units of individual molecule counts. In the case of moles, this would mean multiplying each species by Avogadro's number (6.02e23). If the units are changed to nanoMoles, then a different conversion is necessary.
Hi Chris,
I think that is the behaviour to be expected; the meaning of the model
(once variables are converted into common units) should not change just
because the units have changed.
For example, a model with numbers in nM should produce the same results
as a model with numbers in M, once the numbers have been converted into
nM. I therefore think that the units behaviour is a con for 1 and a pro
for 2, and therefore option 1 has both cons, and option 2 should be picked.
Best wishes,
Andrew
> So, the question is which is more important:
>
> 1) Avoiding having implicit unit conversions and having units affect simulation behavior.
>
> OR
>
> 2) Keeping an individual molecule interpretation of stochastic reactions.
>
> Thoughts?
>
> Chris
>
> ____________________________________________________________
> To manage your sbml-discuss list subscription, visit
> https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
>
> For a web interface to the sbml-discuss mailing list, visit
> http://sbml.org/Forums/
>
> For questions or feedback about the sbml-discuss list,
> contact sbml-team@caltech.edu
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/
For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu
|
|
|
Posts: 8
Registered: April 2009
|
|
Re: Stochastic simulation in SBML
|
29 Nov '11 12:31

|
 |
|
Hi,
I agree with Andrew, option 2 should be the expected behavior.
Frederic
>>> Andrew Miller 29/11/11 21:20 >>>
On 30/11/11 08:50, Chris J. Myers wrote:
> Hi All,
>
> Currently, the SBML specification does not describe how to perform stochastic simulation on an SBML model. This has led to different tools implementing it differently making stochastic models not portable from one tool to another. Therefore, we would like to come up with a precise semantics for stochastic simulation to solve this problem. There is a subtlety though that complicates things. Consider the following model:
>
> Species A has an initial amount of 1 mole while species B has an initial amount of 0 moles. There is one reaction with A as a reactant and B as a product. The question is what happens to the state when this reaction occurs.
>
> 1) 1 mole of A is converted into 1 mole of B
>
> Pro: simple interpretation that is independent of units (namely, units can be dropped without any change in behavior).
>
> Con: typical interpretation of stochastic formulations is that reactions update molecule counts.
>
> 2) 1 molecule of A is converted into 1 molecule of B
>
> Pro: matches the typical interpretation.
>
> Con: the behavior is no longer independent of units (namely, a unit conversion must be performed implicitly).
>
> In an implementation of (2), one would need to convert the species initial amounts into units of individual molecule counts. In the case of moles, this would mean multiplying each species by Avogadro's number (6.02e23). If the units are changed to nanoMoles, then a different conversion is necessary.
Hi Chris,
I think that is the behaviour to be expected; the meaning of the model
(once variables are converted into common units) should not change just
because the units have changed.
For example, a model with numbers in nM should produce the same results
as a model with numbers in M, once the numbers have been converted into
nM. I therefore think that the units behaviour is a con for 1 and a pro
for 2, and therefore option 1 has both cons, and option 2 should be picked.
Best wishes,
Andrew
> So, the question is which is more important:
>
> 1) Avoiding having implicit unit conversions and having units affect simulation behavior.
>
> OR
>
> 2) Keeping an individual molecule interpretation of stochastic reactions.
>
> Thoughts?
>
> Chris
>
> ____________________________________________________________
> To manage your sbml-discuss list subscription, visit
> https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
>
> For a web interface to the sbml-discuss mailing list, visit
> http://sbml.org/Forums/
>
> For questions or feedback about the sbml-discuss list,
> contact sbml-team@caltech.edu
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/
For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/
For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu
|
|
|
Posts: 123
Registered: September 2003
|
|
Re: Stochastic simulation in SBML
|
29 Nov '11 12:40

|
 |
|
Dear Chris,
I would interpret such a reaction in the stochastic sense as your option
2. This is indeed how COPASI does it.
One particular issue is the Avogadro's number, which is not 6.02e23 as
you indicate, but a much more precise number. Actually this number is
improved from time to time (it is a fundamental physical constant which
people keep estimating better and better). The precision of this number
makes a big difference in models with small volumes and small
concentratoins (when converting from molar to number of molecules). I
think SBML should at least recommend the number of significant digits of
this number to use, and a good source for the best estimate of this number.
best wishes
Pedro
On 11/29/2011 07:50 PM, Chris J. Myers wrote:
> Hi All,
>
> Currently, the SBML specification does not describe how to perform stochastic simulation on an SBML model. This has led to different tools implementing it differently making stochastic models not portable from one tool to another. Therefore, we would like to come up with a precise semantics for stochastic simulation to solve this problem. There is a subtlety though that complicates things. Consider the following model:
>
> Species A has an initial amount of 1 mole while species B has an initial amount of 0 moles. There is one reaction with A as a reactant and B as a product. The question is what happens to the state when this reaction occurs.
>
> 1) 1 mole of A is converted into 1 mole of B
>
> Pro: simple interpretation that is independent of units (namely, units can be dropped without any change in behavior).
>
> Con: typical interpretation of stochastic formulations is that reactions update molecule counts.
>
> 2) 1 molecule of A is converted into 1 molecule of B
>
> Pro: matches the typical interpretation.
>
> Con: the behavior is no longer independent of units (namely, a unit conversion must be performed implicitly).
>
> In an implementation of (2), one would need to convert the species initial amounts into units of individual molecule counts. In the case of moles, this would mean multiplying each species by Avogadro's number (6.02e23). If the units are changed to nanoMoles, then a different conversion is necessary.
>
> So, the question is which is more important:
>
> 1) Avoiding having implicit unit conversions and having units affect simulation behavior.
>
> OR
>
> 2) Keeping an individual molecule interpretation of stochastic reactions.
>
> Thoughts?
>
> Chris
>
> ____________________________________________________________
> To manage your sbml-discuss list subscription, visit
> https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
>
> For a web interface to the sbml-discuss mailing list, visit
> http://sbml.org/Forums/
>
> For questions or feedback about the sbml-discuss list,
> contact sbml-team@caltech.edu
>
--
Pedro Mendes
Chair in Computational Systems Biology
School of Computer Science
Manchester Centre for Integrative Systems Biology
University of Manchester
Manchester Interdisciplinary Biocentre
131 Princess Street
Manchester, M1 7DN, U.K.
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/
For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu
|
|
|
Posts: 187
Registered: July 2008
|
|
Re: Stochastic simulation in SBML
|
29 Nov '11 12:42

|
 |
|
It seems to me that there are simply multiple ways to stochastically
simulate an SBML model with units (which, remember, all L2 models had).
You could chunk your stochastic events at the molecular level, or you
could chunk your stochastic events at the molar level. Either one might
be appropriate depending on what you wanted to accomplish. If a tool
wanted to, they could even expose that choice to the user, letting them
set the granularity of the stochastic events to 'molecular' or 'substance
units' or even let them set it to some other unit (you can imagine
tweaking this to decrease the runtime). So, I guess I am voting for both
1 *and* 2 as options, clearly defined for the user (and if your tool only
does one, letting the user know that).
It is a more interesting question what to do in L3, where species do have
units of 'substance' but what 'substance' means in terms of molecules
might be undefined. At that point, the only solution I can see is to drop
the 'molecular' setting and instead only allow 'substance units', or
multiples thereof.
It does point out that when we get a stochastic test suite up and running,
this 'granularity' setting will be important.
While I agree that reproducibility on different platforms is important, I
also think that the diversity of the various SBML tools is also important.
Some tools do things that no other tool does, and some tools do the same
things, but more efficiently/more precisely/with hooks to different
programming systems than others. This only becomes a problem when a user
thinks they are doing the same thing on two systems, but is actually doing
different things. The main goal of SBML software developmen has to be to
get tools into the hands of users that allow them to do what they need to
do with their models. As both of your programs have a user base, I assume
that there are users who need molecular granularity, and users who need
'substance' granularity. Having two tasks and two programs at least means
that if one does what they want, they can use it. As you say, it would
also be nice to allow more direct comparison of the tools, but the primary
goal has to be allowing users to accomplish modeling tasks, and
secondarily to allow users to accomplish the same modeling task on
different platforms for comparison/verification purposes.
As far as making models that will behave the same on both platforms, you
can do that currently by setting the units of substance to equal 1
molecule. At that point, 'substance granularity' is the same as
'molecular granularity'.
-Lucian
* Chris J. Myers <myers@ece.utah.edu> [2011-11-29 19:56] writes:
> Hi All,
>
> Currently, the SBML specification does not describe how to perform stochastic simulation on an SBML model. This has led to different tools implementing it differently making stochastic models not portable from one tool to another. Therefore, we would like to come up with a precise semantics for stochastic simulation to solve this problem. There is a subtlety though that complicates things. Consider the following model:
>
> Species A has an initial amount of 1 mole while species B has an initial amount of 0 moles. There is one reaction with A as a reactant and B as a product. The question is what happens to the state when this reaction occurs.
>
> 1) 1 mole of A is converted into 1 mole of B
>
> Pro: simple interpretation that is independent of units (namely, units can be dropped without any change in behavior).
>
> Con: typical interpretation of stochastic formulations is that reactions update molecule counts.
>
> 2) 1 molecule of A is converted into 1 molecule of B
>
> Pro: matches the typical interpretation.
>
> Con: the behavior is no longer independent of units (namely, a unit conversion must be performed implicitly).
>
> In an implementation of (2), one would need to convert the species initial amounts into units of individual molecule counts. In the case of moles, this would mean multiplying each species by Avogadro's number (6.02e23). If the units are changed to nanoMoles, then a different conversion is necessary.
>
> So, the question is which is more important:
>
> 1) Avoiding having implicit unit conversions and having units affect simulation behavior.
>
> OR
>
> 2) Keeping an individual molecule interpretation of stochastic reactions.
>
> Thoughts?
>
> Chris
>
> ____________________________________________________________
> To manage your sbml-discuss list subscription, visit
> https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
>
> For a web interface to the sbml-discuss mailing list, visit
> http://sbml.org/Forums/
>
> For questions or feedback about the sbml-discuss list,
> contact sbml-team@caltech.edu
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/
For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu
|
|
|
Posts: 73
Registered: September 2003
|
|
Re: Stochastic simulation in SBML
|
29 Nov '11 12:45

|
 |
|
> Currently, the SBML specification does not describe how to
> perform stochastic simulation on an SBML model.
It is true that there is not explicit guidance within the main body of the spec, but I think Example 7.4 is fairly clear. But then I would... ;-) I also know of an excellent book which explains it all really quite clearly! ;-)
> This
> has led to different tools implementing it differently
> making stochastic models not portable from one tool to
> another.
Is that really still true? I know it used to be true, but the DSMTS:
http://code.google.com/p/dsmts/
seems to have helped most developers to interpret many models correctly (along with the aforementioned book).
> Therefore, we would like to come up with a
> precise semantics for stochastic simulation to solve this
> problem.
I agree that this is an excellent idea.
> There is a subtlety though that complicates
> things. Consider the following model:
>
> Species A has an initial amount of 1 mole while species B
> has an initial amount of 0 moles. There is one
> reaction with A as a reactant and B as a product. The
> question is what happens to the state when this reaction
> occurs.
>
> 1) 1 mole of A is converted into 1 mole of B
>
> Pro: simple interpretation that is
> independent of units (namely, units can be dropped without
> any change in behavior).
>
> Con: typical interpretation of
> stochastic formulations is that reactions update molecule
> counts.
I think this is incorrect behaviour.
> 2) 1 molecule of A is converted into 1 molecule of B
>
> Pro: matches the typical
> interpretation.
I think this is correct behaviour.
> Con: the behavior is no longer
> independent of units (namely, a unit conversion must be
> performed implicitly).
Yes and no. It is true that the behaviour is not independent of units. That is because the theory of stochastic chemical kinetics is not independent of units. The notion of a "molecule" ("item" in SBML-speak) is central to the theory, and you cannot simply rescale units and maintain behaviour. The units matter. This is different to the continuous deterministic situation, but that's just the way it is.
However, I disagree that this implies _implicit_ unit conversions. You might not want to simulate a model which does not use item units, or you might prefer to convert units to item before carrying out simulation. But this is not an _implicit_ conversion implied by the spec. This, as they say, is a tool problem.
If you really wanted to do this very cleanly, so that you could continue to "ignore" units, you could introduce another conversion factor representing the conversion from "item" to substance units. ie. an amount representing the substance to be converted in a single reaction "tick". For a model using item units this would be 1, and for a model using moles it would be the reciprocal of avagadro (or you could set it up so that it is avagadro, depending on how you formulate it). I did actually think about this when we were drafting the Level 3 spec, but we were having enough trouble getting the spec finalised on time without introducing that additional complication...
I also don't think that a new conversion factor _completely_ solves the problem, as we still have the issue of rate laws of the form k*P*(P-1)/2, where P is in units of substance, 1 is in units of item and 2 is dimensionless... Unless you require people to explicitly embed the new conversion factor within the mathematical formulae of rate laws of this form (so that the 1 is multiplied by our new conversion factor), you are still going to struggle with the automatic interpretation of models which do not use item units. And even if you think that is a great idea, that still only really solves the problem for models written with discrete stochastic simulation in mind. It still doesn't help for model containing rate laws containing k*P*P. They are still wrong however you interpret them! ;-)
> In an implementation of (2), one would need to convert the
> species initial amounts into units of individual molecule
> counts. In the case of moles, this would mean
> multiplying each species by Avogadro's number
> (6.02e23). If the units are changed to nanoMoles, then
> a different conversion is necessary.
>
> So, the question is which is more important:
>
> 1) Avoiding having implicit unit conversions and having
> units affect simulation behavior.
>
> OR
>
> 2) Keeping an individual molecule interpretation of
> stochastic reactions.
I think 2) is absolutely necessary, and I think 1) is conflating two different issues. I agree that implicit unit conversions are bad, and I don't recommend that we start doing it now. But there is no avoiding the fact that units affect the behaviour of a discrete stochastic simulation.
Regards,
Darren
--
Prof D J Wilkinson
darrenjwilkinson@btinternet.com
http://tinyurl.com/darrenjw
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/
For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu
|
|
|
Posts: 140
Location: University of Utah
Registered: May 2008
|
|
Re: Stochastic simulation in SBML
|
29 Nov '11 13:38

|
 |
|
Hi Darren,
>
> It is true that there is not explicit guidance within the main body of the spec, but I think Example 7.4 is fairly clear. But then I would... ;-) I also know of an excellent book which explains it all really quite clearly! ;-)
>
Indeed, an excellent book :-).
> Is that really still true? I know it used to be true, but the DSMTS:
>
> http://code.google.com/p/dsmts/
>
> seems to have helped most developers to interpret many models correctly (along with the aforementioned book).
>
I just checked and all of the examples have model substance units of item, so they do not expose this particular issue.
> If you really wanted to do this very cleanly, so that you could continue to "ignore" units, you could introduce another conversion factor representing the conversion from "item" to substance units. ie. an amount representing the substance to be converted in a single reaction "tick". For a model using item units this would be 1, and for a model using moles it would be the reciprocal of avagadro (or you could set it up so that it is avagadro, depending on how you formulate it). I did actually think about this when we were drafting the Level 3 spec, but we were having enough trouble getting the spec finalised on time without introducing that additional complication...
>
I think this is a great solution. I really don't like having an implicit conversion. As Pedro pointed out, there is not an agreement on Avogadro's precise value, so it should be the case that the value intended by the modeler is included in the model as the conversion factor. This will help ensure consistency across tools.
> I also don't think that a new conversion factor _completely_ solves the problem, as we still have the issue of rate laws of the form k*P*(P-1)/2, where P is in units of substance, 1 is in units of item and 2 is dimensionless... Unless you require people to explicitly embed the new conversion factor within the mathematical formulae of rate laws of this form (so that the 1 is multiplied by our new conversion factor), you are still going to struggle with the automatic interpretation of models which do not use item units. And even if you think that is a great idea, that still only really solves the problem for models written with discrete stochastic simulation in mind. It still doesn't help for model containing rate laws containing k*P*P. They are still wrong however you interpret them! ;-)
>
True. However, you can express this in SBML as is. It is difficult to achieve a model that can move accurately between deterministic and stochastic solvers. However, we should at least have a model that is simulated consistently across all stochastic simulators.
Cheers,
Chris
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/
For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu
|
|
|
Posts: 967
Registered: October 2003
|
|
Re: Stochastic simulation in SBML
|
29 Nov '11 13:39

|
 |
|
On Tue, 29 Nov 2011 20:40:44 +0000, Pedro Mendes wrote:
> I think SBML should at least recommend the number of significant digits of
> this number to use, and a good source for the best estimate of this number.
Actually, SBML states the exact number to use, and references the source.
This makes it possible to tie the numbers to the release of the specification, so that if the number is ever revised, a future spec revision can state the new number to use.
MH
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/
For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu
|
|
|
Posts: 967
Registered: October 2003
|
|
|
Posts: 123
Registered: September 2003
|
|
Re: Stochastic simulation in SBML
|
29 Nov '11 13:46

|
 |
|
On 11/29/2011 09:39 PM, Michael Hucka wrote:
> Actually, SBML states the exact number to use, and references the source.
quite right, mea culpa..
On 11/29/2011 09:38 PM, Chris J. Myers wrote:
> As Pedro pointed out, there is not an agreement on Avogadro's precise
> value
there is agreement, just that the exact value is not yet known but the
precision should be increasing in time.
As Mike says, the spec supplies a number and that should be used (or at
least that much precision).
Pedro
--
Pedro Mendes
Chair in Computational Systems Biology
School of Computer Science
Manchester Centre for Integrative Systems Biology
University of Manchester
Manchester Interdisciplinary Biocentre
131 Princess Street
Manchester, M1 7DN, U.K.
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/
For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu
|
|
|
Posts: 140
Location: University of Utah
Registered: May 2008
|
|
Re: Stochastic simulation in SBML
|
29 Nov '11 13:57

|
 |
|
Good point. However, I think it is still good to include the conversion factor between substance and item to make a model more explicit. We can use the avogadro constant in the conversion factor even. It just feels a bit strange to convert units implicitly in one place and explicitly in all other places. When using a derived unit for a substance (ex. nanoMole), the unit definition will be needed to make the conversion. This means that you can no longer ignore units and simulate the model correctly. However, adding the conversion factor will allow us to maintain this feature.
Chris
On Nov 29, 2011, at 2:44 PM, Michael Hucka wrote:
> On Tue, 29 Nov 2011 14:38:57 -0700, Chris J. Myers wrote:
>> there is not an agreement on Avogadro's precise value, so it should be
>> the case that the value intended by the modeler is included in the
>> model as the conversion factor.
>
> The L3 spec states the exact value that the csymbol for Avogadro and the unit symbol "avogadro" are assumed to take!
>
> MH
> ____________________________________________________________
> To manage your sbml-discuss list subscription, visit
> https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
>
> For a web interface to the sbml-discuss mailing list, visit
> http://sbml.org/Forums/
>
> For questions or feedback about the sbml-discuss list,
> contact sbml-team@caltech.edu
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/
For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu
|
|
|
Posts: 73
Registered: September 2003
|
|
Re: Stochastic simulation in SBML
|
29 Nov '11 14:07

|
 |
|
--- On Tue, 29/11/11, Chris J. Myers <myers@ece.utah.edu> wrote:
> Hi Darren,
> > Is that really still true? I know it used to be true,
> but the DSMTS:
> >
> > http://code.google.com/p/dsmts/
> >
> > seems to have helped most developers to interpret many
> models correctly (along with the aforementioned book).
> >
>
> I just checked and all of the examples have model substance
> units of item, so they do not expose this particular issue.
That is true - there are issues of "precision" involved when using other substance units, which is the reason there aren't currently any models in moles in the suite, though the avagadro csymbol should in principle partly solve this. However, there is a detailed worked example of converting a simple SBML model between moles and items in Chapter 7 of my book. L2v4 in the first edition and L3v1 in the second edition.
> > If you really wanted to do this very cleanly, so that
> you could continue to "ignore" units, you could introduce
> another conversion factor representing the conversion from
> "item" to substance units. ie. an amount representing the
> substance to be converted in a single reaction "tick". For a
> model using item units this would be 1, and for a model
> using moles it would be the reciprocal of avagadro (or you
> could set it up so that it is avagadro, depending on how you
> formulate it).
> I think this is a great solution.
As I said, I don't think it solves all problems, but it does solve some, and is arguably better than introducing an explicit dependence on units in the math spec. I would certainly be supportive of the introduction of such a new conversion factor.
Cheers,
Darren
--
Darren Wilkinson
email: darrenjwilkinson@btinternet.com
www: http://www.staff.ncl.ac.uk/d.j.wilkinson/
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/
For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu
|
|
|
Posts: 967
Registered: October 2003
|
|
|
Posts: 73
Registered: September 2003
|
|
|
Posts: 469
Registered: October 2003
|
|
Re: Stochastic simulation in SBML
|
29 Nov '11 14:24

|
 |
|
On 29/11/11 22:18, Darren Wilkinson wrote:
> --- On Tue, 29/11/11, Michael Hucka<mhucka@caltech.edu> wrote:
>> This problem was the original reason why SBO was
>> invented. Adding SBO terms to the model should be
>> enough to help a tool determine the assumptions underlying a
>> model.
>>
>> Why is that not enough for this?
>
> Because SBO terms can not (and should not) affect the mathematical interpretation of the model.
Not the mathematical interpretation of the *model*, but the conceptual
framework it is meant to be used with. This is the whole point of the
"modelling framework" branch. Each MathML of the "mathematical expression"
branch carries a semantic element specifically for this purpose.
If I remember well Darren, you attended the dedicated meeting in Boston
that put the initial branches together :-)
> Cheers,
>
> Darren
>
> --
> Darren Wilkinson
> email: darrenjwilkinson@btinternet.com
> www: http://www.staff.ncl.ac.uk/d.j.wilkinson/
>
> ____________________________________________________________
> To manage your sbml-discuss list subscription, visit
> https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
>
> For a web interface to the sbml-discuss mailing list, visit
> http://sbml.org/Forums/
>
> For questions or feedback about the sbml-discuss list,
> contact sbml-team@caltech.edu
--
Nicolas LE NOVERE, Computational Systems Neurobiology, EMBL-EBI, WTGC,
Hinxton CB101SD UK, Mob:+447833147074, Tel:+441223494521 Fax:468,
lenov@ebi.ac.uk, Skype:n.lenovere, twitter:@lenovere
http://www.ebi.ac.uk/~lenov/, http://www.ebi.ac.uk/compneur/
Fight against prostate cancer (and support my moustache):
Donate at http://mobro.co/lenov
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/
For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu
|
|
|
Posts: 170
Registered: December 2006
|
|
Re: Stochastic simulation in SBML
|
29 Nov '11 16:30

|
 |
|
Hello All,
I think that we do not have the choice between option 1) and 2) below.
The model and its simulation should be representing the 'physical
reality' thus option 1) is clearly wrong. Also we must not think about
stochastic vs deterministic simulation as there are methods of
integration which use both strategies in parallel.
We can argue that solution 2) requires implicit unit conversion but I
agree with Darren that to properly implement any stochastic simulation
one needs to be able to convert the given substance unit into items.
This is not implicit it is explicit especially in L3 where we have
defined the Avogadro constant. This interpretation leaves models in
which the substance is measured in kg out, but I do not see any problem
with that.
Therefore I do not see any need to act, except to elaborate on the
examples and to provide further test case which use other units than
items. Here I would like to thank Darren for the excellent test suite,
which the COPASI team uses extensively to validate its different
stochastic and hybrid algorithms.
Thanks,
Stefan
On Tue, 29 Nov 2011 12:50:19 -0700
"Chris J. Myers" <myers@ece.utah.edu> wrote:
> Hi All,
>
> Currently, the SBML specification does not describe how to perform
> stochastic simulation on an SBML model. This has led to different
> tools implementing it differently making stochastic models not
> portable from one tool to another. Therefore, we would like to come
> up with a precise semantics for stochastic simulation to solve this
> problem. There is a subtlety though that complicates things.
> Consider the following model:
>
> Species A has an initial amount of 1 mole while species B has an
> initial amount of 0 moles. There is one reaction with A as a
> reactant and B as a product. The question is what happens to the
> state when this reaction occurs.
>
> 1) 1 mole of A is converted into 1 mole of B
>
> Pro: simple interpretation that is independent of units
> (namely, units can be dropped without any change in behavior).
> Con: typical interpretation of stochastic formulations is
> that reactions update molecule counts.
>
> 2) 1 molecule of A is converted into 1 molecule of B
>
> Pro: matches the typical interpretation.
>
> Con: the behavior is no longer independent of units (namely,
> a unit conversion must be performed implicitly).
>
> In an implementation of (2), one would need to convert the species
> initial amounts into units of individual molecule counts. In the
> case of moles, this would mean multiplying each species by Avogadro's
> number (6.02e23). If the units are changed to nanoMoles, then a
> different conversion is necessary.
>
> So, the question is which is more important:
>
> 1) Avoiding having implicit unit conversions and having units affect
> simulation behavior.
>
> OR
>
> 2) Keeping an individual molecule interpretation of stochastic
> reactions.
>
> Thoughts?
>
> Chris
>
> ____________________________________________________________
> To manage your sbml-discuss list subscription, visit
> https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
>
> For a web interface to the sbml-discuss mailing list, visit
> http://sbml.org/Forums/
>
> For questions or feedback about the sbml-discuss list,
> contact sbml-team@caltech.edu
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/
For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu
|
|
|
Posts: 170
Registered: December 2006
|
|
Re: Stochastic simulation in SBML
|
29 Nov '11 16:47

|
 |
|
Hello All,
On Tue, 29 Nov 2011 20:45:46 +0000 (GMT)
Darren Wilkinson <darrenjwilkinson@btinternet.com> wrote:
> I also don't think that a new conversion factor _completely_ solves
> the problem, as we still have the issue of rate laws of the form
> k*P*(P-1)/2, where P is in units of substance, 1 is in units of item
> and 2 is dimensionless... Unless you require people to explicitly
> embed the new conversion factor within the mathematical formulae of
> rate laws of this form (so that the 1 is multiplied by our new
> conversion factor), you are still going to struggle with the
> automatic interpretation of models which do not use item units. And
> even if you think that is a great idea, that still only really solves
> the problem for models written with discrete stochastic simulation in
> mind. It still doesn't help for model containing rate laws containing
> k*P*P. They are still wrong however you interpret them! ;-)
Darren hits the nail on the head. I have advocated years ago that the
kinetic laws as they exist in SBML need to be augmented. Either, we
allow the ability to specify alternatives for stochastic and
deterministic use or we require that software implements an
intelligent correction.
In the absence of a solution the COPASI team implemented some heuristics
to determine whether an SBML model was meant to be simulated
stochastically and the rate law was properly corrected by the user or
whether it was written with deterministic integration in mind. COPASI
uses a model attribute to achieve store that information and correct
intelligently if required. In the interest of being explicit I suggest
the creation of a propensity in addition to the kinetic law.
While we are talking about stochastic models expressed in SBML I have
one issue with the way currently the propensities/kinetic laws are
written. They are volume independent which does make any sense at all
especially if we think about multi-compartment stochastic models. Even
in stochastic models the propensity depends on the concentration and
not on the number of items.
Thanks,
Stefan
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/
For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu
|
|
|
Posts: 97
Registered: November 2006
|
|
Re: Stochastic simulation in SBML
|
30 Nov '11 03:32
|
 |
|
Hello,
I think the example of stochastic solvers exposes two conflicting
objectives a solver in general might have:
(1) Solve the given mathematical model. There is one single
mathematical solution, and all solvers strive to reproduce that one.
Annotations have no relevance to the solution.
(2) Solve the underlying reality. Possibly find that you can
substitute the given model by one that describes reality better.
Therefore, find a solution that diverges from the solution of the
given model, but describes reality much better. Annotations are
essential to finding the best solution.
In essence, this boils down to whether we solely want to describe a
model (the domain of SBML), or also some of the underlying reality
(the domain of BioPAX/SBPAX).
Take care
Oliver
On Tue, Nov 29, 2011 at 7:47 PM, Stefan Hoops <shoops@vbi.vt.edu> wrote:
> Hello All,
>
> On Tue, 29 Nov 2011 20:45:46 +0000 (GMT)
> Darren Wilkinson <darrenjwilkinson@btinternet.com> wrote:
>
>> I also don't think that a new conversion factor _completely_ solves
>> the problem, as we still have the issue of rate laws of the form
>> k*P*(P-1)/2, where P is in units of substance, 1 is in units of item
>> and 2 is dimensionless... Unless you require people to explicitly
>> embed the new conversion factor within the mathematical formulae of
>> rate laws of this form (so that the 1 is multiplied by our new
>> conversion factor), you are still going to struggle with the
>> automatic interpretation of models which do not use item units. And
>> even if you think that is a great idea, that still only really solves
>> the problem for models written with discrete stochastic simulation in
>> mind. It still doesn't help for model containing rate laws containing
>> k*P*P. They are still wrong however you interpret them! ;-)
>
> Darren hits the nail on the head. I have advocated years ago that the
> kinetic laws as they exist in SBML need to be augmented. Either, we
> allow the ability to specify alternatives for stochastic and
> deterministic use or we require that software implements an
> intelligent correction.
>
> In the absence of a solution the COPASI team implemented some heuristics
> to determine whether an SBML model was meant to be simulated
> stochastically and the rate law was properly corrected by the user or
> whether it was written with deterministic integration in mind. COPASI
> uses a model attribute to achieve store that information and correct
> intelligently if required. In the interest of being explicit I suggest
> the creation of a propensity in addition to the kinetic law.
>
> While we are talking about stochastic models expressed in SBML I have
> one issue with the way currently the propensities/kinetic laws are
> written. They are volume independent which does make any sense at all
> especially if we think about multi-compartment stochastic models. Even
> in stochastic models the propensity depends on the concentration and
> not on the number of items.
>
> Thanks,
> Stefan
>
>
>
> ____________________________________________________________
> To manage your sbml-discuss list subscription, visit
> https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
>
> For a web interface to the sbml-discuss mailing list, visit
> http://sbml.org/Forums/
>
> For questions or feedback about the sbml-discuss list,
> contact sbml-team@caltech.edu
--
Oliver Ruebenacker, Computational Cell Biologist
Virtual Cell (http://vcell.org)
SBPAX: Turning Bio Knowledge into Math Models (http://www.sbpax.org)
http://www.oliver.curiousworld.org
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/
For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu
|
|
|
|