Smoldyn

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Smoldyn
Original authorSteve Andrews
Initial releaseJuly 1, 2003; 23 years ago (2003-07-01)
Stable release
2.71 / February 6, 2023; 3 years ago (2023-02-06)
Repositorygithub.com/ssandrews/Smoldyn
Written inC, C++, Python
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemLinux, macOS and Windows
    TypeSimulation software
    LicenseLGPL
    Websitewww.smoldyn.org

    Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal'). 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. ^ a b c d e Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ a b c d e f Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ www.smoldyn.org/SmoldynManual.pdf
    8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]