Skip to main content
NIHPA Author Manuscripts logoLink to NIHPA Author Manuscripts
. Author manuscript; available in PMC: 2011 Jun 1.
Published in final edited form as: Methods. 2010 Jan 22;51(2):251–256. doi: 10.1016/j.ymeth.2010.01.021

Stochastic Simulation and Graphic Visualization of Mitotic Processes

Melissa K Gardner 1, David J Odde 1,
PMCID: PMC2884048  NIHMSID: NIHMS172327  PMID: 20096783

Abstract

Computational modeling can be extremely useful in interpreting experimental results. Here we describe how a relatively sophisticated stochastic model for microtubule dynamic instability in the mitotic spindle can be developed starting with straightforward rules and simple programming code. Once this model is developed, the method for comparing simulation results to experimental data must be carefully considered. The ultimate utility of any computational model relies on its predictive power and the ability to assist in designing new experiments. We describe how “deconstructing” the model through the use of quantitative animations contributes to a better qualitative understanding of model behavior. By extracting key qualitative elements of the model in this fashion, model predictions and new experiments can be more easily extracted from model results.

Microtubule Dynamics in the Mitotic Spindle

Proper chromosome segregation during mitosis requires precise regulation of proteins within the mitotic spindle. The alignment of chromosomes at the spindle equator during mitosis, as well as their subsequent segregation to opposite poles during anaphase, depends on the attachment of chromosomes to dynamic microtubule plus-ends. Thus, dynamic microtubule (MT) plus-ends coordinate the motion of chromosomes throughout mitosis. Through Green Fluorescent Protein tagging and fluorescence imaging, it is possible to image MTs, chromosomes, and the kinetochores that link MT plus-ends to chromosomes (1). Although metaphase chromosomes in some organisms appear to be statically positioned at the spindle equator, it is clear from laser photobleaching experiments that MT plus-ends remain dynamic, with their component αβ tubulin subunits turning over rapidly (2-4). Therefore, a central question in mitosis is how MTs can remain dynamic, with rapid turnover of their component subunits, while their length is regulated such that the chromosome positions remain relatively static, aligned around the spindle equator during metaphase.

In pursuit of this question, sophisticated genetic techniques can be used to perturb microtubule-associated proteins. In many cases, mutating, depleting, or overexpressing microtubule-associated proteins results in perturbation of chromosome alignment at the spindle equator (5-8). These experiments provide clues regarding the identity of the proteins that may be important in regulating the length of MTs to establish chromosome positions at the spindle equator during metaphase, but the chromosome misalignment phenotypes do not provide direct evidence regarding the exact nature of microtubule dynamics in the spindle and how these dynamics may be regulated by microtubule-associated proteins.

Computational simulation of dynamic microtubule plus-ends can thus be used as a framework to develop a physically realistic model for how microtubule dynamics are regulated by microtubule-associated proteins. In order to simulate the behavior of any dynamic component in the cell, specific rules governing the behavior of the cellular component must be established. These rules may be based on physical constraints within the cell or cellular component (e.g., mass or energy balances), or can simply be defined based on phenomenological observations. In the case of microtubules, the dynamic behavior at MT plus-ends has been described based on in vitro experiments, and is termed “dynamic instability.” (9)

Dynamic instability behavior at the tips of dynamic microtubules is characterized by random switching between growth phases and shortening phases. Specifically, MT tips will tend to grow at a constant velocity (Vg) until the growing MT tip suddenly and stochastically stops growing and begins to shorten. This transition is termed a “catastrophe” event, which is characterized by the frequency of occurrence, or the “catastrophe frequency” (kc). Once a MT tip has a catastrophe event, the MT tip will then tend to shorten at a constant velocity (Vs) until the growing MT tip suddenly and stochastically stops shortening and begins to grow again. This second transition is termed a “rescue” event, and its frequency is defined as a “rescue frequency” (kr). Thus, four parameters - Vg, Vs, kc, and kr, - can completely define the dynamic instability behavior at microtubule tips. In addition, by understanding how these parameters are regulated, it is possible to develop a physically realistic model for how dynamic instability at MT tips may be regulated by microtubule-associated proteins.

Stochastic Simulation of Microtubule Dynamics

Quantitative modeling can be used to provide a framework for understanding how the parameters of dynamic instability as described above could be regulated to control the length of microtubules during mitosis. Therefore, it is useful to understand specifically how stochastic simulation code could be written to incorporate the parameters of dynamic instability and thus predict the resulting average microtubule length. The term “stochastic” implies that the simulation will reproduce both the mean and the standard deviation of microtubule lengths, such that the experimentally observed variation between individual microtubule lengths will be an integral part of the simulation. One method to accomplish this goal is via “Monte Carlo” modeling, which incorporates random noise into an otherwise deterministic simulation through the use of a random number generator (10-12). A description for how the Monte Carlo method is used to simulate microtubule dynamic instability is as follows.

  1. Both for scalability of the final program to larger numbers of microtubules, and to keep track of microtubule properties such as length, position, state, etc, it is advisable to establish a data structure to keep track of microtubules in the simulation. Although there are a variety of programming languages that could be used to simulate microtubules, the code shown here is compatible with MATLAB programming language. Note that the syntax will vary depending on the selected programming language. Therefore, in MATLAB a microtubule data structure would be established for one microtubule as follows. Note that text after the “%” sign is simply for commenting and annotation. In addition, see Fig. 1A for a depiction of the coordinate system used in this programming code.

    • Microtubule(1).length=XX %starting length of microtubule μm

    • Microtubule(1).state=0 %starting state(0=growing, 1=shortening)

    • Microtubule(1).pole=0 %spindle pole attach side (0=left; 1=right)

    • Microtubule(1).ypos=XX %y-coordinate pole attach point

    • Microtubule(1).zpos=XX %z-coordinate pole attach point

  2. Then, constant values for the parameters of dynamic instability need to be established, as follows:

    • Vg=2 %growth velocity in μm/min

    • Vs=2 %shortening velocity in μm/min

    • kc=15 %catastrophe frequency in min-1

    • kr=15 %rescue frequency in min-1

  3. In addition, a value for the spindle length itself must be established, so that boundary conditions can be imposed on the growth of microtubules:

    • Spindle_length=2 %spindle length in μm

  4. Finally, the time step and simulation duration need to be established. The time step is an important simulation parameter. To prevent convergence of the simulation to an incorrect value, the time step must be small enough to ensure that both catastrophe and rescue events are rare (<10% probability).

    • Duration=20 %duration in minutes

    • Tau = 0.0002 %time step in minutes

  5. Now the dynamic instability of a single microtubule attached to one pole in a spindle can be simulated via the Monte Carlo method. Following are descriptions of core code lines that are used to simulate the dynamic instability of microtubules:

    For a growing MT, the code to increase MT length from time step #1 to time step #2 is:

    • Microtubule.length(2) = Microtubule.length(1) + Vg*Tau

    For a shortening MT, the code to decrease MT length from time step #1 to time step #2 is:

    • Microtubule.length(2) = Microtubule.length(1) - Vs*Tau

    Transitions between states are calculated by converting the frequency of transitions into a probability according to a first-order process, as follows:

    For rescue:

    • Pr_rescue = 1-exp(-kr*Tau)

    For catastrophe:

    • Pr_catastrophe = 1-exp(-kc*Tau)

    Then, a uniformly distributed random number between 0 and 1 is generated to determine whether or not a transition occurs. In MATLAB, this is a built-in function called “rand”, so:

    • Test_transition = rand

    A transition will occur if the transition probability is less than Test_transition.

  6. All of the above described code is put together in a logical order in time, such that at each time step a growing microtubule will add length and then decide whether a catastrophe occurs, while a shortening microtubule will lose length and then decide whether a rescue occurs. All code is put into a “ for” loop, which allows for repetition of all code until the simulation duration is complete. Thus, the following is a sample of complete code for simulation of one dynamic microtubule over the duration of time duration.

    • for i = 1 : duration/Tau

      • if Microtubule.state==0 %Microtubule is growing

        • Microtubule.length(i+1) = Microtubule.length(i)+ Vg*Tau

        • Pr_catastrophe = 1-exp(-kc*Tau) %Probability of catastrophe

        • Test_transition = rand %calculate uniform random number

          • if Pr_catastrophe < rand %is pr less than random number?

            • Microtubule.state=1 %Microtubule shortening next step

          • end

      • else %Microtubule state is shortening

        • Microtubule.length(i+1) = Microtubule.length(i) - Vs*Tau

          • Pr_rescue = 1-exp(-kr*Tau) %Probability of catastrophe

          • Test_transition = rand %calculate uniform random number

            • if Pr_rescue < rand %is pr less than random number?

              • Microtubule.state=0 %Microtubule growing next step

            • end

      • end

    • end

Figure 1.

Figure 1

Simulation of Microtubule Dynamics in the mitotic spindle. (A) A typical animated output of simulated spindle microtubule dynamics. The coordinate system for assignment of microtubules to spindle locations (y-z planes) and for quantification of spindle microtubule length (x axis) is shown in the lower left. (B) With equal catastrophe (kc) and rescue (kr) frequency, simulations of spindle microtubule dynamics result in a uniform distribution of microtubule lengths in the spindle. (C) Spatial regulation of kr and kc controls the mean length of microtubules in the spindle. In this simulation, the most frequent microtubule length is at spindle position ∼0.22.

Boundary Conditions

The above described code allows for stochastic growth and shortening phases of microtubule growth, thus simulating dynamic instability behavior at a cellular-level scale according to the parameters of dynamic instability that are defined within the computer program. Thus, at the completion of the program, the microtubule will achieve a final length that will vary each time the computer program is run. However, the program as written above places no constraints on the final length of simulated microtubules – microtubules could grow very long, or even achieve a negative length that has no physical corollary. To prevent physically unreasonable simulated microtubule lengths, it is advisable to place “boundary conditions” within the mitotic spindle simulation (13, 14). For example, if a microtubule depolymerizes to zero length, it will not depolymerize further, and a reasonable rule would be that the microtubule would then switch back to a polymerizing state. Code to establish this boundary condition would be placed at the start of each time step, and could be written as follows:

  • if Microtubule.length(i)<= 0;

    • Microtubule.length(i) = 0;

    • Microtubule.state=0 %Microtubule switch to growing state

  • end

Similarly, it may be advisable to limit the longest length of each microtubule. If microtubules are not generally experimentally observed to be longer than the length of the spindle, one suggestion would be to limit the maximum microtubule length to be the length of the spindle, as follows.

  • if Microtubule.length(i)>= Spindle_length;

    • Microtubule.length(i) = Spindle_length;

    • Microtubule.state=1 %Microtubule switch to shortening state

  • end

Scale-up to multiple microtubules

In general, multiple microtubules will be simulated for a given mitotic spindle. For example, in budding yeast there are ∼16 kinetochore microtubules attached to each pole. Once a data structure is established as described above, it is straightforward to scale up the simulation for multiple microtubules. Following is an example of code to scale the simulation up to 16 microtubules. To establish initial conditions:

  • for mt_numb = 1 : 16

    • Microtubule(mt_numb).length(i)=XX %starting length of microtubule μm

    • Microtubule(mt_numb).state=0 %starting state(0=growing, 1=shortening)

    • Microtubule(mt_numb).pole=0 %spindle pole attach side (0=lft; 1=rht)

    • Microtubule(mt_numb).ypos=XX %y-coordinate pole attach point

    • Microtubule(mt_numb).zpos=XX %z-coordinate pole attach point

  • end

To run a simulation:

  • for i = 1 : duration/Tau

    • for mt_numb = 1 : 16

      • .

      • <Code here as described in above sections, substituting Microtubule(mt_numb).XXX for Microtubule.XXX in all instances>

      • .

    • end

  • end

Models for the Spatial Regulation of Dynamic Instability

The MATLAB code as described above simulates the length progression in time of microtubules attached to a pole in the mitotic spindle. This code is based on the four parameters of dynamic instability, and the values of these parameters can be varied in simulation to better understand their effect on the length distribution of microtubules in the mitotic spindle. Because this is a stochastic simulation, replicates of the simulation for each parameter set should be run so that both a mean and a standard deviation for microtubule lengths can be calculated. Note that because of the randomness introduced into the simulation via the Monte-Carlo technique, the results from a single run can be misleading. In our previous work, we found that for constant and equal parameters of dynamic instability (ie, Vg=Vs, and kc=kr), the microtubule plus-ends exhibit a random walk along the length of the spindle, such that there is no bias of the MTs towards net growth or shortening (Fig 1B)(15, 16). In this case, given a large number of simulations, the mean length of microtubules will be approximately half of the spindle length, with a relatively large standard deviation. An interesting question is then to explore how microtubule dynamics may be regulated in vivo to result in the relatively precise congression of chromosomes that is observed during metaphase in many organisms. One way that microtubule dynamics may be regulated is if one or more parameters of dynamic instability were spatially regulated within the mitotic spindle. For example, microtubule dynamics may change as a function of microtubule length, which would narrow the distribution of lengths (5, 6, 8, 17, 18). Conversely, microtubule dynamics could be regulated as a function of distance away from a spindle pole or the spindle equator, as in a polar ejection force model, or regulated via a spatial concentration or phosphorylation gradient of a molecule that regulates microtubule dynamics, such as Op18/stathmin or Ran-GTP (19-22). The mathematical form for how a given parameter of dynamic instability varies spatially within the mitotic spindle could be simple or complex, depending on the assumptions made in building the model (16, 23-25). In the example code provided below, it is assumed that the catastrophe frequency (kc) varies linearly as a function of the length of the microtubule, while the remainder of the dynamic instability parameters remain constant. In this example, it is assumed that kc=0.25 min-1 when a microtubule length = 0 μm, and that kc increases linearly as a function of microtubule length with slope 30 μm-1min-1. Therefore, kc varies spatially as a function of microtubule length according to kc = 30l + 0.25, where l is microtubule length in μm. Using this function, the code for calculating catastrophe frequency would be as follows at each time step:

  • kc = ((Microtubule(mt_numb).length(i))*30) + 0.25

and, as before:

  • Pr_catastrophe = 1-exp(-kc*Tau) %Probability of catastrophe

  • Test_transition = rand %generate random number between 0 and 1

  • if Pr_catastrophe < rand %is pr less than random number?

    • Microtubule(mt.numb).state=1 %Microtubule shortening next step

  • end

By spatially varying catastrophe frequency, MT ends do not exhibit a random walk along the length of the spindle, but rather are attracted to the specific points within the spindle where kc=kr (i.e., points where catastrophe frequency is balanced by rescue frequency, so there is no drive towards net growth or shortening). This type of situation is illustrated in Fig. 1C, where both catastrophe and rescue frequency vary spatially along the length of the spindle, and the most likely microtubule length is at spindle position 0.22.

Thus, with the simple programming code described above, many different models for the regulation of microtubule dynamics within the spindle can be tested.

Reporting Results

The stochastic simulation described above results in a distribution of microtubule lengths at each time step in the simulation. Note that the starting values for the microtubule lengths (at time 0), may have no relation to the final steady-state length distribution, so it is important that a “warm-up” period is allowed to achieve steady-state prior to recording results. Once steady-state is achieved, the simulated mean microtubule length and standard deviation should remain constant, with no net trend upward or downward regardless of the simulation duration.

The simplest method to report results will be to calculate the average microtubule length and standard deviation at the end of the simulation. At the end of the simulation, all microtubule lengths can be recorded into a single array, as follows.

  • MT_lengths = [Microtubule(:).length(i)]

Here, the colon operator (:) selects all of the microtubules, and (i) represents the value at the last time point in the simulation (once the duration loop is complete). Similar to various other programming languages, MATLAB has built-in functions that will allow for calculation of statistics on the microtubule length array. Code for calculating the mean and standard deviation of the microtubule length array are as follows:

  • Average_MT_length = mean(MT_lengths)

  • Std_Dev_MT_length = std(MT_lengths)

In addition, a histogram can be generated to review the distribution of final microtubule lengths using the following lines of code.

  • figure;

  • hist(MT_lengths)

An example of a typical histogram output from MATLAB is shown in Fig. 2A.

Figure 2.

Figure 2

Methods for comparing simulation results to experiments. (A) Histograms showing microtubule lengths at the conclusion of MT dynamics simulations. In panes 1-3 are results for single runs with 16 kinetochore microtubules (kc=kr), while pane 4 shows results averaged over 200 runs with 16 kinetochore microtubules (kc=kr). (B) Model-convolution can be used to predict fluorescence distribution patterns for closely spaced fluorescent proteins.

Comparison to Experimental Results

Simulations of microtubule dynamic instability provide a framework for hypothesis testing to better understand how microtubule dynamics are regulated during mitosis. Using the simple programming code described above, different microtubule length distributions can be simulated according to various rules for the parameters of dynamic instability. Thus, by comparing the results of these simulations to experimental data, a better understanding of in vivo microtubule dynamics is possible. An important step in this type of hypothesis testing is to devise an accurate method for comparing simulation results to in vivo experiments.

The ability to accurately and quantitatively compare simulation results to experimental results is a critical step in gaining new insights into cellular processes through modeling. Therefore, this step requires careful and creative thinking. In some systems, it is possible to directly measure microtubule lengths and length distributions via direct observation of fluorescent kinetochore and spindle pole proteins (8), although multiple attachments of microtubules to kinetochores may complicate this analysis. Another alternative is to use fluorescently tagged plus-end binding proteins, and/or to tag the microtubule lattice itself with fluorescent tubulin. Here, in vivo microtubule length distributions can be directly measured.

In budding yeast cells, the small size of the mitotic spindle combined with the high density of microtubules and kinetochores within the spindle leads to difficulties in resolving individual microtubules or kinetochores with fluorescence microscopy. In this case, we have developed a method termed “model-convolution” in which simulated images of fluorescent proteins are convolved with the experimentally measured microscope point spead function to allow for a direct quantitative comparison between simulated and experimental images (Fig. 2B)(1, 16). An ImageJ plug-in is available for performing this type of analysis on www.umn.edu/∼oddex002/.

Regardless of the approach, an essential component of hypothesis testing through computational modeling is the collection of high quality quantitative experimental data that can be directly compared to simulation results.

Deconstructing the Model: Graphic Visualization

Once a model is developed that can reproduce experimental results, the utility of the model lies in (1) providing an informative framework for better understanding experimental results, and (2) providing predictions that lead to further experiments for hypothesis and model testing. Although building a model is in itself an informative experience, the ultimate test of the model will be in its predictive power. We have found that, regardless of the model's success in matching experimental results, a key factor in the ultimate success of the modeling effort is the ability to “deconstruct” the model. By deconstructing the model, key parameters and rules in the model can be distinguished from less important factors. Importantly, how the parts of the system affect the overall process are better understood by directly observing model results upon perturbation of parameters or model assumptions. For example, by varying one parameter of dynamic instability (e.g., by varying the value of Vg from a low value to a very high value), the effect of this parameter on the overall MT length distribution is determined.

One powerful method for deconstructing a model is to develop a graphic visualization of the model results (Fig. 1A). By studying quantitative animations of model results, it is possible to directly observe the simulated interactions of model components, which leads to an improved understanding of how the model is working and can provide insights that will lead to new experiments. For example, by selecting parameters of dynamic instability that lead to long microtubules in the yeast spindle simulation described above, it is clear from simulation animations that experimental MT-associated fluorescence would be highest in the middle of the spindle due to an excess of microtubules from both poles crossing the spindle equator. Experiments with GFP-tubulin show that MT-associated fluorescence is low at the spindle equator, thus strongly suggesting that microtubules are short and do not frequently cross the spindle equator.

Although many programming languages have a built-in capability to allow for graphic visualization, we have found that the most efficient method for graphic rendering of our simulations is through the use of data visualization software that can interface with the numerical simulation output. One freely available shareware that is available for this purpose is OpenDX (www.openDX.org). To render animations using this software, text files are written during the spindle simulation that include the 3D locations of every object in the simulation (ie, spindle poles, microtubule subunits, kinetochores, etc) at selected time points in the simulation. In addition, a state variable is written to the text file that allows for further encoding of information into the final animation (eg, a 0 or 1 could be written to the text file for a given microtubule depending on whether the microtubule is in a growing or a shortening state). Once these files are written, they are read in by OpenDX and transformed into an animated movie (Fig 1A). The OpenDX software relies on a Graphical User Interface that allows the user to select built-in software components for animating objects. These built-in components are selected and then manually connected to create a program for animating results. The properties of each component can be modified by selecting the box, which brings up a menu of options for each. In general, OpenDX is a simple, free software with adequate help available for on-line training and debugging.

Conclusions

Stochastic computational modeling of mitotic processes allows for rigorous hypothesis testing and can be extremely useful in designing experiments. We demonstrate here that a relatively sophisticated stochastic model for microtubule dynamic instability within the mitotic spindle can be developed starting with simple rules and straightforward programming code. Once a model is developed, it is important that the model results are accurately compared to experimental results to assess the validity of the model. The ultimate test of the model's utility will be its predictive power and its effectiveness in generating new ideas for further experimentation. We have found that a qualitative understanding of the model behavior, or a “deconstruction” of the model results, is critical to this effort. Importantly, the insights gained from studying animated movies that are generated from quantitative simulations can be at least as informative as graphs and other quantitative measures in the effort to gain a better understanding of key aspects of a biological process.

Footnotes

Publisher's Disclaimer: This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting proof before it is published in its final citable form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.

References

RESOURCES