Team:Edinburgh/Genetic Instability


Genetic Instability Tool

Our project involves certain sequences of DNA being present in several copies on a plasmid. For example, to display three different enzymes on a cell via Ice Nucleation Protein (INP) requires three copies of the INP gene in the plasmid.

But there exists this thing called "genetic instability", and we wanted to know whether this made the whole project infeasible. (As it turns out, it doesn't.)


What is genetic instability?

When a lot of similar DNA sequences are introduced into a cell, this can potentially lead to those pieces of DNA undergoing recombination and thus rearranging the DNA. This will not be a problem in our lab strain of E. coli, JM109, as it lacks the RecA recombinase enzyme which causes this to happen. However, industry requires hardy strains of E. coli, which must possess recombinases to deal with their high-stress working environment.

So it initially seems as if the systems we are investigating could never be used in industry. But in fact there is a solution!

If only we had several different (as far apart as possible) DNA sequences coding for the same protein, the project would be saved! According to Watt et al (1985) even a small number of mismatches drastically reduce recombination frequency.

Enter Edinburgh's Genetic Stability Tool! Using DNA's natural property of redundancy, it will find a number of different DNA sequences for you! And they will code for the same protein! Superb!

So, how does it work?

Possible modes

Random generation

This is a very crude mode, in which a random sequence of codons coding for analogous amino acids is generated, e.g. if you had:

(the leader sequence for pVIII),

the program would translate it to amino acids sequence, i.e.:


and then find a random codon for each amino acid, put them together, and spit out the result.

If this sounds too simple to produce really good results... you're right!

Best codon

In this mode, the tool would choose the best codon per every amino acid. What is the 'best codon'? It's the codon which has the most base pairs different from the original one.

For example, Leucine can be coded by TTA, TTG, CTT, CTC, CTA, or CTG. If the original sequence uses TTA, then the best codon method would choose CTT, CTC or CTG. There often are plenty of 'best' codons, so this method would be improved if it looked at the wider context...

Genetic algorithm

This is a very powerful algorithm, inspired by Computer Scientists observing Biology. It represents a problem using a string of characters - i.e. the 'DNA', then solutions are 'individuals', there are many of them in a 'generation', and they 'cross-over' and 'mutate' their 'genes' at some randomised rate. The most 'fit' individuals get into the next generation.

A genetic algorithm is evolution in silico! It's perfect for use in Biology!

We can use this algorithm to generate DNA sequences which are as far from the original as possible. In this mode, the tool also avoids heavy use of rare codons. And, it can return more than one sequence of DNA, which are also far from each other.

What follows are 200 bases of two synthetic versions of BBa_K265008 which are both dissimilar to it, as well as being dissimilar to each other. They also avoid using rare codons very often. These sequences were produced by the genetic algorithm.

Alpha    1  atgaccctggacaaagcgctggtgctgcgtacctgcgccaacaacatggc   50
Beta     1  atgaccctggataaagctctggtcctgcgtacgtgcgcgaacaacatggc   50

Alpha   51  agatcactgcggtctgatttggccggcctctggcaccgtagagtcccgtt  100
Beta    51  tgaccactgcggcctgatctggccggcaagcggcactgttgaatctcgtt  100

Alpha  101  actggcagagcactcgtcgtcatgaaaacggtctggttggcctgctgtgg  150
Beta   101  actggcaatcgacccgtcgtcacgaaaacggtcttgtgggtctgctctgg  150

Alpha  151  ggcgcgggtacttcggccttcttatctgtccatgctgacgcgcgttggat  200
Beta   151  ggtgcaggcaccagcgcattcctgtcggttcatgcggatgcgcgctggat  200


Using this tool we have shown that systems requiring multiple copies of a coding sequence can still be suitable for industrial use; recombination can be avoided by synthesising multiple different DNA sequences that code for the same protein.


You can download the all-new all-shiny tool here:

Python logo
Team Edinburgh Genetic Stability Tool, v.0.1 Alpha Americano

To use, simply unpack, and run the in python. Any questions?

  • Drop us a line on Twitter, or
  • E-mail: L (dot) Kopec (at) sms (dot) ed (dot) ac (dot) uk