The hybrid direct/tau-leaping method combines the direct method and the
tau-leaping method. It is more accurate than tau-leaping for problems that
have species with small populations. For some problems it is also faster
than tau-leaping. Recall that tau-leaping is only efficient if many reactions
firing during a time step. This hybrid method divides the reactions into two
groups: volatile/slow and stable. We use the direct method to simulate
the reactions in the volatile/slow group and tau-leaping to simulate
the stable reactions.
Like regular tau-leaping, one specifies an accuracy
goal with the allowed error ε. One assumes that the expected value of
the reaction propensities is constant during a time step. The time step is
chosen so that the expected relative change in any propensity is less than
ε. A reaction is volatile if firing it a single time would produce
a relative change of more than ε in any of its reactants.
Consider these examples with ε = 0.1:
The reaction X → Y is volatile if x < 10.
The reaction X + Y → Z is volatile if either x < 10 or y < 10.
The reaction 2 X → Y is volatile if x < 20.
Reactions that are "slow" are also simulated with the direct
method. A reaction is classified as slow if it would fire few times during
a time step. The threshold for few times is 0.1. During a time step one
first computes the tau-leaping step τ. Then any reactions in the stable
group that have become volatile or slow are moved to the volatile/slow group.
To take a step with the hybrid method we determine a
time step τ for the stable reactions and generate a unit exponential
deviate <em>e</em> for the volatile/slow reactions.
Let σ be the sum of the PMF for the discrete deviate generator.
If <em>e</em> ≤ σ τ, we reduce the time step to
<em>e</em>/σ and take a tau-leaping step as well as fire a volatile/slow
reaction. Otherwise we reduce <em>e</em> by σ τ and save this value
for the next step, update the PMF with the integrated propensities, and
take a tau-leaping step. To integrate the propensities one can use
the forward Euler method, the midpoint method, or the fourth order