Learn R Programming

GillespieSSA2: Gillespie’s Stochastic Simulation Algorithm for impatient people.

GillespieSSA2 is a fast, scalable, and versatile framework for simulating large systems with Gillespie’s Stochastic Simulation Algorithm (SSA) (Cannoodt et al. 2021). This package is the spiritual successor to the GillespieSSA package originally written by Mario Pineda-Krch (Pineda-Krch 2008).

GillespieSSA2 has the following added benefits:

  • The whole algorithm is run in Rcpp which results in major speed improvements (>100x). Even your propensity functions (reactions) are being compiled to Rcpp!
  • Parameters and variables have been renamed to make them easier to understand.
  • Many unit tests try to ensure that the code works as intended.

The SSA methods currently implemented are: Exact (ssa_exact()), Explicit tau-leaping (ssa_etl()), and the Binomial tau-leaping (ssa_btl()).

Install

You can install:

  • the latest released version from CRAN with

    install.packages("GillespieSSA2")
  • the latest development version from github with

    devtools::install_github("rcannood/GillespieSSA2", build_vignettes = TRUE)

If you encounter a bug, please file a minimal reproducible example on the issues page.

Examples

The following example models are available:

  • Introduction to GillespieSSA2:
    vignette("an_introduction", package="GillespieSSA2")
  • Converting from GillespieSSA to GillespieSSA2:
    vignette("converting_from_GillespieSSA", package="GillespieSSA2")
  • Decaying-Dimerization Reaction Set:
    vignette("decaying_dimer", package="GillespieSSA2")
  • SIRS metapopulation model:
    vignette("epi_chain", package="GillespieSSA2")
  • Linear Chain System:
    vignette("linear_chain", package="GillespieSSA2")
  • Pearl-Verhulst Logistic Growth model:
    vignette("logistic_growth", package="GillespieSSA2")
  • Lotka Predator-Prey model:
    vignette("lotka_predator_prey", package="GillespieSSA2")
  • Radioactive Decay model:
    vignette("radioactive_decay", package="GillespieSSA2")
  • Rosenzweig-MacArthur Predator-Prey model:
    vignette("rm_predator_prey", package="GillespieSSA2")
  • Kermack-McKendrick SIR model:
    vignette("sir", package="GillespieSSA2")

References

Cannoodt, Robrecht, Wouter Saelens, Louise Deconinck, and Yvan Saeys. 2021. “Spearheading Future Omics Analyses Using Dyngen, a Multi-Modal Simulator of Single Cells.” Nature Communications 12 (1). https://doi.org/10.1038/s41467-021-24152-2.

Pineda-Krch, Mario. 2008. “GillespieSSA: Implementing the Stochastic Simulation Algorithm in r.” Journal of Statistical Software 25 (12). https://doi.org/10.18637/jss.v025.i12.

Copy Link

Version

Install

install.packages('GillespieSSA2')

Monthly Downloads

341

Version

0.3.0

License

GPL (>= 3)

Issues

Pull Requests

Stars

Forks

Maintainer

Robrecht Cannoodt

Last Published

January 23rd, 2023

Functions in GillespieSSA2 (0.3.0)

compile_reactions

Precompile the reactions
GillespieSSA2

GillespieSSA2: Gillespie's Stochastic Simulation Algorithm for impatient people.
ssa_exact

Exact method
print.SSA_reaction

Print various SSA objects
port_reactions

Port GillespieSSA parameters to GillespieSSA2
ssa_btl

Binomial tau-leap method (BTL)
ssa_etl

Explicit tau-leap method (ETL)
plot_ssa

Simple plotting of ssa output
ode_em

Euler-Maruyama method (EM)
ssa

Invoking the stochastic simulation algorithm
reaction

Define a reaction