Efficient simulation of stochastic chemical kinetics with the Stochastic Bulirsch-Stoer extrapolation method
1 Department of Computer Science, University of Oxford, Oxford, OX1 3QD, UK
2 Department of Mathematics, Queensland University of Technology, Brisbane, Qld 4001, Australia
3 Mathematical Sciences, University of Southampton, Southampton, SO17 1BJ, UK
4 Departamento de Informática, Universidad de Valladolid, 47011 Valladolid, Spain
BMC Systems Biology 2014, 8:71 doi:10.1186/1752-0509-8-71Published: 18 June 2014
Biochemical systems with relatively low numbers of components must be simulated stochastically in order to capture their inherent noise. Although there has recently been considerable work on discrete stochastic solvers, there is still a need for numerical methods that are both fast and accurate. The Bulirsch-Stoer method is an established method for solving ordinary differential equations that possesses both of these qualities.
In this paper, we present the Stochastic Bulirsch-Stoer method, a new numerical method for simulating discrete chemical reaction systems, inspired by its deterministic counterpart. It is able to achieve an excellent efficiency due to the fact that it is based on an approach with high deterministic order, allowing for larger stepsizes and leading to fast simulations. We compare it to the Euler τ-leap, as well as two more recent τ-leap methods, on a number of example problems, and find that as well as being very accurate, our method is the most robust, in terms of efficiency, of all the methods considered in this paper. The problems it is most suited for are those with increased populations that would be too slow to simulate using Gillespie’s stochastic simulation algorithm. For such problems, it is likely to achieve higher weak order in the moments.
The Stochastic Bulirsch-Stoer method is a novel stochastic solver that can be used for fast and accurate simulations. Crucially, compared to other similar methods, it better retains its high accuracy when the timesteps are increased. Thus the Stochastic Bulirsch-Stoer method is both computationally efficient and robust. These are key properties for any stochastic numerical method, as they must typically run many thousands of simulations.