Smoldyn

Smoldyn is an open-source software application for cell-scale biochemical simulations. 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
Smoldyn was initially released in 2003 as a simulator that represented chemical reactions between diffusing particles in rectilinear volumes. Further development added support for surfaces, multiscale simulation molecules with excluded volume, rule-based modeling and C/C++ and Python APIs. 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, Martin Robinson, and Diliwar Singh.

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.


 * 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, chemical reactions, surface interactions, excluded volume interactions, and on-surface diffusion 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, which it parses with the BioNetGen software. It also supports a method that is based on wildcard characters.
 * 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.
 * C/C++ and Python APIs: All of Smoldyn's functions can be accessed through either a C/C++ or a Python API.

GPU acceleration
Smoldyn has been refactored twice to run on GPUs, each time offering approximately 200-fold speed improvements. However, neither version supports the full range of features that is available in the CPU version. They are not being supported currently.