- Methodology article
- Open Access
- Published:

# Simulation methods with extended stability for stiff biochemical Kinetics

*BMC Systems Biology***volume 4**, Article number: 110 (2010)

## Abstract

### Background

With increasing computer power, simulating the dynamics of complex systems in chemistry and biology is becoming increasingly routine. The modelling of individual reactions in (bio)chemical systems involves a large number of random events that can be simulated by the stochastic simulation algorithm (SSA). The key quantity is the step size, or waiting time, *τ*, whose value inversely depends on the size of the propensities of the different channel reactions and which needs to be re-evaluated after every firing event. Such a discrete event simulation may be extremely expensive, in particular for stiff systems where *τ* can be very short due to the fast kinetics of some of the channel reactions. Several alternative methods have been put forward to increase the integration step size. The so-called *τ*-leap approach takes a larger step size by allowing all the reactions to fire, from a Poisson or Binomial distribution, within that step. Although the expected value for the different species in the reactive system is maintained with respect to more precise methods, the variance at steady state can suffer from large errors as *τ* grows.

### Results

In this paper we extend Poisson *τ*-leap methods to a general class of Runge-Kutta (RK) *τ*-leap methods. We show that with the proper selection of the coefficients, the variance of the extended *τ*-leap can be well-behaved, leading to significantly larger step sizes.

### Conclusions

The benefit of adapting the extended method to the use of RK frameworks is clear in terms of speed of calculation, as the number of evaluations of the Poisson distribution is still one set per time step, as in the original *τ*-leap method. The approach paves the way to explore new multiscale methods to simulate (bio)chemical systems.

## Background

It is by now very well known that the biochemical kinetics involving small numbers of molecules can be very different to kinetics described by the law of mass action and differential equations [1–3]. This effect is a property of the intrinsic noise of the system and is associated with the uncertainty of knowing when a reaction occurs and what that reaction is. At the molecular level such intrinsic uncertainty is, in turn, a consequence of the stochastic nature of the fluctuations of the potential energy surface for any chemical reaction in the condensed phase [4]. When considering a collection of molecules, the intrinsic noise is accentuated when some chemical species have small numbers, as is often the case in genetic regulatory models where there are small numbers of key transcription factors that can bind to a limited number of operator regions on DNA [5–15]. Kurtz [16] and Gillespie [17] realised this fact and developed discrete methods to deal with this situation. The stochastic simulation algorithm (SSA, see [18] for a review) describes the time evolution of the dynamics of the species in a well-stirred chemically reacting system as a discrete nonlinear Markov process, resulting in an exact method to sample from the probability density function described by the chemical master equation (CME). Gibson and Bruck proposed a more efficient implementation of the SSA called the next reaction method [19].

The basic idea of the SSA is that at each time point a waiting time to the next reaction and the most likely reaction to occur must be sampled from a joint probability density function leading to an appropriate update of the state vector. But if the rate constants and/or the numbers of molecules in the system are large then the waiting time (time step, *τ*) can be very small [18]. Because of this Gillespie [20] introduced the Poisson *τ*-leap method, in which all reactions are allowed to fire in a given *τ* with a frequency extracted from a Poisson distribution. Since then many extensions of this idea have been developed. Cao et al. [21] have considered efficient mechanisms for selecting *τ* and have developed implicit methods suitable for simulating stiff systems. Tian and Burrage [22] introduced a modification of Poisson *τ*-leap methods known as Binomial *τ*-leap methods that avoids the issue of obtaining negative molecular numbers from which Poisson *τ*-leap methods can suffer. Chatterjee et al. [23] and Auger et al. [24] have considered modifications to Binomial *τ*-leap methods that improve some of the implementation aspects. On the other hand, Monk [25] and Mackey [26] noted the importance of representing delays, especially when representing processes such as transcription and translation. Accordingly, Bratsun et al. [12] and Barrio et al. [27] developed a delayed version of the Stochastic Simulation Algorithm. Leier et al. [28] and Anderson [29] extended these ideas to a *τ*-leap setting.

Although *τ*-leap methods can, in some cases, substantially improve computational efficiency compared with the SSA, when there is moderate stiffness in the system the efficiencies can be quite poor. One could resort to implicit *τ*-leap methods but then there are considerable implementation issues and subtleties. A different approach is to explore ideas from the numerical ODE (ordinary differential equations) and numerical SDE (stochastic differential equations) communities. Thus, with ODEs it is well known that stiffness leads to a step size restriction when using explicit methods and many classes of efficient implicit methods have been designed [30]. However, in the case of moderately stiff systems explicit Runge-Kutta methods with extended stability regions along the negative real axis have proven to be especially effective [31, 32]. Runge-Kutta methods are a class of one step methods which gain their efficacy by computing intermediate approximations to the solution within a step. Explicit Runge-Kutta methods with extended stability regions are based on explicit Runge-Kutta methods whose stability function is a shifted and scaled Chebyshev polynomial or some variant thereof. In the stochastic setting, there are some subtleties designing fully implicit methods due to possible unboundedness of the solution as the Wiener increment can take positive or negative values with equal likelihood [33]. Thus most methods are semi-implicit, that is implicit in the deterministic component. Abdulle and Cirilli [32] have, with some success, extended the ideas of explicit Chebyshev methods with extended stability regions to the SDE setting via their class of S-ROCK methods.

Here, we use the Runge-Kutta formulation to construct methods with large stability regions so that efficiencies are gained by allowing larger stepsizes. We note that this is exactly what Abdulle and Cirilli [32] do in the SDE setting, that is they use a Runge-Kutta formulation to construct methods with excellent stability properties and even though these methods are only weak order 1 they perform very well. It is noteworthy that in this work we are not using the Runge-Kutta formulation to get second order accuracy for *τ*-leap methods. This seems to be a difficult problem, just as it is the case for SDEs and will probably require double integrals of compensated processes to be simulated. In fact, Abdulle and Cirilli [32] also note that it is very difficult to construct weak order 2 methods with good stability properties and to our knowledge at the moment no such methods exist in the SDE setting. Note that in a stochastic setting we judge order of accuracy through two mechanisms: strong order (where trajectories are compared with the true solutions) and weak order (where moments are compared). Often a numerical method may have a higher weak order than its strong order. The Euler-Maruyama method is a case in point with weak order one and strong order a half.

Thus, in this paper, we explore a series of fully explicit multistage Runge-Kutta methods with extended stability for a fixed *τ*-leap stochastic simulation schema. Our methods involve the same number of Poisson evaluations per integration step as in the original *τ*-leap formulation but allow increasingly larger step sizes at the cost of an increasing series of deterministic evaluations in the internal stages. First we give some background on Runge-Kutta methods for ODEs and SDEs. In section Results we extend these ideas to the *τ*-leap methods and present a stability analysis for linear chemical kinetics, including its practical implementation. In section Numerical results we present numerical results for both the linear case and the classical stiff system described by the Schlögl reaction [34]. Finally, in section Discussion we discuss further implications of this work and, in particular, possible extensions to multiscale modelling.

### Review of Runge-Kutta methods for SDEs and ODEs

#### Stability region for RK methods applied to ODEs

Consider the system of initial value ODEs given by

The class of *s*-stage Runge-Kutta (RK) methods for approximating the solution to (1) is given by

where *h* is the time step. This class of methods is characterised by the Butcher tableau

where **b**^{T} = (*β*_{1},...,*β*_{
s
}), **w** = **Ae** and **e** = (1,...,1)^{T}. Here **A** is the matrix with entries *α*_{
ij
}and **w** is the column vector **w**^{T} = (*w*_{1},...,*w*_{s})^{T}. A Runge-Kutta method is said to be explicit if the *s* × *s* matrix **A** is strictly lower triangular. The method parameters are usually chosen so that a Runge-Kutta method has appropriate efficiency, order and stability characteristics. The **Y**_{
i
}are considered to be approximations to the solution at the intermediate points *t*_{
n
}+ *w*_{
i
}*h* for *i* = 1,...*s*.

In a stability setting an RK method is often applied to the linear, scalar test equation

In which case it is easily seen that (2) gives rise to

Where

.

Here *R*(*z*) is the so-called *stability function*. This function can be extended to a linear *N*-dimensional equation **y'** = **Λy** in which case it becomes a matrix function of the *N* × *N* matrix **Λ**:

where **e** is the unit vector, **I**_{
s
}is the identity matrix of order *s* and ⊗ represents the Kronecker tensor product such that the (*i, j*) element of **A** ⊗ **B** is *a*_{
ij
}**B**. Notice that, if **Λ** is a scalar value and taking *z* = *h* **Λ**, *R*(*z*) would be a scalar and take the form (4). Therefore we can refer to *R* seamlessly irrespective of whether the argument is a matrix or a scalar.

In the case of an explicit method, as **A** is a strictly lower triangular *s* × *s* matrix, its *s* th power is **A**^{s}= **0**. Therefore, equation (4) can be expanded into a finite power series for **A**:

where *r*_{
j
}= **b**^{T}**A**^{j-1}**e**, *j* = 1,...,*s*. Hence, *R*(*z*) is a polynomial of at most degree *s* for any explicit method.

Since (3) is asymptotically stable for all Re [*λ*] < 0, the stability region of a Runge-Kutta method is defined as

#### Stability region for RK methods applied to SDEs

In the case of stochastic differential equations (SDEs), we consider the general *m* dimensional form

where **W**(*t*) = (*W*_{1}(*t*),...,*W*_{
d
}(*t*))^{T} is a vector of *d* independent Wiener processes in which an individual Wiener process has the properties

and non-overlapping Wiener increments are independent of one another. A sample of a Wiener increment *W*(*t* + *h*) - *W*(*t*) is simulated from a Normal random variable with mean 0 and variance h, *N*(0, *h*).

Equation (8) can arise as the limit of a discrete process through the concept of a diffusion process in which case **f** (*t*, **y**) will represent the mean of this process and **g**(*t*, **y**) is the *m* × *d* matrix such that **gg**^{T} is the covariance. Equation (8) can be interpreted in several ways (see [35] for an introduction to SDEs), depending on which integral definition is used. Two such interpretations lead to Itô and Stratonovich forms of SDEs. In the Itô setting an integral is approximated by summing, over a partition, the areas of a rectangle with width the increment of the Wiener process on that subinterval and height the value of the integrand at the lefthand point of each subinterval whereas in the Stratonovich setting the integrand is evaluated at the midpoint of each interval. If (8) is interpreted in the Itô sense then the simplest numerical algorithm is given by

where Δ**W**_{
n
}= (Δ*W*_{1},....Δ*W*_{
d
})^{T} and Δ*W*_{
i
}:= *W*_{
i
}(*t*_{
n
}+ *h*) - *W*_{
i
}(*t*_{
n
}), *i* = 1,...,*d* are normally distributed random numbers with mean 0 and variance *h*. This method is known as the Euler-Maruyama method and it is known to have strong order (pathwise order) $\frac{1}{2}$ and weak order (moment order) 1.

As with the deterministic case, the quality of a numerical method can be partly characterised by its stability region associated with the scalar, linear test equation

The solutions of (10) in the Itô and Stratonovich cases are, respectively,

In the later case, the solution is mean square stable $\left({\mathrm{lim}}_{t\to \infty}\mathbb{E}\left[|{y}_{S}(t){|}^{2}\right]=0\right)$ if Re [*a*] + Re [*b*^{2}] ≤ 0.

A very general class of stochastic Runge-Kutta methods [36] was constructed for the solution of (8) which, when applied to the scalar test SDE (10) produces

where *R* is a multinomial in *p* and *q* if the method is explicit and where *p* = *ha*, $q=\sqrt{hb}$. Analogous to the deterministic case, the mean square stability region of a method is defined as

In the case of the Euler-Maruyama method

and in the (*p, q*) plane, with *p, q* ∈ ℝ, the stability region is a circle of radius 1 centered in (-1,0).

## Results

### The *τ*-leap Runge-Kutta framework with bounded variance and extended stability domain

As stated in the Background section, the SSA describes the time evolution of a vector of integer numbers of molecules in the presence of intrinsic noise. More formally, suppose that there are *N* chemical species *S*_{1},...,*S*_{N} undergoing *m* chemical reactions. Let *X*_{
i
}(*t*), *i* = 1,...,*N* denote the number of molecules of species *S*_{
i
}and **X**(*t*) = (*X*_{1}(*t*),...,*X*_{
N
}(*t*))^{T}. Now any set of chemical reactions is uniquely characterised by two sets of quantities. These are the update (stoichiometric) vectors *ν*_{1},...,*ν*_{
m
}for each of the *m* reactions and the propensity functions *a*_{1}(**X**(*t*)),...,*a*_{
m
}(**X**(*t*)), which are proportional to the probabilities of each of the reactions occurring. For example, given the reaction

then **X**(*t*) = (*A*(*t*), *B*(*t*), *C*(t))^{T}, *ν*_{1} = (-1, -1, 1)^{T} and *a*_{1}(**X**(*t*)) = *cA*(*t*)*B*(*t*).

Given **X**(*t*) at time *t*, the SSA determines a waiting time *τ* to the next reaction assuming an exponential waiting time distribution ${e}^{-\tau {a}_{0}(X(t))}$, where ${a}_{0}(X(t))={\displaystyle {\sum}_{j=1}^{m}{a}_{j}(X(t))}$, and then selects the most likely reaction, say *k*, based on the relative sizes of *a*_{1}(** X**(

*t*)),...,

*a*

_{ m }(

**(**

*X**t*)). The state vector is then updated as

and the algorithm repeats.

Since a typical stepsize (waiting time) is of the size 1/*a*_{0}(**X**(*t*)), this can be very small if some of the rate constants are large and/or some species have large numbers of molecules. Accordingly *τ*-leap methods attempt to take a larger step size in which all the reactions can occur based on a certain frequency. This can be written as

Gillespie [20] chose the number of *R*_{
j
}reactions per step, *K*_{
j
}, as coming from a Poisson distribution with mean *τ* *a*_{
j
}(**X**_{
n
}), that is

Using the so-called compensated process given by

which satisfies $\mathbb{E}$[*L* (*τ*, *x*)] = 0 and $\mathbb{E}$ [*L* (*τ*, *x*)^{2}] = *τx*, equation (11) can be restated as

Where $f(x)={\displaystyle {\sum}_{j=1}^{m}{\nu}_{j}{a}_{j}}(x)$.

As noted by Gillespie [20] and Tian and Burrage [22], and as a consequence of the Law of Large Numbers, as *xτ* → ∞, *L*(*τ*, *x*) converges to a normal random variable with zero mean and variance *τx*, *N*(0, *τ* *x*), and this can be considered as a sample $\sqrt{x}\Delta {W}_{n}$ of $\sqrt{x}N(0\text{,}\tau )$. Substituting this into (14) gives

This is precisely the Euler-Maruyama method applied to the SDE

Thus in the continuous limit the Poisson *τ*-leap method can be viewed as the Euler-Maruyama method applied to a form of the Chemical Langevin Equation. Indeed Li [37] has shown that the Poisson *τ*-leap method has mean square strong order $\frac{1}{2}$ and weak order 1 and this is consistent with the previous remarks. In addition, equation (16) is a particular case of the general SDE

These relationships naturally lead to the introduction of the class of Runge-Kutta *τ*-leap methods which bears a relationship, similar to the one discussed above, to the general class of Stochastic Runge-Kutta methods for solving SDEs [36]. This general class of explicit *s*-stage Runge-Kutta *τ*-leap methods takes the form

where *L*(*τ*, *x*) is given by (13) and $f(x)={\displaystyle {\sum}_{j=1}^{m}{\nu}_{j}{a}_{j}}(x)$ represents the drift or expected stepchange. As our focus is explicit methods, the matrix **A** is strictly lower diagonal. We note that (17) requires the same number of samples of Poisson random variables per step as the Poisson *τ*-leap method.

The Poisson *τ*-leap method given by (11) and (12) is equivalent to (17) with

Indeed any Runge-Kutta method for solving an ODE can be incorporated into this framework. We also note that other methods proposed in the literature can be put into this framework. For example, the midpoint method of Gillespie [20] can be represented with *s* = 2, **b**^{T} = (0, 1), **w** = (0, 0.5)^{T} and where the row-wise entries of **A** are 0, 0, 0.5, 0.

#### The linear case

As in the case of stability settings in the ODE and SDE regimes, we analyse (17) when applied to linear kinetics, which in this case are described by sets of unimolecular reactions. A general set of *m* unimolecular reactions can be described by *m* propensity functions given by the following linear functions

where **x** is the state vector of dimension *N* and ${c}_{j}={({c}_{{1}_{j}},\dots ,{c}_{{N}_{j}})}^{T}$, *j* = 1,...,*m* are *m* vectors of dimension *N* defining the propensities. A more convenient way to describe this linear kinetics system is by using the *N* × *N* matrix **W**

so that now the drift or expected step-change can be represented as

If the Runge-Kutta method for ODEs underlying a Runge-Kutta *τ*-leap method (17) has stability function given by (4), then when the latter is applied to (18) we show (Additional file 1) that

where *R* is the multidimensional version of (4) given by (5). Note that this is a natural generalization of the deterministic case when a Runge-Kutta method is applied to the problem **y'** = **Λy** giving **X**_{
n
}= *R*(*h* **Λ**)**X**_{n-1}. Thus with fixed stepsize *τ*

Therefore, boundedness in the mean requires that the spectral radius, *ρ*, of *R*(*τ* **W**) satisfies

In order to analyse the framework (17) from the perspective of both mean and variance behaviour we consider the reversible isomerisation reaction with fixed total number of molecules given by

as the linear scalar test equation. It is easy to see that this system is a analogous to (3) for ODEs and (10) to SDEs with constant nonzero term. The system is chosen to have constant nonzero term in order to compare its variance, which otherwise would fade to zero, to the variance given by the framework methods (17). In this case

.

For this set of reactions, the Chemical Master Equation (which describes the probability density function associated with the evolving Markov process **X**) can be solved analytically [18, 38]. In particular, it can be shown that the stationary state $X*={({X}_{1}^{*},{X}_{2}^{*})}^{T}$ has a probability density function (PDF) that follows a binomial distribution with

Where

and *T* = *X*_{1}(*t*) + *X*_{2}(*t*) is the (fixed) total number of molecules in the system. Thus from the properties of the binomial distribution with **e** = (1, 1)^{T}

In the case of non-negative coefficients in the underlying RK method and for constant *τ* one can show (see details in Additional file 1) that if (17) is applied to (21) with constant *τ* such that |*R*(*z*)| < 1, *z* = -*τ*(*k*_{1} + *k*_{2}), then in the limit as n → ∞ the mean vector converges to the theoretical mean, that is

Note that with the constraint |*R*(*z*)| < 1, *z* = -*τ*(*k*_{1} + *k*_{2}) then the spectral radius of *R*(*τ* **W**) is less than or equal to 1, and as there is only one eigenvalue equal to one hence we have boundedness of the mean.

Furthermore, if Var [**X**_{∞}] denotes the variance of the new method at steady state (*X*_{1} and *X*_{2} have the same variance) and if *R*^{2}(*z*) ≠ 1, *z* = -*τ*(*k*_{1} + *k*_{2}), then (see details in Additional File 1)

where

We call this the relative variance at the stationary state associated to *R*.

Let us consider some particular cases of this result:

**Poisson** *τ***-leap** For this method *R*(*z*) = 1 + *z* and $\psi (z)=\frac{1}{1+\frac{1}{2}z}$. Thus, the equilibrium variance doubles at *z* = -1, it rises fourfold at *z* = -1.5 and is unbounded at *z* = -2.

**Two stage methods with** *α*_{21} ≠ 0 For the family of explicit two-stage methods with *α*_{21} ≠ 0

the stability function is *R*(*z*) = 1 + *z* + *γz*^{2}, where *γ* = *β*_{2}*α*_{21} and the variance behaviour is determined by

In this case we have one free parameter of the method, *γ*, which allows us to control both the stability function *R* and the relative variance at steady state. We might be interested in setting *γ* to a value that both allows large time-steps to be used (by maximising the region (-*l*, 0] for which *z* fulfils |*R*(*z*)| < 1) and keeps the relative variance, *ψ*(*z*) close to one. In the case *γ* ≤ $\frac{1}{8}$, *ψ* grows as *z* becomes more negative. More interesting is the case *γ* > $\frac{1}{8}$, where the maximum and minimum of *ψ* occur for $1+\gamma z=\pm \sqrt{2\gamma}$, respectively and in this case

Constraining *ψ* to be around 1 with a certain fixed tolerance ϵ, |*ψ*(*z*) -1| < ϵ, for a range *z* ∈ (-*l*, 0] to be maximised is achieved with

and with a *stability region* (-*l*, 0] with

For instance, for 0.5 < *ψ*(*z*) < 1.5, setting *γ* = 0.20096 gives a maximum stability region of (-3.68026, 0] and thus the method

This is the methodology we propose in the following section for the derivation of particular Runge-Kutta methods with *s* steps. Note that if we required the same limitation on the variance with the standard Poisson *τ*-leap method we could only take $z\in (-\frac{2}{3},0]$. Thus with the two stage method we can take a stepsize almost six times as large.

**Implicit midpoint rule** For the implicit midpoint rule

This was first shown by Cao *et al*. [38]. In fact only those Runge-Kutta methods that have a stability function given by (25) can preserve the variance exactly for linear problems. These methods include the implicit midpoint and trapezoidal rules and have to be implicit.

#### Methods with bounded variance and extended stability domain

For the general case of *s* stages we require *ψ*(*z*) to be as close to 1 as possible for as large a range of *z* as possible, this is, for as large a range of *z* fulfilling the stability condition |*R*(*z*)| < 1). We proceed by first showing that if we consider a bound on the relative variance, *ψ*, around one, we automatically fulfil the stability conditions for a certain range. In this sense, let ϵ ≥ 0 (and ϵ < 1), we impose the constraint

and optimise the value of *l*_{s, ϵ}such that the range for which this holds is (-*l*_{s, ϵ}, 0].

Noticing from (24) that

inequality (26) can be restated in terms of *R*(*z*)

with *z* ∈ (-*l*_{s ϵ}, 0]. Hence, we can translate constraints in the relative variance into constraints in the stability function. Since we are interested in constructing explicit methods we can ask how we can make *ψ*(*z*) close to 1 in an explicit framework for which we already know the stability function is a polynomial of at most degree s (equation (6))

Thus, similar to the case *s* = 2 in which we had one free parameter, *γ*, to optimise, if we assume *r*_{1} = **b**^{T}**e** = 1 then we have *s* - 1 parameters, *r*_{2},...,*r*_{
s
}, we can optimise. In this case, though, the search of the optimal set of parameters has to be performed with numerical optimisation methods rather than analytically. The problem of finding optimal sets of parameters can be stated as a nonlinear program, NLP, and thus its solution approximated numerically (see details in Additional file 1).

Figure 1 shows the stability function and relative variance function for the Poisson *τ*-leap, and optimal methods for *s* = 3 and *s* = 5 under the constraints |*ψ*(*z*)-1| < 0.1, 0.25 and 0.5 and Table 1 summarises the numerical values for these conditions.

#### Efficient methods with bounded variance and extended stability

Runge-Kutta methods with a given stability polynomial *R*(*z*) are not unique. This is because the stability polynomial only reflects the application of a Runge-Kutta method to a linear problem. Nonlinear problems require many additional order conditions to be satisfied in order for a method to have a certain order of accuracy. Thus many different methods can have the same stability polynomial. Furthermore, we have already seen that the relative variance *ψ* does not directly depend on **A** but on *R*(*z*) thus making all methods with the same stability function behave identically in terms of stationary variance for linear problems. In order to distinguish between methods with the same stability function we would have to consider more complicated nonlinear chemistry and this is beyond the scope of this work. However, we have an explicit way of constructing an efficient method that has a given stability polynomial (i.e. to find values for **b** and **A** of the Butcher tableau, see details in Additional file 1). Furthermore, the tableaus build in this way are such that *β*_{
s
}= 1, *β*_{j} = 0, *j* = 0,...,*s* - 1 and **A** has all its elements set to zero except those on the first subdiagonal. These Runge-Kutta schemes obtained in this way are very natural, can be regarded as fixed point iterations and allow the following efficient reformulation of (17)

It is thus clear that these methods are computationally more efficient than the general case as they only require *s*-1 evaluations of the expected step-change **f**(·) instead of the *s*(*s* - 1)/2 required in the general framework (17). A collection of methods have been implemented in a branch of the ByoDyn package, v.5.0 [39].

### Numerical results

#### Reversible isomerisation

We compare the new Runge-Kutta framework to the Poisson *τ*-leap to solve three systems of chemical reactions. The first is the reversible isomerisation test problem in (21) for which we have already developed theoretical results. Numerical simulation of the number of molecules for each of the two components in the system was carried out using the different methods discussed in the previous section with *k*_{1} = *k*_{2} = 10 (z = -20*τ*) and **X**(0) = (100, 100)^{T}. We sampled 10^{6} trajectories for each of the methods and for different fixed *τ* values. Figure 2 shows a comparison between the true probability density function (PDF) and the histograms of *X*_{1} obtained from the different methods and some of the values of *τ*. Note that the Poisson *τ*-leap method becomes unstable for *τ* > 0.1 and so does RK *τ*-leap with three stages for *τ* > 0.4. Figure 1 shows that the stationary variances obtained by the simulations are in exact accordance with the theoretical values derived in the previous section.

#### Schlögl reaction

We also consider Schlögl's autocatalytic reaction system [34, 40] to illustrate the accuracy of the presented framework, developed for the linear case, for nonlinear systems. We use here the same set of parameters as Cao et al. [38] for which this system presents a bimodal PDF for the species *X* in the stationary state. We have also considered that the non-autocatalytic species are buffered (assuming they are constant) hence reducing the system to a scalar problem (see Table 2). We have again performed 10^{6} simulations for each method and *τ* value. Figure 3 shows histograms computed by the SSA, Poisson *τ*-leap and the methods with *s* = 3, 5. Visual inspection of the plots shows a consistent improvement over the original *τ*-leap method by means of the multistage RK methods developed here. **A** more precise comparison of the plots is given in Figure 4, which shows the estimated Kullback-Leibler divergences between the exact PDF (*P*_{E}) and the PDFs of each of these methods (*P*_{M}), given by:

#### The MAPK cascade

Finally, we have tested the performance of our methods on a larger system of chemical reactions with stiffness due to different reaction time scales and species amounts ranging over several orders of magnitude. For this purpose we considered the Huang and Ferrell model for the mitogen-activated protein kinase (MAPK) cascade [41]. This model is available from the BioModels database [42] and consists of 22 species interacting through 30 reaction channels. The set of parameters used here (see Additional file 1 for details) renders the model stiff and with species amounts ranging from none up to 3·10^{5} molecules. With the chosen initial conditions the system undergoes a transient change and finally settles down into a stationary state at around *t* = 150 minutes. We have simulated the model using SSA (Gillespie's Direct Method), the Poisson *τ*-leap and the RK methods presented here. To produce fair comparisons, all methods have been rewritten in ANSI C using the Mersenne twister [43] pseudorandom number generator from the GNU Scientific Library. The GNU C Compiler was used to compile the sources with the -O2 optimisation flag. The algorithms were run on an Intel(R) Core(TM)2 Duo Processor E8500 at 3.16 GHz and 6 MB cache. We have run the system to a final time T = 200. Simulations run with SSA took 61, 841 ± 74 seconds.

We have compared the methods in two distinct situations. First we have run them with the same time step *τ* = 5·10^{-5}. In this case, the Poisson *τ*-leap method took 51.7 ± 0.4 seconds while Optimal RK *τ*-leap methods with *s* = 3 and *s* = 5 took 86.1 ± 0.4 seconds and 113.9 ± 0.3 seconds respectively. Hence, at the same time step the RK methods are approximately 66% and 120% slower than the Poisson *τ*-leap due to the multiple evaluations of the propensity functions per step. However, there is an important difference in the results. The relative variance at the steady state is 1.3 (see Additional file 1) for the Poisson *τ*-leap while for both RK *τ*-leap methods with *s* = 3 and *s* = 5 (ϵ = 0.1) it is less than 1.04.

Then we have compared these methods when run at their respective maximum time steps such that the relative variance at the stationary state is bounded to 1.1 (estimated from the simulations). The maximum time steps allowed with this constraint were: *τ* = 2·10^{-5} for the Poisson *τ*-leap, *τ* = 3.5·10^{-4} for the RK *τ*-leap (3, 0.1) and *τ* = 9.5·10^{-4} for the Optimal RK *τ*-leap (5, 0.1). With this setting, the runtimes obtained were: 111.9 ± 0.7 seconds for the Poisson *τ*-leap, 15.7 ± 0.06 seconds for the RK *τ*-leap (3, 0.1) and 7.8 ± 0.02 seconds for the Optimal RK *τ*-leap (5, 0.1). Thus, in this case the Poisson *τ*-leap approximately 7.1 and 14.3 times slower than the RK methods, respectively.

## Discussion

Biochemical kinetics typically deals with multiscale problems, in which several scales of time, space and concentrations, simultaneously affect the dynamical behaviour of the system. Thus, the systems biology community is deeply interested in the development of methods that lead to a multiscale view of biochemical systems. As a first step in this workflow, we have presented here a new set of methods that considerably expands the classical *τ*-leap implementation, from a stability perspective. The importance of the results shown here embraces not only the increase in computational speed for stochastic simulations, a key element for the understanding of the intrinsically noisy biological systems, but more importantly, a way to deal with fast reactions in multiscale settings. The methods developed here have been demonstrated for a first example of stiff system, the classical Schlögl autocatalytic reaction, and can be straightforwardly incorporated into hybrid SSASDE-ODE frameworks.

We see from Table 1 that if we require a bound on the equilibrium variance of 0.1 then the Poisson *τ*-leap method must take $\left|\underset{\cdot}{z}\right|\le \frac{2}{11}$ while for the RK methods the bounds on |*z*| are approximately 4 and 10, respectively with *s* = 3, 5. This is a very considerable improvement and all the more striking given that the same number of Poisson random variables are simulated per step in all cases.

Initially we had hoped that an approach via Chebyshev methods using ideas from ODEs and SDEs applied to the discrete cases would have been fruitful. It turns out that while such methods have good mean behaviour, the variance behaviour is poor. This is because the variance growth function satisfies (24) and an s-stage Chebyshev method would have *s* - 1 poles and zeros due to the oscillations in the stability function. Similar issues arise even in the damped forms of the Chebyshev formulation. This means that our optimisation approach is the only way of getting good bounds on *ψ*(*z*).

Our results on the nonlinear bimodal Schlögl problem show that the RK methods still behave appropriately even on nonlinear problems. For example, from Figure 3 we see that the Poisson *τ*-leap method is not very accurate with *τ* = 0.4 and quite poor in picking up the second peak with *τ* = 0.8. On the other hand the RK methods match the peak quite well, albeit with a slight shift in that peak. Furthermore, numerical results from the MAPK cascade simulations show that our methods can run an order of magnitude faster than the Poisson *τ*-leap and still give the same accuracy in the results.

Finally, we note that we could extend our RK methods to allow more than one set of Poisson random variables to be simulated per step. We imagine that this would allow even bigger stepsizes but at the cost of taking more simulation time in that the additional Poisson sampling is expensive. We emphasise that although our analysis of these new methods has been given for unimolecular reactions, the simulations of the nonlinear Schlögl reaction and the MAPK cascade indicate that these methods have a more general applicability and we will consider nonlinear analysis via Taylor series expansions in future work.

## References

- 1.
Turner TE, Schnell S, Burrage K: Stochastic approaches for modelling in vivo reactions. Computational Biology and Chemistry. 2004, 28 (3): 165-178., http://www.sciencedirect.com/science/article/B73G2-4CS4GV4-1/2/f17f5571a06a80aaaaa53238eed83faf 10.1016/j.compbiolchem.2004.05.001

- 2.
Klipp E, Herwig R, Kowald A, Wierling C, Lehrach H: Systems biology in practice. 2005, full_text. Wiley-VCH Weinheim

- 3.
Wilkinson D: Stochastic Modelling for Systems Biology. 2006, CRC Press

- 4.
Villà J, Warshel A: Energetics and Dynamics of Enzymatic Reactions. J Phys Chem B. 2001, 105: 7887-907. 10.1021/jp011048h.

- 5.
McAdams H, Arkin A: Stochastic mechanisms in gene expression. Proceedings of the National Academy of Sciences. 1997, 94 (3): 814-819. 10.1073/pnas.94.3.814.

- 6.
Hasty J, Pradines J, Dolnik M, Collins J: Noise-based switches and amplifiers for gene expression. Proceedings of the National Academy of Sciences. 2000, 97 (5): 2075-2080. 10.1073/pnas.040411297.

- 7.
Thattai M, van Oudenaarden A: Intrinsic noise in gene regulatory networks. Proceedings of the National Academy of Sciences. 2001, 151588598-

- 8.
Ozbudak E, Thattai M, Kurtser I, Grossman A, van Oudenaarden A: Regulation of noise in the expression of a single gene. Nature Genetics. 2002, 31: 69-73. 10.1038/ng869

- 9.
Isaacs F, Hasty J, Cantor C, Collins J: Prediction and measurement of an autoregulatory genetic module. Proceedings of the National Academy of Sciences. 2003, 100 (13): 7714-7719. 10.1073/pnas.1332628100.

- 10.
Thattai M, van Oudenaarden A: Stochastic Gene Expression in Fluctuating Environments. Genetics. 2004, 167: 523-530., http://www.genetics.org/cgi/content/abstract/167/1/523 10.1534/genetics.167.1.523

- 11.
Tian T, Burrage K: Bistability and switching in the lysis/lysogeny genetic regulatory network of bacteriophage [lambda]. Journal of Theoretical Biology. 2004, 227 (2): 229-237., http://www.sciencedirect.com/science/article/B6WMD-4B76G7M-1/2/64146757d7c19ee4acd0247e0d997cb5 10.1016/j.jtbi.2003.11.003

- 12.
Bratsun D, Volfson D, Tsimring LS, Hasty J: Delay-induced stochastic oscillations in gene regulation. Proceedings of the National Academy of Sciences of the United States of America. 2005, 102 (41): 14593-14598., http://www.pnas.org/content/102/41/14593.abstract 10.1073/pnas.0503858102

- 13.
Kaern M, Elston T, Blake W, Collins J, et al.: Stochasticity in gene expression: from theories to phenotypes. Nat Rev Genet. 2005, 6 (6): 451-464. 10.1038/nrg1615

- 14.
Komili S, Silver P: Coupling and coordination in gene expression processes: a systems biology view. Nature Reviews Genetics. 2008, 9: 38- 10.1038/nrg2223

- 15.
Halley J, Winkler D, Burden F: Toward a Rosetta stone for the stem cell genome: Stochastic gene expression, network architecture, and external influences. Stem Cell Research. 2008, 1 (3): 157-168. 10.1016/j.scr.2008.03.001

- 16.
Kurtz TG: The Relationship between Stochastic and Deterministic Models for Chemical Reactions. The Journal of Chemical Physics. 1972, 57 (7): 2976-2978. 10.1063/1.1678692., http://link.aip.org/link/?JCP/57/2976/1 10.1063/1.1678692

- 17.
Gillespie DT: Exact stochastic simulation of coupled chemical reactions. The Journal of Physical Chemistry. 1977, 81 (25): 2340-2361. 10.1021/j100540a008., http://pubs.acs.org/doi/abs/10.1021/j100540a008 10.1021/j100540a008

- 18.
Gillespie DT: Stochastic simulation of chemical kinetics. Annual review of physical chemistry. 2007, 58: 35-55. [10.1146/annurev. physchem.58.032806.104637], http://www.ncbi.nlm.nih.gov/pubmed/17037977 10.1146/annurev.physchem.58.032806.104637

- 19.
Gibson MA, Bruck J: Efficient Exact Stochastic Simulation of Chemical Systems with Many Species and Many Channels. The Journal of Physical Chemistry A. 2000, 104 (9): 1876-1889. 10.1021/jp993732q., http://pubs.acs.org/doi/abs/10.1021/jp993732q 10.1021/jp993732q

- 20.
Gillespie DT: Approximate accelerated stochastic simulation of chemically reacting systems. The Journal of Chemical Physics. 2001, 115 (4): 1716-1733. 10.1063/1.1378322., http://link.aip.org/link/?JCP/115/1716/1 10.1063/1.1378322

- 21.
Cao Y, Gillespie DT, Petzold LR: Efficient step size selection for the tau-leaping simulation method. The Journal of Chemical Physics. 2006, 124 (4):1716-1733http://scitation.aip.org/getabs/servlet/GetabsServlet?prog=normaln\&id=JCPSA6000124000004044109000001\&idtype=cvips\&gifs=yes

- 22.
Tian T, Burrage K: Binomial leap methods for simulating stochastic chemical kinetics. The Journal of Chemical Physics. 2004, 121 (21): 10356-10364. 10.1063/1.1810475

- 23.
Chatterjee A, Vlachos DG, Katsoulakis MA: Binomial distribution based tau-leap accelerated stochastic simulation. The Journal of Chemical Physics. 2005, 122 (2): 024112-, http://link.aip.org/link/?JCP/122/024112/1 10.1063/1.1833357

- 24.
Auger A, Chatelain P, Koumoutsakos P: R-leaping: Accelerating the stochastic simulation algorithm by reaction leaps. The Journal of Chemical Physics. 2006, 125 (8): 084103-, http://link.aip.org/link/?JCP/125/084103/1 10.1063/1.2218339

- 25.
Monk NA: Oscillatory expression of Hes1, p53, and NF-kappaB driven by transcriptional time delays. Curr Biol. 2003, 13 (16): 1409-1413., http://view.ncbi.nlm.nih.gov/pubmed/12932324 10.1016/S0960-9822(03)00494-9

- 26.
Yildirim N, Mackey MC: Feedback Regulation in the Lactose Operon: A Mathematical Modeling Study and Comparison with Experimental Data. Biophys J. 2003, 84 (5): 2841-2851., http://www.biophysj.org/cgi/content/abstract/84/5/2841 10.1016/S0006-3495(03)70013-7

- 27.
Barrio M, Burrage K, Leier A, Tian T: Oscillatory Regulation of Hes1: Discrete Stochastic Delay Modelling and Simulation. PLoS Comput Biol. 2006, 2 (9): e117- 10.1371/journal.pcbi.0020117

- 28.
Leier A, Marquez-Lago TT, Burrage K: Generalized binomial tau-leap method for biochemical kinetics incorporating both delay and intrinsic noise. The Journal of Chemical Physics. 2008, 128 (20): 205107-, http://link.aip.org/link/?JCP/128/205107/1 10.1063/1.2919124

- 29.
Anderson DF: A modified next reaction method for simulating chemical systems with time dependent propensities and delays. The Journal of Chemical Physics. 2007, 127 (21): 214107-, http://link.aip.org/link/?JCP/127/214107/1 10.1063/1.2799998

- 30.
Hairer E, Norsett SP, Wanner G: Solving Ordinary, Differential Equations II. Stiff and Differential-Algebraic Problems. 2002, 2: [Index], Springer-Verlag, Second Revised Editio edition

- 31.
Abdulle A, Medovikov A: Second order Chebyshev methods based on orthogonal polynomials. Numerische Mathematik. 2001, 90: 1-18. 10.1007/s002110100292.

- 32.
Abdulle A, Cirilli S: S-ROCK: Chebyshev Methods for Stiff Stochastic Differential Equations. SIAM J Sci Comput. 2008, 997-1014. 10.1137/070679375., http://portal.acm.org/citation.cfm?id=1350482&jmp=cit&coll=GUIDE&dl=

- 33.
Hernandez D, Spigler R: Convergence and stability of implicit runge-kutta methods for systems with multiplicative noise. BIT Numerical Mathematics. 1993, 33 (4): 654-669. 10.1007/BF01990541.

- 34.
Schlögl F: Chemical reaction models for non-equilibrium phase transitions. Zeitschrift für Physik A Hadrons and Nuclei. 1972, 253 (2): 147-161.

- 35.
Øksendal B: Stochastic Differential Equations: An Introduction with Applications (Universitext). 2005, Springer, http://www.amazon.ca/exec/obidos/redirect?tag=citeulike09-20\&path=ASIN/3540047581

- 36.
Burrage K, Burrage PM: High strong order explicit Runge-Kutta methods for stochastic ordinary differential equations. Applied Numer Maths. 1996, 22: 81-101. 10.1016/S0168-9274(96)00027-X.

- 37.
Li T: Analysis of Explicit Tau-Leaping Schemes for Simulating Chemically Reacting Systems. Multiscale Modeling and Simulation. 2007, 6 (2): 417-436. 10.1137/06066792X., http://link.aip.org/link/?MMS/6/417/1 10.1137/06066792X

- 38.
Cao Y, Petzold LR, Rathinam M, Gillespie DT: The numerical stability of leaping methods for stochastic simulation of chemically reacting systems. J Chem Phys. 2004, 121 (24): 12169-12178. 10.1063/1.1823412

- 39.
de Lomana ALG, Gómez-Garrido A, Sportouch D, Villà-Freixa J: Optimal Experimental Design in the Modelling of Pattern Formation. LNCS. 2008, 5101: 610-619., http://www.springerlink.com/content/kk7774170666m254/

- 40.
van Kampen NG: Stochastic Processes in Physics and Chemistry. 2007, Elsevier

- 41.
Huang CY, Ferrell JE: Ultrasensitivity in the mitogen-activated protein kinase cascade. Proceedings of the National Academy of Sciences of the United States of America. 1996, 93 (19): 10078-10083., http://www.pnas.org/content/93/19/10078.abstract 10.1073/pnas.93.19.10078

- 42.
Novère NL, Bornstein BJ, Broicher A, Courtot M, Donizelli M, Dharuri H, Li L, Sauro HM, Schilstra MJ, Shapiro BE, Snoep JL, Hucka M: BioModels Database: a free, centralized database of curated, published, quantitative kinetic models of biochemical and cellular systems. Nucleic Acids Research. 2006, 689-691. 10.1093/nar/gkj092. 34 Database

- 43.
Matsumoto M, Nishimura T: Mersenne Twister: A 623-dimensionally equidistributed uniform pseudorandom number generator. ACM Transactions on Modeling and Computer Simulation. 1998, 8: 3-3. 10.1145/272991.272995.

## Acknowledgements

PR would like to thank Marta Dies for helpful discussions. PR acknowledges Obra Social "*la Caixa*" for funding through the Graduate Fellowship program. Support from Spanish MCINN grant CTQ2008-00755/BQU and from EC-funded projects BioBridge (FP6-2005-LIFESCIHEALTH-7 037909), QosCosGrid (FP6-2005-IST-5 033883) and VPH (FP7-2007-IST-223920) is highly appreciated. JVF participates in the COM-BIOMED network.

## Author information

## Additional information

### Authors' contributions

KB, PR and JVF designed the research. KB and PR developed the algorithms and PR implemented them and performed and analysed the simulations. KB, PR and JVF wrote the manuscript. All authors have read and approved the final version of the manuscript.

## Electronic supplementary material

## Authors’ original submitted files for images

Below are the links to the authors’ original submitted files for images.

## Rights and permissions

## About this article

#### Received

#### Accepted

#### Published

#### DOI

### Keywords

- Stability Function
- Weak Order
- Stochastic Simulation Algorithm
- Chemical Master Equation
- Large Step Size