Tau-leaping#

Tau-leaping [1] was developed by Gillespie to increase the computational speed of the SSA, which is an exact method. Instead of computing the time to every reaction, this algorithm approximates the process and attempts to leap in time, executing a large number of reactions in a period tau. This algorithm is computationally faster; however, the approximation removes the “exact” connection to the solution of the (master equation-based methods) for the system.

The implementation of tau-leaping in CMS is based on a work by Cao et. al [2]. This modified tau-leaping algorithm helps avoid the possibility of creating negative species counts within a compartment.

Parameter

Data type

Default

Description

solver

string

NA

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

epsilon

float

0.001

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 that determines 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"   : 512,
    "solver" : "TauLeaping",
    "tau-leaping" : {
        "epsilon" : 0.001,
        "Nc" : 2,
        "Multiple" : 10.0,
        "SSARuns" : 100
    }
}