Green’s Function Reaction Dynamics

In many networks of interacting components, the spatial distribution of the components and the stochastic character of their interactions are of critical importance for the macroscopic behavior of the system. Examples are to be found in biological evolution and population dynamics, but arguably the most studied and best characterized examples are biochemical networks. The concentrations of the components of these networks (proteins, DNA) are typically low, i.e. in the nanomolar to micromolar range, and experiments in recent years have indeed vividly demonstrated that these systems are often highly stochastic. This means that biochemical networks have to be simulated at the particle level in time and space.

Green’s Function Reaction Dynamics (GFRD) is an algorithm that makes it possible to simulate reaction-diffusion systems at the particle level [1,2,3]. The crux of GFRD is to decompose the many-body reaction-diffusion problem into one- and two-body problems that can be solved analytically using Green’s functions, and use these Green’s functions to set up an event-driven algorithm (see Fig.1). In collaboration with the group of Takahashi, (Riken, Japan) we have turned GFRD into an exact, asynchronous event-driven algorithm [3] by implementing ideas of Opplestrup and coworkers [4]. See the movie of GFRD in action on the right.

The Green’s functions make it possible to make large jumps in time and space when the particles are far apart from each other. In living cells this is often the case since the concentrations are typically low, and under biologically relevant conditions GFRD can be up to 6 orders of magnitude faster than conventional techniques based on brute-force Brownian Dynamics.

The GFRD algorithm is generic and can be applied to a wide variety of reaction-diffusion problems, including those in population dynamics, evolution, and soft-condensed matter physics. The scheme presented here has been specifically designed to simulate biochemical networks. The current version allows the efficient simulation of signal transduction pathways and gene regulation networks in the cytoplasm, but work is in progress to implement reactions at surfaces such as membranes, and reactions at, and passive and active transport along, polymers such as microtubules and DNA.

For more information, and to download the code and manual, please visit


  1. J. S. van Zon and P. R. ten Wolde , Simulating biochemical networks at the particle level and in time and space: Green’s function reaction dynamics Physical Review Letters 94, 128103: 1-4 (2005)
  2. J. S. van Zon and P. R. ten Wolde , Green’s-function reaction dynamics: a particle-based approach for simulating biochemical networks in time and space Journal of Chemical Physics 123, 234910: 1–16 (2005)
  3. K. Takahashi , S. Tanase-Nicola and P. R. ten Wolde , Spatio-temporal correlations can drastically change the response of a MAPK pathway PNAS 107, 6: 2473-2478 (2010)
  4. T. Opplestrup, V.V. Bulato, G.H. Gilmer, M.H. Kalos, B. Sadigh (2006) First-passage Monte Carlo algorithm: diffusion without all the hops Phys Rev Lett 97, 230602: 1-4 (2006)

A movie of eGFRD in action in 3D
The green spheres are protective domains for single particles, the yellow sphere seen towards the end of the movie is a protective domain for a pair of articles.  The protective domain that will be updated next is highlighted with the color blue.

biochemical networks ten wolde GFRD

Fig.1 Overview of GFRD
The principal idea of GFRD is to decompose the many-body reaction-diffusion problem into one- and two-body problems that can be solved analytically using Green’s Functions. To this end, protective domains are put around single particles and pairs of particles. For each domain, a next event type and a next event time is determined. The event times are put in a chronologically ordered event list, and the events are then executed in chronological order. When an event is executed, the particles of the corresponding domain are propagated, new domains with new events are determined, and the events are put back in the event list.