[Previous] [Up] [Next]
Go backward to Extracting Computational Results from Solution  
Go up to Progress Report on Work to Date  
Go forward to Physical Chemistry of DNA Binding  

The Mixture Mutagenesis Simulator  

Earlier (see this section) we briefly described the operation of our computer program for simulating mixture mutagenesis systems. Now we will delve more deeply into its design and the principles behind its operation. Complete code is given in an appendix.

The program is written in C and is designed to be straightforwardly written, well commented, and concise. The current version consists of 1400 lines of code. The high level call structure of the modules of our simulator is organized as shown below (see this figure).

  


          -----> read ----------------------
         /                                  \
  main --                 ----> print ------+-----> bases
         \               /                  /
          ------> sim ---                  /
                         \                /
                          ----> thermo ---
                                          \
                                           ------> tables
Figure 4 : Organization of CMM simulator.

Main is given the primary experimental parameters (annealing temperature, etc.) and calls the "read" routine which reads in the symbol encodings, oligo set, and initial strand from a file. It then calls sim, the core module, which repeatedly performs simulated PCR cycles, each consisting of a number of simulation "ticks." The print module is called to display results, and thermo is called to perform thermodynamic calculations on the dna sequences. Thermo uses several tables of thermodynamic parameters obtained from the literature. read, print, and thermo all use the "bases" module which specifies how DNA base sequences are represented in the simulator and printed.

On each "tick," the sim module computes a random typical thing that could happen to the template during one second of simulated time, in terms of which oligonucleotides in the mixture might become bound to, or unbound from, various sites on the template. We consider each possible site-oligo combination once per tick, on average. Using the known experimental conditions such as temperature and concentration, we compute for the given oligo-site combination what the probability is that the oligo will be bound to the site one second in the future, and then we update the state accordingly.

The accuracy of this approach assumes several things:

  1. The combined rate of oligo association and disassociation is large compared to 1 second. Otherwise situations where two oligos are competing for a given site would reach equilibrium more quickly in reality than they would in the simulator. This condition is easily ensured by keeping oligo concentrations below about 1 microMolar.
  2. No undesired side reactions are occurring among the free oligos or among template molecules. This can be fairly easily ensured by making no symbol encoding be complementary to any other, and by keeping the template molecule concentration very low. If this assumption is false it will be noticed because oligos will be seen to bind to both positive and negative templates.
  3. The theoretical models of DNA binding and the values of thermodynamic parameters obtained from the literature are accurate. They are actually somewhat uncertain, but we can compensate for the inaccuracy by being conservative in our oligo designs.
  4. No undesired secondary structures form, for example where a long piece of the template DNA is "looped out" in the middle of a mutagenic oligo fasted simultanously to two widely-separated parts of the template. We believe such structures to be fairly energetically unfavorable as they severely restrict the entropy of the template strand. Another example is when an oligo binds to itself to form a "hairpin" structure.
In general we believe that these assumptions are close enough to the truth that the basic results obtained from the simulation can be made to apply in reality with only small modifications. This basic premise can be enhanced by the consistent practice of conservative design when creating our oligos.

For computation of equilibrium constants for oligo binding we combine the models of Breslauer et al., Quartin & Wetmur, and Werntges et al.. For kinetic information, we use a version of Wetmur and Davidson's model [Wetmur-Davidson-68]. We will now go through the equations in detail.


- Michael P. Frank, September 12, 1995. Formatted using HyperLaTeX-1.3.

[Previous] [Up] [Next]