Midpoint tau-leaping

The midpoint tau-leaping algorithm is a modification of Tau-leaping [1]. Instead of using the current state of the system to evaluate the propensity functions, an estimated midpoint state is constructed. Then, this midpoint state is used to evaluate the propensity functions from the current time t. This modification has a direct analogy in the simulation of deterministic systems.

Parameter

Data type

Default

Description

solver

string

NA

Tau and TauLeaping are both valid names to run this solver.

epsilon

float

0.01

Computes the largest time step tau that is not likely to result in propensity function changes by more than epsilon multiplied by the sum of all the propensities. For larger values of tau, the step sizes will also be larger.

nc

integer

2

A threshold to separate critical and noncritical reactions. A critical reaction is any reaction that is at risk for driving the count of a species below zero; all reactions become critical if nc is extremely large, reducing to the exact Gillespie (SSA). Alternatively, if nc is zero, there will not be any critical reactions, reducing it to Tau-leaping.

multiple

integer

10

A threshold to decide on whether to execute a series of SSA steps instead of a tau-leap. If a leap value of tau is chosen (from the noncritical reaction rates) such that it is less than the multiple times 1/(total propensity rate), than the SSA steps are performed.

SSAruns

integer

100

The number of SSA runs that are performed when the proposed leap size from the noncritical reactions is less than multiple times 1/(total propensity rate).

Example

{
    "duration" : 365,
    "runs"   : 1000,
    "solver" : "MidPoint",
    "midpoint" : {
        "epsilon" : 0.001,
        "nc" : 2,
        "multiple" : 10.0,
        "SSAruns" : 100
    } 
}