Home     Screenshots     Downloads     Help Manual     Contact

 

SimCell Help

1. Introduction
2. Create
    2.1 Objects
  2.1.1 Membrane
  2.1.2 DNA
  2.1.3 Gene
  2.1.4 Protein
  2.1.5 Membrane Protein
  2.1.6 Small Molecule
    2.2 Interactions
  2.2.1 Transport
  2.2.2 Bind and Stick
  2.2.3 Touch and Go
    2.3 Others
3. Menu
  2.1.1 File
  2.1.2 Edit
  2.1.3 Run
  2.1.4 Help
4. Simulator
    4.1 Screenshot
    4.2 Graph
    4.3 Region Graphing

 

Simulator

SimCell’s simulation viewer is essentially a computer movie generator.  It simply displays the 2D mesoscale dynamics of the model as calculated using SimCell’s DCA algorithm. For the most part a DCA simulation looks like a series of multicolored objects moving randomly about, with some disappearing and appearing.  The simulation viewer can also display multi-color line graphs of molecular species as their quantities change over time.  Information on quantities, spatial positions, state and time can also be saved as a flat file for more detailed analysis at a later time.  The simulation viewer, also allows a simulation to be stopped and rerun at any given time.  Alternately, a simulation may be stopped, the starting model edited (with the model rendering tool), and then a completely new simulation launched.  For very large and complex simulations, the graphical rendering option may be turned off to accelerate the overall computational speed.  Because each model generated by SimCell’s model rendering tool has a unique random number associated with it, every time the model is run the same “movie” will be regenerated.  In other words, all simulations can be replayed at any time, on any computer without any loss of information.  The use of a random number seed avoids the need to store great quantities of positional and temporal data for every simulation. 

The dynamics seen in SimCell’s simulation viewer are generated through global movement cycles calculated by a DCA algorithm.  Each movement cycle involves up to 8 steps or checks on that are performed on every molecule in the system.  These include: a creation/decay state check, the assignment of random direction vector, a mobility check, a boundary check, a collision check, a movement step, a neighborhood check, and finally a neighbor interaction step.  During the creation/decay check, each molecule or class of molecules is queried to see if it has been assigned a non-zero creation or decay rate.  Those molecules having non-zero rates are then either added, disassociated or removed in a stochastic manner (+/- 10% error) relative to their assigned rates.  Specifically each molecule is given a probability of elimination (if it is a monomer) or dissociation (if it is a complex) based on the total number of molecules and associated rates for that class of molecules.  If the assigned probability exceeds a predetermined threshold, the molecule is either eliminated or disassociated.  In the disassociation process 2 daughter molecules are created from the parent molecule, with one staying in the parent square and the other being placed at least 1 (unoccupied) square away.   If the user has designated a creation rate for a particular group of molecules, molecules are added to unoccupied squares using the location and distribution rules initially assigned to that class of molecules.  More specifically, unoccupied squares in the simulation grid are assigned molecular creation probabilities based on the product of the user-designated creation rates (probabilities) and user-assigned spatial distributions. If the creation probability for a particular square for a particular class of molecules exceeds a predetermined threshold, a molecule belonging to that class is added to that square.

After the creation/decay calculations have been performed, individual molecular motion vectors are then assigned.  Specifically, each mobile molecule (protein/RNA, membrane protein, small molecule) in the lattice is given a random number between 1 and 9.  Numbers 1-8 designate movement to adjacent squares (N, S, E, W, NE, SE, NW and SW), while 9 means that the molecule remains in that square.  After the direction vectors have been assigned, a mobility check is run to deal with any membrane proteins in the system. The mobility checker determines whether the assigned movement vector will still keep the protein inside the membrane.  If not, the motion is disallowed and the protein stays put.  After the mobility check is run, a boundary check is performed.   In the boundary check, molecules are tested to see if they lie at the outer boundaries of the simulation grid.  SimCell uses periodic boundary conditions so that those molecules designated to move beyond a grid boundary will always appear back within the simulation frame, but on the opposite side of the grid.  During the boundary check, all mobile molecules at a given boundary are assigned information about the state and location of proximal molecules on the opposite boundary to where their direction vector is to take them. 

After the boundary check is completed, a collision detection step is performed on all mobile molecules except small molecules and membrane proteins.  The collision detector checks to see if the given molecule’s randomly chosen direction vector will send it to a square currently occupied by another molecule or another non-mobile entity such as a membrane or a DNA molecule.  If the properties assigned to that molecule allow it to co-occupy the chosen space (such as a small molecule or membrane protein) the movement is allowed.  If the properties assigned to that molecule do not allow it to co-occupy that space, then the move is disallowed (the direction vector is reassigned to 9) and the molecule remains stationary.  After collision detection has been done on all relevant molecules, the movement step is finally performed.  In the movement step, all molecules that can be moved are moved according to their assigned velocities (max. 5 nm/ms), movement rules and directions.  Molecules that have assigned velocities below 5 nm/ms are given a probability of moving corresponding to their fractional maximum speed. 

Once all the molecules on the grid have been moved, a neighborhood checking algorithm is run.  During the neighborhood checking step each molecule is queried to see if it is in contact with another molecule or entity with which it may interact.  Using the model’s interaction matrix and the assigned interaction rules, interaction operations are performed on that central molecule.  To simplify calculations, all neighbor checks are performed in a clockwise manner about the molecule of interest.  The interaction steps in SimCell are considered to be “instantaneous” and occur only after all molecules have completed their regular move steps.  If interactions have defined off/on rates or probabilities, random numbers are generated to determine if the interaction (binding, catalysis) is allowed to take place.  If no rates or probabilities are provided, the program assumes these interactions occur with 100% probability.  It is important to note that many interaction steps require relatively different molecular movements or grid manipulations.  For instance, if two molecules are allowed to bind to each other to create a third molecule, the exterior (small) molecule is merged into the central (protein) molecule and the new central molecule is assigned the properties of the third molecule.  If the two binding molecules are proteins, the same merging process is performed.  This molecular merging simplifies the movement calculations as the program does not have to track or render large protein complexes consisting of multiple squares. 

In the case of degradation or proteolysis, the surrounding molecule or molecules are eliminated, while the central molecule remains unchanged.  For enzymatic reactions, the surrounding molecules are transformed from substrate to products or vice versa – depending on the local substrate/product abundance and pre-assigned conversion probabilities or rate constants.  For transport interactions, the adjacent molecule or molecules are moved “instantaneously” across the membrane to the nearest free square on the opposite side of the membrane.  To model DNA binding or transcriptional activation/repression, the binding molecule remains stationary and attached to the DNA binding site for as long as the on/off rates require.  When the bound protein is released from the DNA, it is moved to the nearest free, non-adjacent square. 

It is only after all allowed interactions on all grid molecules have been performed that the next movement cycle in the simulation may be started.  Note that in SimCell, the movement and interaction steps for individual molecules or components are calculated over the grid using a left to right, top-down scanning protocol.  This iterative movement and state-updating process is repeated until the simulation is terminated – either interactively by the user or by specific limits placed on the program.

When SimCell is run on a moderately fast desk-top computer (1 GHz processor) with 256 MB of memory, the typical update or movement cycle for an averaged sized model (300 molecular entities, 10,000 squares) takes approximately 0.1 CPU seconds.  Since each cycle typically corresponds to 1 millisecond of “real” time inside the cell, this means that the DCA method allows simulations to be run with a fractional slow-down of just 100.  Additional temporal or spatial abstractions can sometimes allow DCA simulations to be run in real time (no slow-down).  Compared to standard molecular or Brownian dynamics calculations where fractional slow-downs of 1013 are typical [Karplus and McCammon, 2002; Shen and Freed, 2002], the DCA approach clearly provides a very significant speed-up.


 

 

    This allows the User to Hide or Show the Simulation Graphics as the Simulator is running

    This allows the User to adjust the speed of the Simulation

    This button starts/resumes the Simulation process

    This button brings up the Screenshot Window

    This button pauses the Simulation process

    This button quits the Simulation process

    This button brings up the Graph Window

    This button allows the user to highlight portions of the Simulation cell