Algorithms
Exact algorithms
Direct methods
BioSimulator.Direct
— TypeDirect()
Gillespie's Direct Method.
References
Gillespie, D.T. (1976) A general method for numerically simulating the stochastic time evolution of coupled chemical reactions. Journal of Computational Physics. https://doi.org/10.1016/0021-9991(76)90041-3
Gillespie, D.T. (1977) Exact stochastic simulation of coupled chemical reactions. The Journal of Physical Chemistry. https://doi.org/10.1021/j100540a008
BioSimulator.EnhancedDirect
— TypeEnhancedDirect()
A Direct method that uses a dependency graph.
References
- Marchetti L., Priami C., Thanh V.H. (2017) Simulation Algorithms for Computational Systems Biology. Texts in Theoretical Computer Science.
BioSimulator.SortingDirect
— TypeSortingDirect()
The sorting direct method reorders reactions to identify frequently occurring events. This effectively reduces the search depth in selecting the next reaction.
References
- McCollum, J.M., Peterson, G.D., Cox, C.D., Simpson, M.L., Samatova, N.F. (2006). The sorting direct method for stochastic simulation of biochemical systems with varying reaction execution behavior. Computational Biology and Chemistry. https://doi.org/10.1016/j.compbiolchem.2005.10.007.
First reaction methods
BioSimulator.FirstReaction
— TypeFirstReaction()
A first reaction method that samples reaction events and times jointly.
References
- Gillespie, D.T. (1976) A general method for numerically simulating the stochastic time evolution of coupled chemical reactions. Journal of Computational Physics. https://doi.org/10.1016/0021-9991(76)90041-3
BioSimulator.NextReaction
— TypeNextReaction()
Gibson and Bruck's next reaction method. Uses a priority queue to select the next reaction event and time.
References
- Gibson, M.A., Bruck, J. (1999) Efficient exact stochastic simulation of chemical systems with many species and many channels. Journal of Physical Chemistry. https://doi.org/10.1021/jp993732q
Rejection methods
BioSimulator.RejectionSSA
— TypeRejectionSSA()
A rejection-based algorithm that operates on "virtual states" to accelerate simulation.
WARNING: This implementation is a work in progress.
References
- Thahn, V.H., Priami, C., Zunino, R. (2014) Efficient rejection-based simulation of biochemical reactions with stochastic noise and delays. Journal of Chemical Physics. https://doi.org/10.1063/1.4896985
Approximate algorithms
Note: These implementations are a work in progress. The TauLeapingDG2001
and TauLeapingDGLP2003
methods need "hybrid" counterparts.
BioSimulator.TauLeapingDG2001
— TypeTauLeapingDG2001()
A pure tau-leaping method using the Equation (26a) to select tau.
Optional Arguments
Work in progress.
References
- Gillespie, D.T. (2001) Approximate accelerated stochastic simulation of chemically reacting systems. Journal of Chemical Physics. https://doi.org/10.1063/1.1378322
BioSimulator.TauLeapingDGLP2003
— TypeTauLeapingDGLP2003()
A pure tau-leaping method using the Equation (6) to select tau.
Optional Arguments
Work in progress.
References
- Gillespie, D.T., Petzold, L.R. (2003) Improved leap-size selection for accelerated stochastic simulation. Journal of Chemical Physics. https://doi.org/10.1063/1.1613254
BioSimulator.StepAnticipation
— TypeStepAnticipation()
A pure tau-leaping method using the Equation (15) to select tau.
Optional Arguments
Work in progress.
References
- Sehl, M.E., Alekseyenko, A.L., Lange, K.L. (2009) Accurate stochastic simulation via the step anticipation tau-leaping (SAL) algorithm. Journal of Computational Biology. https://dx.doi.org/10.1089/cmb.2008.0249
BioSimulator.HybridSAL
— TypeHybridSAL()
Same as StepAnticipation()
, but defaults to Direct()
depending on the cumulative intensity.
Optional Arguments
Work in progress.
References
- Sehl, M.E., Alekseyenko, A.L., Lange, K.L. (2009) Accurate stochastic simulation via the step anticipation tau-leaping (SAL) algorithm. Journal of Computational Biology. https://dx.doi.org/10.1089/cmb.2008.0249