| Original author(s) | Steve Andrews |
|---|---|
| Initial release | July 1, 2003 |
| Stable release | 2.71
/ February 6, 2023 |
| Written in | C, C++, Python |
| Operating system | Linux, macOS and Microsoft Windows |
| License | LGPL |
| Website | smoldyn.org |
Smoldyn is an open-source software application for cell-scale biochemical simulations[1][2]. It uses particle-based simulation, meaning that it simulates each molecule of interest individually, in order to capture natural stochasticity and yield nanometer-scale spatial resolution. Simulated molecules diffuse, react, are confined by surfaces, and bind to membranes in similar manners as in real biochemical systems.
History[edit | edit source]
Smoldyn was initially released in 2003 as a simulator that represented chemical reactions between diffusing particles in rectilinear volumes[3]. Further development added support for surfaces[1], multiscale simulation[4] molecules with excluded volume[2], rule-based modeling[5] and C/C++ and Python APIs [6]. Smoldyn development has been funded by a postdoctoral NSF grant awarded to Steve Andrews, a US DOE contract awarded to Adam Arkin, a grant from the Computational Research Laboratories (Pune, India) awarded to Upinder Bhalla, a MITRE contract and several NIH grants awarded to Roger Brent, and a Simons Foundation grant awarded to Steve Andrews.
Development team[edit | edit source]
Smoldyn has been developed primarily by Steve Andrews, over the course of multiple research and teaching positions. Other contributors have included Nathan Addy[1], Martin Robinson[4], and Diliwar Singh[6].
Features[edit | edit source]
Smoldyn is primarily a tool for biophysics and systems biology research. It focuses on spatial scales that are between nanometers and microns. The following features descriptions are drawn from the Smoldyn documentation[7].
- Model definition: Models are entered as text files that describe the system. This includes: lists of molecule species, their diffusion coefficients, and their chemical reactions; lists of surfaces and their interactions with molecules; initial molecule and surface locations; and actions that a "virtual experimenter" carries out during the simulation.
- Real-time graphics: Smoldyn displays the simulated system to a graphics window as the simulation runs.
- Simulated behaviors: Smoldyn's simulated behaviors focus on molecular diffusion, interaction with surfaces, and interactions with each other. This enables simulation of: molecular diffusion and drift, chemical reactions, excluded volume interactions, macromolecular crowding, allosteric interactions, surface adsorption and desorption, partial transmission through surfaces, on-surface diffusion, and long-range intermolecular forces.
- Accuracy: Smoldyn development has focused strongly on quantitative accuracy. Tests have been run and published to show that diffusion[1], chemical reactions [3][1], surface interactions [8], excluded volume interactions [2], and on-surface diffusion [2] simulate with high quantitative accuracy, typically with substantially less than 1% error.
- Rule-based modeling: Smoldyn supports two types of rule-based modeling. It reads the BNGL language[2], which it parses with the BioNetGen software. It also supports a method that is based on wildcard characters[5].
- Multi-scale simulation: Because particle-based simulation is computationally intensive, Smoldyn also supports simulation using a spatial version of the Gillespie algorithm. These algorithms are linked together to enable both to be used in a single simulation[4].
- C/C++ and Python APIs: All of Smoldyn's functions can be accessed through either a C/C++[2] or a Python[6] API.
GPU acceleration[edit | edit source]
Smoldyn has been refactored twice to run on GPUs, each time offering approximately 200-fold speed improvements[9][10]. However, neither version supports the full range of features that is available in the CPU version. They are not being supported currently.
See also[edit | edit source]
References[edit | edit source]
- ↑ 1.0 1.1 1.2 1.3 1.4 Andrews, Steven S.; Addy, Nathan J.; Brent, Roger; Arkin, Adam P. (2010). "Detailed simulations of cell biology with Smoldyn 2.1". PLOS Comput. Biol. 6 (3): e1000705. Bibcode:2010PLSCB...6E0705A. doi:10.1371/journal.pcbi.1000705. PMC 2837389. PMID 20300644.
{{cite journal}}: CS1 maint: article number as page number (link) - ↑ 2.0 2.1 2.2 2.3 2.4 2.5 Andrews, Steven S. (2017). "Smoldyn: particle-based simulation with rule-based modeling, improved molecular interaction, and a library interface". Bioinformatics. 33 (5): 710–717. doi:10.1093/bioinformatics/btw700. PMID 28365760.
- ↑ 3.0 3.1 Andrews, Steven S.; Bray, Dennis (2004). "Stochastic simulation of chemical reactions with spatial resolution and single molecule detail". Physical Biology. 1 (3–4): 137–151. Bibcode:2004PhBio...1..137A. doi:10.1088/1478-3967/1/3/001. PMID 16204833. S2CID 16394428.
- ↑ 4.0 4.1 4.2 Robinson, Martin; Andrews, Steven S.; Erban, Radek (2015). "Multiscale reaction-diffusion simulations with Smoldyn". Bioinformatics. 31 (14): 2406–2408. doi:10.1093/bioinformatics/btv149.
- ↑ 5.0 5.1 Andrews, Steven S. (2019). "Rule-based modeling using wildcards in the Smoldyn simulator". Methods in Molecular Biology. 1945: 179–202. doi:10.1007/978-1-4939-9102-0_8.
- ↑ 6.0 6.1 6.2 Singh, Dilawar; Andrews, Steven S. (2022). "Python interfaces for the Smoldyn simulator". Bioinformatics. 38 (1): 291–293. doi:10.1093/bioinformatics/btab530. PMID 34293100.
- ↑ www
.smoldyn .org /SmoldynManual .pdf - ↑ Andrews, Steven S. "Accurate particle-based simulation of adsorption, desorption and partial transmission". Physical Biology. 6 (4): 046015. doi:10.1088/1478-3975/6/4/046015.
{{cite journal}}: CS1 maint: article number as page number (link) - ↑ Dematte, Lorenzo (2012). "Smoldyn on Graphics Processing Units: Massively Parallel Brownian Dynamics Simulations". IEEE/ACM Transactions on Computational Biology and Bioinformatics. 9 (3): 655–667. doi:10.1109/TCBB.2011.106.
- ↑ Gladkov, Denis V.; Alberts, Samuel; D'Souza, Roshan M.; Andrews, Steven S. (2011). "Accelerating the Smoldyn Spatial Stochastic Biochemical Reaction Network Simulator Using GPUs". Proceedings of the 19th High Performance Computing Symposia.