Smoldyn
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.
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 |
History
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
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
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
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.
References
- 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.
- 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.
- 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.
- Robinson, Martin; Andrews, Steven S.; Erban, Radek (2015). "Multiscale reaction-diffusion simulations with Smoldyn". Bioinformatics. 31 (14): 2406–2408. doi:10.1093/bioinformatics/btv149. PMC 4495299. PMID 25788627.
- Andrews, Steven S. (2019). "Rule-based modeling using wildcards in the Smoldyn simulator". Modeling Biomolecular Site Dynamics. Methods in Molecular Biology. Vol. 1945. pp. 179–202. doi:10.1007/978-1-4939-9102-0_8. ISBN 978-1-4939-9100-6. PMID 30945247. S2CID 92998562.
- 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. (2009). "Accurate particle-based simulation of adsorption, desorption and partial transmission". Physical Biology. 6 (4): 046015. Bibcode:2009PhBio...6d6015A. doi:10.1088/1478-3975/6/4/046015. PMC 2847898. PMID 19910670.
- 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. PMID 21788675. S2CID 14763924.
- 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.