STEPS (STochastic Engine for Pathway Simulation) was developed as a tool for simulating reaction-diffusion systems, such as the signaling pathways involved in synaptic plasticity. We aim to provide the tools to allow investigation of the effects of morphology and stochastic fluctuations in such systems, since it is widely believed such features may play an important role in biological function . STEPS is written almost entirely in C++ for high performance, but maintains a user interface in Python to allow for greater interactivity and control. The software runs on various platforms, including Unix, Mac OS X and Windows. By writing relatively straightforward Python scripts the modeler can create the molecular species in the system, set up the reaction-diffusion kinetics, define the geometry of the system, set the initial conditions, import a 3D tetrahedral mesh, run and control the simulation and visualize and/or save the simulation results.
STEPS currently includes three solvers, allowing the user to choose the most efficient solution that can accurately describe their model:
-WmDirect: Stochastic solver, based on the Gillespie Direct Method .
Recommended for systems that can be assumed to be well-mixed and where any species is in a sufficiently low concentration that the probabilistic nature of the system becomes significant and a stochastic description is necessary [1,3]. The modeler can adapt their Python script to run the simulation a number of times to see the stochastic fluctuations in the system.
-WmRK4: Deterministic solver, based on the fourth-order Runge-Kutta method.
Recommended for systems that can be assumed to be well-mixed and where molecular populations are large enough that system behavior can be approximated by solving classical chemical kinetics equations. This is usually the quickest solver as the simulation need only be run once.
-TetExact: Stochastic solver extended for simulating diffusion by implementing a 3D tetrahedral mesh.
Allows for the investigation of the effects of morphological aspects such as concentration gradients and chemical compartmentalization. This solver requires construction of a high-quality computational tetrahedral mesh that can adequately represent the relevant morphological features. STEPS currently supports meshes generated by TetGen http://tetgen.berlios.de webcite, which is freely available for research use. In addition, we aim to implement mesh-generation in STEPS in the future based on the algorithm in . These meshes can then be used for simulation by extending Gillespie's Direct Method  to deal with spatial processes. Each voxel is treated as a well-mixed volume in which reactions can occur and are coupled to their neighboring voxels by diffusive fluxes and to neighboring boundary triangles to allow simulation of volume-surface interactions.
As an example, in a well-mixed system with relatively high concentrations, a deterministic solution can first be found by running the fast WmRK4 (well-mixed Runge-Kutta) solver. If the user wishes to investigate the significance of the system's stochasticity (which is not captured in a deterministic description), a switch to the WmDirect (well-mixed Gillespie Direct ) solver can be achieved by changing just one line in the Python script.
Biophysical J 2007, 92:2350-2365. Publisher Full Text
J Comp Phys 1976, 22:403-434. Publisher Full Text
SIAM Rev 2004, 46:329-345. Publisher Full Text