Download Smoldyn
Current version:
2.25Download Packages
There are 4 download packages:
- smoldyn-2.25-mac.tgz - Pre-compiled software for Intel Macs (includes OpenGL and Libsmoldyn, no Libmoleculizer).
- smoldyn-2.25-windows.zip - Pre-compiled software for Windows (includes OpenGL and Libsmoldyn, no Libmoleculizer).
- smoldyn-2.25.tar.gz - Complete distribution with source code, no pre-compiled code.
- smoldyn-2.25.zip - Complete distribution with source code, no pre-compiled code.
All downloads include the documentation, examples, utility software, and necessary install scripts. The complete distributions compile on Macintosh and Linux with the GNU build system. They are not set up to compile on Windows.
Platforms
Most Mac, Linux, or Windows computers up to about 5 years old should run Smoldyn. If you do not use the pre-compiled software downloads, then you may need additional software. If it isn't already installed on your computer, get it here. Full installation instructions, for this software and for Smoldyn, are given in the Smoldyn User's Manual.
- Mac: get gcc at http://connect.apple.com/
- Mac or Linux: get libtiff at http://www.libtiff.org/
- Windows: necessary dll files should be in Smoldyn download; if not, try http://www.dlldump.com/
Documentation
The Smoldyn manual is in two parts. Part I (Smoldyn_doc1.pdf) is the Smoldyn User's Manual and Part II (in the download package) is the Smoldyn Programmer's Manual. Although less comprehensive, this Methods for Molecular Biology paper, which is in press, provides an easy-to-read introduction to Smoldyn (it also gives lots of modeling suggestions that are not listed elsewhere). Finally, in the documentation directory of the download, you will find the libmoleculizer manual for rule-based reaction network generation, and programmers' documentation for all of Smoldyn's libraries.
Most of the Smoldyn algorithms are described in the papers:
- Andrews and Bray, 2004 - diffusion and reaction algorithms
- Andrews, 2005 - physical justification for binding and unbinding radii
- Andrews, 2009 - molecule-surface interaction algorithms
- Lok and Brent, 2005 - rule-based modeling
Support
- E-mail Steve at support@smoldyn.org
Bugs
Multiple threads and automatic reaction network generation do not work well currently. If you have a configuration file that causes crashes or incorrect behavior (even if you find a work-around), please send it to us at support@smoldyn.org so we can find the bugs.
New features
Pre-compiled software! This is something that users have asked about for many years, and we've finally achieved it.
Libsmoldyn is an API for Smoldyn that enables the Smoldyn core to be run from other programs. It has been used minimally so far, but seems to work well.
All memory allocation is now dynamic, which means that users no longer need to enter "maxmols", "max_surface", or any other of these "max..." statements. Also, you can now display the simulation time and molecule counts directly to the graphics window, for easier simulation monitoring.
License
The rxnparam.c and SurfaceParam.c source code files are in the public domain. The libmoleculizer module is Copyright 2009 by the Molecular Sciences Institute and distributed under the Gnu General Public License (GPL). The rest of the code is Copyright 2003-2011 by Steven Andrews and distributed under the Gnu GPL (it was LGPL up to version 2.04). Contact us if you would like Smoldyn to use a different license.
Revision History
- 2.25 (9/26/11) - Fixed minor bugs and improved Ubuntu installation.
- 2.24 (7/27/11) - Major work on Libsmoldyn to the point that it's fairly complete and it seems to work. Also, major work on the build system, which enabled the distribution of pre-compiled code. Finally, of course, fixed some minor bugs and added a few commands.
- 2.23 (6/24/11) - Added preliminary Libsmoldyn API, made all memory allocation dynamic, added molecule list and reaction list shuffling, added display of time and molecule counts to graphics window, added several commands, improved mid-simulation modifications, and fixed several minor bugs.
- 2.22 (3/22/11) - Fixed a bug that prevented compiling when OpenGL was disabled. Also added a skeleton for libsmoldyn.
- 2.21 (3/11/11) - Fixed minor bugs that affected surface-bound molecule diffusion and surface detection.
- 2.20 (3/4/11) - Fixed major bug with non-threading installations (including the Windows version), improved define statements, and modified configure defaults.
- 2.19 (2/11/11) - Surface-bound molecules can interact with other surfaces, added --define command line option, added append_files statement, added ifincmpt and killmolincmpt commands, and cleaned up surface code.
- 2.18 (1/6/11) - Fixed bug that affected desorbed molecules.
- 2.17 (11/19/10) - Improved Ubuntu installation and fixed a bug for partially transmitting surfaces with large transmission coefficients.
- 2.16 (9/24/10) - Fixed bug that affected desorbed molecules.
- 2.15 (7/20/10) - Fixed bugs that were introduced with version 2.14.
- 2.14 (7/18/10) - Fixed integer command queue for Windows and improved continuation reactions.
- 2.13 (7/15/10) - Better reaction detail reporting and improved libmoleculizer operation.
- 2.12 (6/10/10) - Added commands: molcountincmpts and replacecmptmol.
- 2.11 (5/4/10) - Slight improvement to build system.
- 2.10 (3/24/10) - Major code improvement on libmoleculizer module.
- 2.09 (1/6/10) - Substantially improved graphics and added movesurfacemol and molcountincmpt2 commands.
- 2.08 (11/20/09) - Released unofficially. This fixed a few minor bugs.
- 2.07 (11/17/09) - Fixed bugs. In particular, fixed diffusion of surface-bound molecules.
- 2.06 (11/6/09) - Molecules can change species at surfaces and surface-bound molecules jump at "jump" surfaces. Also, bug fixes and general code cleanup.
- 2.05 (7/23/09) - Nathan got the build system to work well for most Mac and Linux systems. Some documentation updates.
- 2.04 (6/27/09) - Debugged and improved build system and support for multimeric complexes, although they still lack complete documentation. Also added support for effectve unbounded diffusion.
- 2.03 (5/22/09) - Changed from a make file build to the GNU build system (autoconf, automake, etc.), added support for multimeric complexes and for multiple program threads. These new features are unstable.
- 2.02 (5/5/09) - Added a few commands, cleaned up some code, and fixed a few bugs.
- 2.01 (3/3/09) - Improved diffusion of surface-bound molecules and simplified block-style input formats.
- 2.0 (2/17/09) - Fixed a few trivial bugs, and increased the version number to 2.0.
- 1.89 (2/11/09) - Adsorption, desorption, and partial transmission algorithms now work well and have been verified to be accurate. Also added molecules with excluded volume. Lots of new code structure improvements will enable several planned features (including macromolecular complexes and a command line user input).
- 1.88 (1/16/09) - First release of SmolCrowd utility program, adsorption, desorption and partial transmission should be correct but have not been verified, improved integer-time commands, and simplified the configuration file format slightly.
- 1.87 (12/7/08) - Vastly improved the wrl2smol utility program.
- 1.86 (11/17/08) - Fixed several minor bugs, improved makefiles for more reliable installation, and made Smoldyn compatible with 64-bit machines.
- 1.85 (6/3/08) - The Mersenne Twister is now used for random numbers, added define statements to parser, renamed allosteric reactions to conformational spread reactions, and fixed lots of minor bugs and one significant one (reaction products ended up across surfaces).
- 1.84 (4/11/08) - First Windows release. Also, added reactions that are only active in specified compartments, added several commands, and fixed the change time step command.
- 1.83 (3/14/08) - Improved unimolecular reaction rates for multiple reaction channels, improved allosteric reactions, and added molecular drift.
- 1.82 (2/28/08) - Fixed a bug in which reaction products ended up across surfaces. Also, reactions were completely overhauled and can now be entered with a vastly improved format. Allosteric reactions were added.
- 1.81 (1/23/08) - Surface-bound molecules now work, lots of minor bugs were fixed, multiple molecule lists were implemented, porting works well, and documentation was improved.
- v1.80 (12/22/07) - 'Q' now quits the program, time steps can be changed mid-simulation, and basic porting between Smoldyn and MOOSE was added.
- v1.79 (12/6/07) - Fixed more bugs with commands. Also added basic compartments.
- 1.78 (11/30/07) - Fixed lots of bugs with surface-bound molecules and commands, and improved input formats of several statements.
- 1.77 (11/18/07) - Fixed a few minor bugs and modified several functions to make Smoldyn easier to parallelize.
- 1.76 (11/7/07) - Main source file was split to two files and assorted function rearranging. More command-line options are now available.
- 1.75 (11/6/07) - Added support of surface-bound molecules, which still need some debugging. Also, changed several surface input statement formats. The documentation is current, but incomplete.
- 1.74 (10/22/07) - Fixed yet more bugs in surfaces, added disk-shaped surface panels, and made some changes in surface input statement formats. Only the code got updated for this release, so the documentation is slightly out of date.
- 1.73 (9/25/07) - Minor surface improvements, added exponential time-stepping option for run-time commands, and improved multi-platform compiling.
- 1.72 (2/26/07) - Surfaces are finally totally functional for both diffusion and reactions (or so I thought for a while).
- 1.71 (12/8/06) - Better surface support with cylinder and hemisphere panels, and improved reflective surfaces.
- 1.70 (5/17/06) - Reasonably good surface support, where surfaces can be reflective, absorbing or transparent, and they are comprised of panels that can be rectangular, triangular, or spherical.
- 1.59 (?) - Displays the random number seed.
- 1.58 (7/22/05) - A new runtime command, a randomized Brownian dynamics lookup table to remove artifacts that can arise from random number generator problems, and a more versitile mol statement.
- 1.57 (2/17/05) - A new runtime command.
- 1.56 (1/14/05) - Improved graphics and a few other minor changes.
- 1.55 (8/20/04) - Minor graphics changes, some improvements in the design of the command queue for the runtime command interpreter, and it is now possible for commands to return error messages.
- 1.53 (2/9/04) - Cleaned up code for the runtime command interpreter, it is now possible to save file stacks, minor display and user interface improvements, and several new commands for text output and excluded volumes.
- 1.52 (10/24/03) - A significant bug was fixed in the equation for absorbing walls (thanks to Dan Gillespie for catching it), it is now possible to pause simulations while using graphics, and a few minor bugs were fixed.
- 1.51 (9/5/03) - Unimolecular reactions can now have much lower reaction rates, a memory error upon termination was fixed, parameter checking was improved, several minor bugs were fixed, and two new interpreter commands were added.
- 1.5 (7/2003) - First public release.
