1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55

<html>
<head>
<title>Hybrid Direct/TauLeaping</title>
</head>
<body>
<h1>Hybrid Direct/TauLeaping</h1>
<p>
The hybrid direct/tauleaping method combines the direct method and the
tauleaping method. It is more accurate than tauleaping for problems that
have species with small populations. For some problems it is also faster
than tauleaping. Recall that tauleaping 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 tauleaping to simulate
the stable reactions.
</p>
<p>
Like regular tauleaping, 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.
</p>
<p>
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 tauleaping step τ. Then any reactions in the stable
group that have become volatile or slow are moved to the volatile/slow group.
</p>
<p>
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 tauleaping 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 tauleaping step. To integrate the propensities one can use
the forward Euler method, the midpoint method, or the fourth order
RungeKutta method.
</p>
</body>
</html>
