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