Green's Function Reaction Dynamics
C++ Python Shell Perl
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
doc
newGF_tools
object_matrix
paraview
samples
test
.gitignore
AUTHORS
BasicPairGreensFunction.cpp
BasicPairGreensFunction.hpp
COPYING
ChangeLog
DEVELOPMENT
Defs.hpp
DynamicPriorityQueue.cpp
DynamicPriorityQueue.hpp
EventScheduler.hpp
FirstPassageGreensFunction.cpp
FirstPassageGreensFunction.hpp
FirstPassageGreensFunction1D.cpp
FirstPassageGreensFunction1D.hpp
FirstPassageGreensFunction1DRad.cpp
FirstPassageGreensFunction1DRad.hpp
FirstPassageGreensFunction2D.cpp
FirstPassageGreensFunction2D.hpp
FirstPassageNoCollisionPairGreensFunction.cpp
FirstPassageNoCollisionPairGreensFunction.hpp
FirstPassagePairGreensFunction.cpp
FirstPassagePairGreensFunction.hpp
FirstPassagePairGreensFunction2D.cpp
FirstPassagePairGreensFunction2D.hpp
FreeGreensFunction.cpp
FreeGreensFunction.hpp
FreePairGreensFunction.cpp
FreePairGreensFunction.hpp
GreensFunction.hpp
INSTALL
Makefile.am
Makefile.in
NEWS
PairGreensFunction.hpp
PyEventScheduler.hpp
README
SphericalBesselGenerator.cpp
SphericalBesselGenerator.hpp
acinclude.m4
aclocal.m4
autogen.sh
bd.py
cObjectMatrix.py
config.guess
config.h.in
config.sub
configure
configure.ac
constants.py
depcomp
distance.hpp
domain.py
dts-hist.pl
egfrd.py
factorial.hpp
findRoot.cpp
findRoot.hpp
freeFunctions.cpp
freeFunctions.hpp
funcSum.cpp
funcSum.hpp
gfrdbase.py
install-sh
log.py
logger.py
ltmain.sh
make_sjy_table.py
missing
multi.py
pair.py
py-compile
pyGFRD.cpp
reaction_types.py
shape.py
single.py
surface.py
utils.py
vtk_xml_serial_unstructured.py
vtklogger.py
wrapped_multi_array.hpp

README

GFRD Simulator
==============

E-Cell Particle Dynamics Prototype by Koichi Takahashi and Moriyoshi Koizumi.
Adapted by Thomas Miedema, Laurens Bossen and Thomas Sokolowski.

Copyright (C) 2005-2008 The E-Cell Project

Copyright (C) 2009 FOM Institute AMOLF, The Netherlands.



About this package
------------------------

This package is started of from version 0.3 of the E-Cell Particle Dynamics
Prototype (epdp):
http://www.e-cell.org/ecell/software/releases/epdp-0.3/epdp-0.3.tar.gz

Just as that package it implements the enhanced Greens Function Reaction
Dynamics (eGFRD), and brute-force Brownian Dynamics (BD) simulation
algorithms. Additionaly it support reaction-diffusion on and with 1D
and 2D surfaces.

The code is implemented with the hope that it will eventually be
included into the epdp package, and also function as a standalone GFRD
implementation.

The eGFRD algorithm is used and described in the following paper:
K. Takahashi, S. Tanase-Nicola, P.R. ten Wolde, 2009 (in preparation).


Building this package
------------------------

See INSTALL.


History of the Code
------------------------

Koichi Takahashi initially stated development of the code in 2005 to
implement his prototype of Greens Function Reaction Dynamics
simulation method invented by Jeroen van Zon and Pieter Rein ten Wolde
in AMOLF, Amsterdam[1,2].  He gave a brief invited talk about
performance evaluation and applicability of the method to yeast
pheromon response pathway (the Alpha pathway) using the prototype in
Third Annual Alpha Project Research Symposium (June 16-27, 2005, at UC
Berkeley Art Museum).

Later, in December 2006, ten Wolde, Sorin Tanase-Nicola, and Takahashi
decided to introduce the concept called first-passage processes
inspired by a paper by Opplestrup et al.[3] to Greens Function
Reaction Dynamics to further boost the performance and accuracy of the
method.  The new method was called eGFRD (enhanced Greens Function
Reaction Dynamics).  Takahashi implemented the single-body Greens
function within the year.  Tanase-Nicola derived the two-body Greens
function, and Takahashi devised and implemented a neat yet complicated
way to efficiently evaluate the function mostly in the first half of
2007.  Takahashi also implemented the main part of the code,
asynchronous discrete-event-driven kinetic monte-carlo, which has been
mostly finished within 2007, and the dynamic switching between Greens
function and brute-force Brownian Dynamics as a means to recover from
particle squeezing conditions by April 2008.  At this point,
development and debugging of the initial version (version 0.1) of the
code had been largely finished and had been used in simulation experiments
in study of various biochemical systems including dual-phosphorylation
pathways[4].

Thomas Miedema and Laurens Bossen, while masters students in the group of
Pieter Rein ten Wolde at AMOLF, added support for reaction-diffusion on
and with 1D and 2D surfaces. Laurens implemented the 1D and 2D Green's
functions in C++, Thomas implemented the algorithm in Python.

In 2009 Thomas Sokolowski and Nils Becker joined the project. Thomas S.
will extend the scheme to be able to simulate active transport processes
via molecular motors. This requires the calculation of new Green's
functions starting from the diffusion-drift equation. Nils B. recently
started working on the interplay of DNA sliding and 3D diffusion.

List of features planned to be added:

- interactions between membrane proteins and proteins in solution
- diffusion-drift movement on one-dimensional structures to simulate
  active transport
- interaction of particles with arbitrary 2-dimensional manifolds

References:

- [1] Green's-function reaction dynamics: a particle-based approach for
    simulating biochemical networks in time and space; 
    van Zon and ten Wolde, J. Chem. Phys. 123 (2005).
- [2] Simulating biochemical networks at the particle level and in
    time and space: Green's function reaction dynamics; 
    van Zon and ten Wolde, Phys. Rev. Lett. 94 (2005).
- [3] First-Passage Monte Carlo Algorithm: Diffusion without All the Hops,
    Opplestrup et al., Phys. Rev. Lett. 97 (2006).
- [4] Spatio-temporal correlations can drastically change the response of a
    MAPK pathway; Takahashi, Tanase-Nicola, ten Wolde, arXiv:0907.0514v1 (2009)