Algorithms

Exact algorithms

Direct methods

BioSimulator.EnhancedDirectType
EnhancedDirect()

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.SortingDirectType
SortingDirect()

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.NextReactionType
NextReaction()

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.RejectionSSAType
RejectionSSA()

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
Warning

This implementation needs additional testing and is not guaranteed to be optimized.

Approximate algorithms

Warning

These implementations are a work in progress. The TauLeapingDG2001 and TauLeapingDGLP2003 methods need "hybrid" counterparts.

BioSimulator.TauLeapingDG2001Type
TauLeapingDG2001()

A pure tau-leaping method using the Equation (26a) to select tau.

Optional Arguments

Work in progress.

References

BioSimulator.TauLeapingDGLP2003Type
TauLeapingDGLP2003()

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.StepAnticipationType
StepAnticipation()

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.HybridSALType
HybridSAL()

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