Discrete stochastic simulation has become an important and widely-used tool for modeling of biological systems at the molecular scale. At the same time, there is no single place where one can go to develop a discrete stochastic model with increasing levels of complexity: from the early stages, where it may begin as an ODE model, to a well-mixed (spatially homogeneous) discrete stochastic model, to a spatially inhomogeneous stochastic model with complex geometry and multiple internal surfaces, and finally to a spatially inhomogeneous stochastic model where single molecules at a microscopic level may interact with molecules modeled mesoscopically. The focus of the StochSS project is to build such a place: an integrated development environment featuring state of the art algorithms as well as a means for the community to add new algorithms and capabilities, supported on a wide range of hardware from desktop workstations to high-performance clusters in the cloud.
Integrated platform and large scale computational experiments
StochSS is an integrated development environment (IDE) for discrete stochastic biochemical simulations. Users make use of a graphical user interface (GUI) to provide the defenition of their problem, including its domain (geometry, volume), molecular interactions (stoichiometry, rate constants), and simulation goals (single trajectory, histogram, probabilities of rare events). The platform transparently executes model workflows using local resources (laptops, workstations) and public clouds.
Algorithms and computational engines
Our algorithmic research includes development of fully-automatic hybrid solvers for stiff (and nonstiff) stochastic (well-mixed) systems, construction of efficient adaptive algorithms and software for determining the probabilities of stochastic rare events, development of highly efficient, parallel algorithms and software for spatial stochastic simulation as well as methods for hybrid spatial stochastic mesoscopic/microscopic reaction dynamics. The current stochastic solvers in StochSS uses the Python-based GillesPY API for well-mixed models (based on StochKit2) and PyURDME for spatial models (with a NSM core solver from the URDME package).