The first system we tested was the complementary version of the system
for patterning a DNA strand with "1 2 1 2", described
earlier. The file shown below (see this figure) specifies the oligos
making up this system.
Explanation of the file format: lines beginning with "#" are
comments. Lines beginning with ":" are symbol definitions,
which can use previously-defined symbols. Other nonempty lines
specify DNA strands, the first being the initial template and the rest
being the set of mutagenic oligos. A symbol name preceded by
"!" denotes the reverse complement of the given symbol. All
strands are given in 5' to 3' order unless otherwise indicated.
#---------------------------------------------------------------------- # Random primers. :prim1 CCGCGGGCGGCG :prim2 GGCGCCCGGCGG # Restriction recognition sites. # '1' :XhoI CTCGAG # '0' X X :SalI GTCGAC # '2' X X :NgoMI GCCGGC # Left and right framers. :Lf TGA :Rf AAC # Symbol encodings. :1 Lf XhoI Rf :0 Lf SalI Rf :2 Lf NgoMI Rf # Initial strand. 3'- !prim1 !1 !0 !0 !0 prim2 -5' # Primers. prim1 prim2 # Rewriting oligos. 5'-- 1 2 ->3' 3'<- !2 !1 --5' #----------------------------------------------------------------------
Figure 7 : Code for complementary version of 1-2 counter machine. The file format is explained in the text.
Unfortunately, although the above system functions fine in the simulator, it violates one of the accuracy assumptions in that the mutagenic oligos will bind to each other, resulting in a reduction in the number of free mutagenic oligos available for binding to the templates, and also resulting in the formation of side products. However, the latter effect can be compensated for by increasing the concentration of oligos, and we may not care about the side products. So this is an experiment we may actually perform, and it is worth demonstrating in simulation.
Below is the actual output of the simulator running this machine. The output consists of sections showing which oligos are incorporated into the new strand produced at each step, interspersed with occasional displays of the complete binding profile showing all the places where oligos have a high probability of binding. In each profile, binders above .01 probability are displayed in order from most to least probable, along with the change in standard Gibbs free energy for that binding event (DeltaG0 in kcal/mol), the corresponding equilibrium constant for the binding reaction (this is the inverse of the Molar concentration of oligo needed to achieve 50% chance of binding), and the resulting probability of binding at the simulated concentration, assuming no other competitors. The best binder below .01 probability is also displayed.
The conditions for this run are:
Annealing temperature: 303.15 K (30 C) Concentration of each oligo: 1e-7 Molar Time for annealing phase: 10 minutes
1 2" oligo is the
only one with a significant probability of binding, and it can only
bind to the "1 0" sequence of the template, with which it has
two mismatches. The binding probability at equilibrium approaches
certainty. The next runner-up is for it to bind to a "0 0"
sequence, but this pairing has four mismatches, and the probability of
attaching there is calculated to be less than one in a million.
Next the first cycle is simulated, and indeed, the desired event
happens. The resulting template is the complement of the original,
except with a "2" replacing the first "0." Now we
are ready for cycle 2, and we display a profile of the binders to the
new template. Again, the desired reaction is the only one possible.
(Note that the template is always shown in 3' to 5' order for
consistency, and thus it is turned around here, relative to the
previous profile.)
We proceed to simulate several more steps. Note that on step 3 a perfectly-matched oligo binds in addition to the mismatched one. This is unproblematic. At this point all zeros have been changed to ones or twos. We do one more cycle for good measure, and we are done.
----------------------------------------------------------------------
sim complement3.olig -T 30 -n -t 600
Parameters: file = complement3.olig, T = 303.15, c = 1e-07, t = 600,
p = 0, s = 796557526
Command: ?
[!prim1 ][!1 ][!0 ][!0 ][!0 ][prim2 ]
3'-GGCGCCCGCCGCACTGAGCTCTTGACTCAGCTGTTGACTCAGCTGTTGACTCAGCTGTTGGGCGGCCCGCGG-5'
:::::::::::: DG0 = -22.8233
5'-CCGCGGGCGGCG-3' k = 2.90848e+16
[prim1 ] p = 1.000000
::::::::::::::::X::X:::: DG0 = -14.1205
5'-TGACTCGAGAACTGAGCCGGCAAC-3' k = 1.53405e+10
[1 ][2 ] p = 0.999349
Below .01 probability of binding:
:::X::::X:::::::X::X:::: DG0 = -0.280819
5'-TGACTCGAGAACTGAGCCGGCAAC-3' k = 1.5943
[1 ][2 ] p = 0.000000
Command:
Cycle = 1, time = 10:00, temp = 30.00.
[prim1 ][1 ][2 ]
CCGCGGGCGGCGTGACTCGAGAACTGAGCCGGCAAC
::::::::::::::::::::::::::::X::X::::
GGCGCCCGCCGCACTGAGCTCTTGACTCAGCTGTTGACTCAGCTGTTGACTCAGCTGTTGGGCGGCCCGCGG
[!prim1 ][!1 ][!0 ][!0 ][!0 ][prim2 ]
Command: ?
[!prim2 ][0 ][0 ][2 ][1 ][prim1 ]
3'-CCGCGGGCCGCCCAACAGCTGAGTCAACAGCTGAGTCAACGGCCGAGTCAAGAGCTCAGTGCGGCGGGCGCC-5'
:::::::::::: DG0 = -22.0749
5'-GGCGCCCGGCGG-3' k = 8.3905e+15
[prim2 ] p = 1.000000
:::X::::X::::::::::::::: DG0 = -16.5651
5'-GTTCTCGAGTCAGTTGCCGGCTCA-3' k = 8.89838e+11
[!1 ][!2 ] p = 0.999989
Below .01 probability of binding:
:::X::::X:::::::X::X:::: DG0 = 0.230359
5'-GTTCTCGAGTCAGTTGCCGGCTCA-3' k = 0.682072
[!1 ][!2 ] p = 0.000000
Command:
Cycle = 2, time = 10:00, temp = 30.00.
[prim2 ] [!1 ][!2 ]
GGCGCCCGGCGG GTTCTCGAGTCAGTTGCCGGCTCA
:::::::::::: :::X::::X:::::::::::::::
CCGCGGGCCGCCCAACAGCTGAGTCAACAGCTGAGTCAACGGCCGAGTCAAGAGCTCAGTGCGGCGGGCGCC
[!prim2 ][0 ][0 ][2 ][1 ][prim1 ]
Command:
Cycle = 3, time = 10:00, temp = 30.00.
[prim1 ][1 ][2 ][1 ][2 ]
CCGCGGGCGGCGTGACTCGAGAACTGAGCCGGCAACTGACTCGAGAACTGAGCCGGCAAC
::::::::::::::::::::::::::::::::::::::::::::::::::::X::X::::
GGCGCCCGCCGCACTGAGCTCTTGACTCGGCCGTTGACTGAGCTCTTGACTCAGCTGTTGGGCGGCCCGCGG
[!prim1 ][!1 ][!2 ][!1 ][!0 ][prim2 ]
Command:
Cycle = 4, time = 10:00, temp = 30.00.
[prim2 ] [!1 ][!2 ]
GGCGCCCGGCGG GTTCTCGAGTCAGTTGCCGGCTCA
:::::::::::: ::::::::::::::::::::::::
CCGCGGGCCGCCCAACGGCCGAGTCAAGAGCTCAGTCAACGGCCGAGTCAAGAGCTCAGTGCGGCGGGCGCC
[!prim2 ][2 ][1 ][2 ][1 ][prim1 ]
----------------------------------------------------------------------