Cytosim PI Cytoskeleton Simulator

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

Stochastic Events

Most stochastic events are simulated following the Gillespie method.

If a stochastic event occurs at a constant rate, its time of occurence in generated as:

time = -log(random()) / RATE

where `random()` returns a random number uniformly distributed in [0,1]. The variable `time` is then exponentially distributed with expectancy = 1/RATE.

### Kramers rate theory

The detachment of a molecular link follows the theory described by Kramers in:

Brownian motion in a field of force and the diffusion model of chemical reactions
H.A. Kramers - Physica VII, no 4, pp284-304 - 1940

Essentially, the detachment rate increases with the force exerted on the link:

off_rate = RATE * exp( force / FORCE )

RATE and FORCE are two parameters and force is the norm of the force vector calculated by `cytosim`.

### Time-dependent rates

Using Kramers rate theory implies that the rate of the event is varying in time.
The Gillespie approach needs to be modified, and we follow the procedure described in:

A Dynamical Monte Carlo Algorithm for Master Equations with Time-Dependent Transition Rates
A. Prados et al.
Journal of Statistical Physics, Vol. 89, Nos. 3/4, 1997
http://dx.doi.org/10.1007/BF02765541

In short, a normalized time `esp` is first generated, again using a random number uniformly distributed in [0,1] provided by `random()`. At each time step, `esp` is reduced as a function of the value of the rate during the interval. The associated event is performed if `esp` becomes negative, which is when the associated time crosses the 'present' into the past.

Pseudo-code:

time = 0;
esp = -log(random());
while ( time < max_time )
{
time += time_step;
esp -= time_step * rate(time);
while ( esp < 0 )
{
do_event();
esp += -log(random())
}
}

In this example, the event can be performed multiple times in the same time_step, but this would not be done for detachment and other events that can only occur once.