Meredys

Category Cross-Omics>Agent-Based Modeling/Simulation/Tools

Abstract Meredys (MEsoscopic REaction DYnamics Simulator) is a stochastic, particle-based software system designed to simulate reaction-diffusion systems at the mesoscopic level. Molecular composition and states are maintained for each simulated molecular species within the simulation.

The random walk algorithm effectively models the molecular diffusion of molecular species in two- and three-dimensions. The random walk is influenced by the diffusion landscape the moving cluster operates in. The membrane diffusion landscape can further be subdivided into domains such as the extra-synaptic or synaptic membrane.

Meredys offers algorithms for simulating uni-molecular reactions, such as receptor-channel state changes, and bimolecular reactions, such as ligand binding reactions, as well as Zeroth-order reactions to model creation processes without the need to fully specify all of the entities involved in the creation process.

In the case of binding reactions between two molecular species, Meredys allows for the control of the geometry of the interaction. Additionally, interacting partners maintain their identities throughout the interaction.

Networks with over 4,000 components have been simulated using Meredys. Run-time is highly dependent on the compute power, number of molecules involved in the simulation and number of interactions the molecules can undergo.

The input to the software is a model of a reaction diffusion system encoded in a Meredys-specific implementation of the NeuroML model description language.

NeuroML - NeuroML is a model description language which is built on a number of key concepts commonly used in biophysically detailed computational neuroscience modeling (neuronal morphologies, ion channels, and synaptic connections) and provides a way to represent these entities in a structured language which can be used by applications which also deal with these physiological entities.

The specification includes entries for molecule geometry and position, feature states of molecular entities, position of reaction sites, as well as types of reactions occurring and the biophysical properties of the diffusion landscapes. During a simulation, the software implements a Brownian Dynamics algorithm to simulate the evolution of the system through time.

According to the manufacturers, a feature which sets Meredys apart from other particle-based simulation software such as MCell - (see G6G Abstract Number 20620) and Smoldyn - (see G6G Abstract Number 20619) is Meredys’ multi-component, multi-state feature clusters.

Many biological entities form large, interacting multi-component clusters.

Meredys’ multi-component cluster formation allows for the identification and tracking of specific members of the clusters during the whole of the simulation.

Meredys Implementation -- Meredys simulations take place in a confined space called the simulation volume, a cube whose side length is defined by the user. The position of any molecular species within the simulation volume is given as a 3-component position vector relative to the centre of the simulation volume. After initialization, the software enters a cycle of iterations.

The Brownian dynamics engine works by dividing time into small, equal time steps. The time evolution of the system occurs by iteration of these time steps. The Meredys algorithm executes a sequence of procedures at each iteration cycle.

The algorithms employed at each step of an iteration cycle include algorithms for random walks of molecules, Zeroth-order, uni-molecular and bi-molecular reactions, including bonding reactions, and execution of user defined events. Movement of molecules takes place in specific diffusion environments, called diffusion landscapes, which determine the diffusive behavior of molecules.

In order to speed up run time, Meredys omits iterations during which No molecular movement, reaction or event takes place, effectively jumping ahead to the next iteration containing any of these actions.

The program allows for various different types of output options including information displayed as text to file or console and visual information rendered to the screen during run-time or captured as set of image files.

The type of output, as well as the information to be output is defined in NeuroML input file.

Meredys Random Number Generation -- The Monte Carlo methods used in Meredys for the simulation of molecular diffusion and some of the reaction algorithms require a large number of (pseudo-) random numbers to be generated by the program. All random number generation in Meredys is handled by the Randomizer class, which in turn contains the Random class supplied by the Java Development Kit (JDK).

The JDK Random class allows for the creation of a random number generator seeded with a user-supplied value, thus enabling the repetition of the generation of a sequence of random numbers. The JDK Random class uses a linear congruential formula to modify the seed value and create the sequence of random numbers.

Meredys gives the user a choice of two (2) approaches for random number generation.

Firstly, all the random numbers can be generated when required at run time. Alternatively, the software can pre-compute two list of 250,000 random numbers (one uniformly distributed single-precision floating point values, the other Gaussian distributed double-precision floating point values), and reuse these lists with replacement and shuffling, during program execution.

Meredys Voxels -- A bi-molecular reaction between two reacting partners’ proceeds if the reacting partners are separated by a distance equal to or less than their binding radius by the end of the movement step of the iteration cycle. Each reaction site must therefore query all its possible partner sites for their position in the system volume, and determines the distance between them.

The program pre-computes all the possible binding radii at program initialization and checks against the user defined voxel size. If the voxel size is larger than the largest binding radius, the program divides the system volume into the appropriate number of voxels.

Otherwise the user is asked to define a larger voxel size. A large number of voxels speeds up the simulation run-time at the expense of computer memory.

Meredys Clusters/Diffusion -- The final member of the component hierarchy of the objects used in Meredys is the cluster. Clusters are the run-time instantiations of one or more entities. Entities which undergo binding reactions are considered part of the same cluster.

Clusters are the software objects which diffuse through the simulation volume at each time step. The diffusion properties of the cluster are determined by the particles composing the cluster’s entities. Each particle belongs to a specific diffusion landscape. An entity then contains a set of diffusion landscapes composed of the diffusion landscapes of all the entity’s child particles.

A cluster, in turn, contains a set of diffusion landscapes constructed from the union of the sets of its child entities. The diffusion landscape which determines the cluster’s diffusion properties is the most limiting landscape from the set of landscapes. Currently there are five (5) landscapes to choose from: unrestricted, membrane, above membrane, below membrane, and static.

Meredys Boundary interaction -- Simulations take place in a simulation volume of user defined size delimited by the simulation volume boundaries. Additionally, specific membrane domains can be described which are separated from the canonical membrane environment by user-defined boundaries.

As a consequence, types of behavior need to be specified to resolve interaction of diffusing clusters with the available boundaries. There are four (4) types of boundary interactions that can be simulated: Open, absorbing, periodic, and reflective. Boundary interactions are invoked whenever a cluster crosses the boundary.

Meredys Reactions -- Meredys is capable of simulating Zeroth-order reactions, uni-molecular reactions and bi-molecular reactions. Reactions involving three (3) reacting partners simultaneously, tertiary reactions cannot be simulated.

Meredys Molecular States -- Many biological molecules can assume different states. Common examples include post-translational modifications (PTMs), ligand occupation or conformation states. These states often influence the molecules overall biophysical properties, including the reactions the molecule partakes in.

At times, a modeler would like to keep track of a molecules different state but still maintain the identity of the original molecule; that is, avoid creating new entities every time a state change occurs. Meredys supports this concept, by allowing user defined feature states for simulation entities.

An entity’s state can have a direct effect on the reaction probability of any reaction the entity is capable of undergoing. Equally, any reaction the molecule undergoes can effect a state change. An entity’s states are defined by describing a particular entity feature, such as channel gating, or phosphorylation site, and an enumeration of the possible states the feature can assume.

Meredys Events -- Sometimes the spontaneous creation through the zero order reaction mechanism is Not sufficient for the addition of new entities. It is possible to load pre-defined entities directly into the simulation at a given time point. These non-movement and non-reaction occurrences are termed events and can be specified within the input XML file.

Meredys Output -- Output is described in the NeuroML output class. This class defines for which entity one wants output, at what time points this output is created and what kind of output to produce. The options are position, orientation, feature state and entity count.

Output is printed whenever the iteration step number is evenly divisible by the number given in the time-points attribute. Output is only printed if an iteration step is executed.

The format is text with each line showing one cluster - entities user ids as well as internal entity unique identifiers of entities belonging to the cluster are given. In addition the position, orientation or feature states are given, if specified as output by the user. Simple text output allows the data to be further analyzed by user created scripts.

System Requirements

Contact manufacturer.

Manufacturer

Manufacturer Web Site Meredys

Price Contact manufacturer.

G6G Abstract Number 20636

G6G Manufacturer Number 104235