enhanced Green's Function Reaction Dynamics
C++ Python M4 Makefile Haskell Shell
Switch branches/tags
Nothing to show
Pull request Compare This branch is 1730 commits ahead, 37 commits behind ecell:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
binding
doc
gui
m4
misc
peer
samples
test
unittests
utils
visualization
.gitignore
.hgignore
AUTHORS
AnalyticalPair.hpp
AnalyticalSingle.hpp
BDPropagator.hpp
BDSimulator.hpp
BasicNetworkRulesImpl.cpp
BasicNetworkRulesImpl.hpp
BasicReactionRecorderImpl.hpp
Box.hpp
COPYING
ChangeLog
ConnectivityContainer.hpp
ConsoleAppender.cpp
ConsoleAppender.hpp
CuboidalRegion.hpp
Cylinder.hpp
CylindricalBesselGenerator.cpp
CylindricalBesselGenerator.hpp
CylindricalSurface.hpp
Defs.hpp
Disk.hpp
DiskSurface.hpp
Domain.hpp
DomainFactory.hpp
DomainID.hpp
DomainUtils.hpp
DynamicPriorityQueue.hpp
EGFRDSimulator.hpp
EGFRDSimulatorFactory.hpp
EventScheduler.hpp
GSLRandomNumberGenerator.hpp
GreensFunction.hpp
GreensFunction1DAbsAbs.cpp
GreensFunction1DAbsAbs.hpp
GreensFunction1DAbsSinkAbs.cpp
GreensFunction1DAbsSinkAbs.hpp
GreensFunction1DRadAbs.cpp
GreensFunction1DRadAbs.hpp
GreensFunction2DAbsSym.cpp
GreensFunction2DAbsSym.hpp
GreensFunction2DRadAbs.cpp
GreensFunction2DRadAbs.hpp
GreensFunction3D.cpp
GreensFunction3D.hpp
GreensFunction3DAbs.cpp
GreensFunction3DAbs.hpp
GreensFunction3DAbsSym.cpp
GreensFunction3DAbsSym.hpp
GreensFunction3DRadAbs.cpp
GreensFunction3DRadAbs.hpp
GreensFunction3DRadAbsBase.cpp
GreensFunction3DRadAbsBase.hpp
GreensFunction3DRadInf.cpp
GreensFunction3DRadInf.hpp
GreensFunction3DSym.cpp
GreensFunction3DSym.hpp
HalfOrderBesselGenerator.hpp
INSTALL
Identifier.hpp
Logger.cpp
Logger.hpp
Makefile.am
MatrixSpace.hpp
Model.cpp
Model.hpp
Multi.hpp
NEWS
NetworkRules.cpp
NetworkRules.hpp
NetworkRulesWrapper.hpp
Pair.hpp
PairGreensFunction.hpp
Particle.hpp
ParticleContainer.hpp
ParticleContainerBase.hpp
ParticleID.hpp
ParticleModel.cpp
ParticleModel.hpp
ParticleSimulationStructure.hpp
ParticleSimulator.hpp
ParticleSimulatorFactory.hpp
PlanarSurface.hpp
Plane.hpp
Point.hpp
PyEventScheduler.hpp
README
ReactionRecord.hpp
ReactionRecorder.hpp
ReactionRule.hpp
ReactionRuleInfo.hpp
Region.hpp
SerialIDGenerator.hpp
Shape.hpp
ShapedDomain.hpp
Shell.hpp
ShellID.hpp
Single.hpp
SpeciesInfo.hpp
SpeciesType.cpp
SpeciesType.hpp
SpeciesTypeID.hpp
Sphere.hpp
SphericalBesselGenerator.cpp
SphericalBesselGenerator.hpp
SphericalSurface.hpp
Structure.hpp
StructureContainer.hpp
StructureFunctions.hpp
StructureID.hpp
StructureType.cpp
StructureType.hpp
StructureUtils.hpp
Surface.hpp
Transaction.hpp
Vector3.hpp
VolumeClearer.hpp
World.hpp
abstract_set.hpp
acinclude.m4
autogen.sh
bd.py
bessel.hpp
compat.h
configure.ac
constants.py
datafile.py
domain.py
dumper.py
egfrd.py
exceptions.hpp
factorial.hpp
filters.hpp
findRoot.cpp
findRoot.hpp
freeFunctions.cpp
freeFunctions.hpp
funcSum.cpp
funcSum.hpp
generator.hpp
geometry.hpp
gfrdbase.py
gillespie.py
greens_function_wrapper.py
greens_functions.cpp
gsl_rng_base.hpp
histograms.py
legacy.py
linear_algebra.hpp
loadsave.py
logger.py
make_cjy_table.py
make_sjy_table.py
model.py
multi.py
myrandom.py
newBDPropagator.hpp
pair.py
pyGFRD.cpp
shellcontainer.py
shells.py
single.py
sorted_list.hpp
transitiontools.py
twofold_container.hpp
utils.cpp
utils.hpp
utils.py

README

:author: Thomas R. Sokolowski, Koichi Takahashi


=== eGFRD2 Prototype ===

originally based on the E-Cell Particle Dynamics Prototype

Copyright (C) 2009-2017 AMOLF
Copyright (C) 2008-2010 RIKEN
Copyright (C) 2005-2008 The Molecular Sciences Institute


About this package
========================

This package is tentatively named "eGFRD2 Prototype", and was 
originally forked from RIKEN's E-Cell Particle Dynamics Prototype (EPDP).
It currently implements the enhanced Greens Function Reaction Dynamics 
(eGFRD) algorithm working in all dimensions, the Reaction Brownian 
Dynamics (RBD) simulation algorithm, and another BD simulator based on 
the Rection Volume Method (rvm-BD). Implementation of the original 
version of GFRD will possibly be added in future. The code was designed
and implemented with the hope that it will eventually be part of the 
"E-Cell System Version 4" multi-algorithm, multi-space simulation 
platform, or its subsequent versions.

The purpose of this prototype code written in mixed Python and C++ is
to establish a solid and practical implementation of the algorithms,
and to extend it into a form that is suitable for large-scale
biochemical and cell simulations.

The eGFRD algorithm first appeared and was used in a paper by
Takahashi, Tanase-Nicola and ten Wolde [1]. A detailed introduction 
to eGFRD, and in particular a description of the extensions to lower 
dimensions is found in the PhD Thesis of Sokolowski [2]. Review [3]
also contains a good introduction into the current eGFRD version.
Moreover, eGFRD2 is described in detail in a forthcoming paper, 
currently available as a preprint on arXiv [4].

The Reaction Brownian Dynamics algorithm is described in a paper by
Morrelli and ten Wolde [5]; the Reaction Volume Method and rvm-BD
are described in detail in the Master's Thesis of Paijmans [6], and 
also briefly in [2-4].


Authors
========================

(alphabetical order)

Laurens Bossen
Kazunari Kaizu
Moriyoshi Koizumi
Thomas Miedema
Joris Paijmans
Thomas R. Sokolowski
Koichi Takahashi
Martijn Wehrens


License
========================

This package is distributed under the terms of GNU General Public License
version 2.  See COPYING.


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 [7].  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
the Third Annual Alpha Project Research Symposium (June 16-27, 2005, at 
UC Berkeley Art Museum).

Later, in December 2006, ten Wolde, Tanase-Nicola, and Takahashi
introduced the concept called first-passage processes [8,9] to Greens
Function Reaction Dynamics by putting protective domains around
particles to further boost the performance and accuracy of the method.
The new method was named eGFRD (enhanced Greens Function Reaction
Dynamics). By 2010, it was implemented for simulating particle-based
reaction-diffusion systems in 3D, and fully integrated with a BD
fallback system; the framework was applied to study details of
enzymatic reactions in the MAPK push-pull networks [1].

Starting from 2009, Sokolowski, Bossen, Miedema and ten Wolde began
to derive the Green's functions and implementing the new domains
needed for extending eGFRD to lower dimensions. Later Paijmans and
Wehrens joined these efforts. Since extension of RBD to lower dimensions 
turned out to be difficult, Paijmans and ten Wolde devised rvm-BD, a new
BD simulation method that preserves detailed balance, based on the
Reaction Volume Method (described in more detail in [6, 2-4]).

All extensions to lower dimensions were assembled together by Bossen 
and Sokolowski in 2012-2013. In 2013, Sokolowski created a first working 
prototype comprising all new features mentioned above. In the following 
years, this prototype was tested and improved, and some further new features, 
such as the option of transiting particles between cylinders and planes, 
were integrated. The prototype code then was used to simulate an idealized 
model of Pom1 gradient formation, as described in [4].


Plans
=========================

Some features planned to be added are:
- outsourcing further core routines from Python to C++
- optimistic discrete-event scheduling for massive parallelization 
- connections to non-spatial simulation methods such as ODE and Gillespie methods
- more efficient visualizers / visualization interfaces


References
=========================

[1] K. Takahashi, S. Tanase-Nicola and P.R. ten Wolde, PNAS doi:10.1073/pnas.0906885107 (2010).
[2] T.R. Sokolowski, "A Computational Study of Robust Formation of Spatial Protein Patterns", 
    PhD Thesis, VU Amsteram, ISBN: 978-90-77209-72-1 (2013).
[3] T.R. Sokolowski and P.R. ten Wolde, arXiv:1705.08669 [q-bio.MN] (2017).
[4] T.R. Sokolowski et al., arXiv:1708.09364 [q-bio.MN] (2017).
[5] M.J. Morelli and P.R. ten Wolde, J. Chem. Phys. 7;129(5):054112 (2008).
[6] J. Paijmans, Master's Thesis, University of Amsterdam (2012).
[7] van Zon and ten Wolde, Phys. Rev. Lett. 94 (2005).
[8] T. Opplestrup, V.V. Bulatov, G.H. Gilmer, M.H. Kalos, and B. Sadigh, Phys. Rev. Lett. 97 (2006).
[9] M.H. Kalos, D. Levesque and L. Verlet, Phys. Rev. A 9 (1974).