Introduction:

Multiscale Object Oriented Simulation
Environment (MOOSE) is a general purpose biological simulator that
can utilize multi-core as well as multi-node computer systems while
making the complexities of load-balancing and messaging in these
systems transparent to the user. It is multiscale in the sense of
handling simulations from molecular on up to large network scales,
events from microseconds to days, and in terms of running on hardware
scaling from laptops to large clusters . It provides a Python based
interface and can be used synergistically with other libraries and
simulators that use Python.

Multiple scales of modeling:

The scales in biology can range from a
few molecules bouncing around in a vesicle to networks of thousands
of neurons modeling whole brain regions. The times can be anywhere
between microseconds to days (or millenia for evolutionary
biologists). Although practically any well-defined regime of
simulation can be incorporated into MOOSE, the current focus is on
chemical kinetics and neuronal networks. Fast solvers have been
implemented/interfaced for reaction-diffusion chemical kinetics (GNU
Scientific Library), stochastic chemical kinetics for small volumes
(Gillespie algorithm), spatial Monte Carlo calculations for
individual molecules (Smoldyn [1]) and realistic compartmental
modeling of neurons (Hines’ algorithm). A key area of development
in MOOSE is to integrate models of signaling pathways with
compartmental models for studying emergent properties at the
interface between biochemical and electrical signaling. MOOSE
presents an intuitive object-oriented interface to the user, while
transparently handling fast calculations with specialized numerical
engines which are implemented for each level of detail.

Impact on standards:

Although progress in computer hardware
and software is making it more feasible to study multiscale models,
integrating existing models is often a tedious process. There are
multiple standards for model specification at various levels and
MOOSE supports three of them: the GENESIS scripting language, SBML
[3] and NeuroML [2]. Moreover, it aims to support the Network
Interchange format for NEuroscience (NineML) as the specification
matures. In the absence of a common framework to combine model
components specified in different formats, the end user has to put
significant effort in developing composite models and such models
remain non-standard. However, as simulating composite models out of
existing ones becomes easier, it will be important for the community
to find a way to integrate the existing standards for maximum
productivity. MOOSE is one of the first simulators with this
cross-scale capability, and provides a key test-bed for
implementations of multiscale model definition standards.