[sbml-discuss] Multiple kineticLaw Sections Per Reaction

Darren Wilkinson darrenjwilkinson at btinternet.com
Sat Mar 11 13:29:07 PST 2006

--- Herbert Sauro <Herbert_Sauro at kgi.edu> wrote:
> I also think there is a real problem, how would one know that
> a given
> rate law in an SBML model is valid for a stochastic model? 

How do you know if a given rate law is valid for a deterministic
model? It isn't for SBML to decide which laws are sensible and
which aren't.

> As
> far as I
> know, and I please correct me if I am wrong, there are only a
> very small
> number of rate laws that have been shown to be usable for
> stochastic
> simulations.

Not true. There isn't anything to show. You can use any rate law
you like, just as for deterministic models. But let me

First, the issue with rate laws is nothing to do with whether
the model is deterministic or stochastic, but rather whether or
not species are treated as continuous or discrete. So all of
these issues are about continuous rate laws and discrete rate
laws (which tend to be slightly different). So let's start with
continuous rate laws. For a given reaction, say

X -> Y

you can write down any rate law you like, and continuous
deterministic modellers never fail to amaze me with their
creativity in this regard! ;-) Of course, not all laws you write
down are completely sensible, and only a very small fraction
have any vague attempt at theoretical justification. However, it
is important to distinguish between laws that are consistent
with the underlying theory and those that aren't. So for the
above equation, you could write down the kinetic law "1". Now
personally I would regard that as being an allowable rate law,
and consistent with the SBML specification (and I have seen real
models with constant rate laws), but most of us would consider
it pretty dumb (assuming X isn't a boundary), because it doesn't
have a root at zero, and therefore doesn't prevent X from going
negative. Therefore in some sense a kinetic law of "1" isn't
really consistent with the underlying theory.

Now let's consider a more interesting example:

2X -> Y

Here, the obvious continuous mass-action rate law would be of
the form "kX^2" (though there are lots of other laws you could
use). Among other things, this has the desirable property of
having a (double) root at zero and therefore prevents X from
going negative. However, if X is being treated as discrete,
there is a problem with the above rate law. Because X takes on
integer values and is changed by the reaction in steps of 2, you
need a rate law with roots at both zero and one in order to
prevent X from going negative. So pretty much any (non-negative)
rate law with roots at zero and one is consistent with the
discrete formulation. Now most people would use a law of the
form "kX(X-1)", as this has a rigorous mass-action stochastic
kinetic derivation, but there isn't any "rule" in discrete
modelling which says you are only allowed to use laws with a
rigorous justification, just as there isn't in the case of
continuous rate laws. My own (admittedly controversial) opinion
is that many of the rate laws used routinely by continuous
modellers have only the most scant justification, so I don't see
why discrete modellers should be forced to live by different

> I can't blindly read a SBML file, Level 1 or 2
> (and we use
> level 2), and just plug all the equations into a, say,
> Gillespie
> simulator.

Of course not! But this is nothing to do with there being any
kind of problem encoding discrete models in SBML. It is an issue
about _converting_ models designed for one framework to another
framework. But models in both frameworks can be encoded
perfectly well in SBML.

> I think this is what the SBO idea will solve?

Yes, SBO is supposed to help with the conversion problem.


Darren Wilkinson
email: darrenjwilkinson at btinternet.com
home www: http://www.darrenjwilkinson.btinternet.co.uk/
work www: http://www.staff.ncl.ac.uk/d.j.wilkinson/

More information about the Sbml-discuss mailing list