The Gillespie algorithm samples statistically exact trajectories of a well-mixed chemical reaction network modeled by a continuous-time Markov chain. At copy-number state , each reaction propensity function is a nonnegative event rate and each stoichiometric vector specifies the update. Assume the rates have no explicit time dependence. Put . If , no further chemical reaction can occur: the state is an absorbing state.
For , sample a waiting time from the exponential distribution with rate , independently choose channel with probability , and update . Recompute the reaction propensity functions and repeat. The no-event probability is because ; multiplying by gives the joint waiting-time/channel probability density function . This factorization explains the two draws.[ref]
Approximate accelerated stochastic simulation of chemically reacting systems by Daniel T. Gillespie. Section II, equations (5)–(9), review of the exact stochastic simulation algorithm
For with reaction propensity function , the waiting time has mean , and is an absorbing state. Exactness concerns the specified chemical master equation; spatial mixing errors and explicitly time-varying rates require a different model or sampling rule.
The Gillespie algorithm, also known as the Gillespie stochastic simulation algorithm (SSA), is a numerical method used to simulate the time evolution of systems with probabilistic events, particularly in the context of biochemical reactions. It was developed by Daniel T. Gillespie in 1976 to address the need for modeling the dynamics of chemical systems where the number of molecules is relatively small, and where stochastic effects become significant.
New to topics? Read the docs here!