
Biological systems with intertwined feedback loops pose a challenge to mathematical modeling efforts. Moreover, rare events, such as mutation and extinction, complicate system dynamics. Stochastic simulation algorithms are useful in generating time-evolution trajectories for these systems because they can adequately capture the influence of random fluctuations and quantify rare events. We present a simple and flexible package, BioSimulator.jl, for implementing the Gillespie algorithm, $τ$-leaping, and related stochastic simulation algorithms. The objective of this work is to provide scientists across domains with fast, user-friendly simulation tools. We used the high-performance programming language Julia because of its emphasis on scientific computing. Our software package implements a suite of stochastic simulation algorithms based on Markov chain theory. We provide the ability to (a) diagram Petri Nets describing interactions, (b) plot average trajectories and attached standard deviations of each participating species over time, and (c) generate frequency distributions of each species at a specified time. BioSimulator.jl's interface allows users to build models programmatically within Julia. A model is then passed to the simulate routine to generate simulation data. The built-in tools allow one to visualize results and compute summary statistics. Our examples highlight the broad applicability of our software to systems of varying complexity from ecology, systems biology, chemistry, and genetics. The user-friendly nature of BioSimulator.jl encourages the use of stochastic simulation, minimizes tedious programming efforts, and reduces errors during model specification.
27 pages, 5 figures, 3 tables
4601 Applied Computing (for-2020), τ-leaping, Applied Computing, Dynamical Systems (math.DS), Quantitative Biology - Quantitative Methods, Medical Informatics (science-metrix), 46 Information and Computing Sciences (for-2020), Models, Programming Languages (mesh), Poisson Distribution, Mathematics - Dynamical Systems, Quantitative Methods (q-bio.QM), Stochastic Processes (mesh), 4603 Computer vision and multimedia computation (for-2020), Systems Biology, Bioengineering (rcdc), Gillespie algorithm, Stochastic simulation, Markov Chains, 004, Markov Chains (mesh), Kinetics (mesh), Systems biology, math.DS, Algorithms, 0801 Artificial Intelligence and Image Processing (for), Artificial Intelligence and Image Processing, Biomedical Engineering, Poisson Distribution (mesh), Bioengineering, Biological (mesh), Systems Biology (mesh), Models, Biological, 0903 Biomedical Engineering (for), Information and Computing Sciences, FOS: Mathematics, Software (mesh), Computer Simulation, Electrical and Electronic Engineering, Algorithms (mesh), Probability, tau-leaping, Stochastic Processes, q-bio.QM, 4601 Applied computing (for-2020), Computer vision and multimedia computation, Julia language, Biological, Probability (mesh), 4003 Biomedical engineering (for-2020), 0906 Electrical and Electronic Engineering (for), Kinetics, Computer Simulation (mesh), FOS: Biological sciences, Programming Languages, Medical Informatics, Software
4601 Applied Computing (for-2020), τ-leaping, Applied Computing, Dynamical Systems (math.DS), Quantitative Biology - Quantitative Methods, Medical Informatics (science-metrix), 46 Information and Computing Sciences (for-2020), Models, Programming Languages (mesh), Poisson Distribution, Mathematics - Dynamical Systems, Quantitative Methods (q-bio.QM), Stochastic Processes (mesh), 4603 Computer vision and multimedia computation (for-2020), Systems Biology, Bioengineering (rcdc), Gillespie algorithm, Stochastic simulation, Markov Chains, 004, Markov Chains (mesh), Kinetics (mesh), Systems biology, math.DS, Algorithms, 0801 Artificial Intelligence and Image Processing (for), Artificial Intelligence and Image Processing, Biomedical Engineering, Poisson Distribution (mesh), Bioengineering, Biological (mesh), Systems Biology (mesh), Models, Biological, 0903 Biomedical Engineering (for), Information and Computing Sciences, FOS: Mathematics, Software (mesh), Computer Simulation, Electrical and Electronic Engineering, Algorithms (mesh), Probability, tau-leaping, Stochastic Processes, q-bio.QM, 4601 Applied computing (for-2020), Computer vision and multimedia computation, Julia language, Biological, Probability (mesh), 4003 Biomedical engineering (for-2020), 0906 Electrical and Electronic Engineering (for), Kinetics, Computer Simulation (mesh), FOS: Biological sciences, Programming Languages, Medical Informatics, Software
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 10 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Top 10% | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Top 10% | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Top 10% |
