Team:StanfordBrownSpelman/Modelling

From 2014.igem.org

Revision as of 17:09, 6 October 2014 by Ajl4 (Talk | contribs)

DoubleOptimizer: a utility for simultaneous codon optimization and optimization for gene synthesis

Background


Gene synthesis as a tool for biological engineering presents both opportunities and challenges. One opportunity presented is the ability to optimize codon usage in a gene to match that of a host organism. Compared to traditional cloning methods, this can increase protein yields in the host organism by several fold. However, while there exist a large number of freely-usable programs that perform codon optimization, there is no guarantee that the sequences these programs provide will be able to be synthesized. Specifically, in the case of genes with repetitive amino acid sequences, these programs will often generate outputs that contain too many repeated short DNA sequences to be synthesized commercially.

As an example, the hypothetical protein X777_06170 from the ant species Cerapachys biroi has an amino acid sequence that appears to be somewhat repetitive:

       1 mklfkclvpv vvlllikdss arpglirdfv ggtvgsilep fqilkpkdsy adanshasah
      61 nlggtfslgp vslggglssa sasssasang gglasasska daqaggygyg gsnanaqasa
     121 sanaqgggyg nggihgiypg qqgvhggnpf lggagsnana naiananaqa naggnngglg
     181 syggyqqggn ypidsstgpi gnnpflsggh gdgnanaaan anagasaign gggpidvnnp
     241 flhggaansg agginyqpgn aggiilsekp lglptiypgq hppayldsig spgansnaga
     301 napcsecgss gatilgyegq glggikesgs sgatilgyeg qglggikesg ssgatilgye
     361 gqglggikes gssgatilgs ydgqgpsgat ilgdyngqgl ggikessgvt vlgdyegqgl
     421 ggisgphggh gqaganagan ananagatvg ssggvlggvg dhggyhgyng hdgssglnlg
     481 gygggsnana qassnalass ggsssatsda lsnahssggs alanssskas angsgsanan
     541 ahassnassg shglgsktsa ssqasasadt rdmlifs

Note that this sequence is not simply the same sequence repeated multiple times, but instead contains several motifs on the order of 10 - 20 amino acids in length that occur several times. When this sequence was run through the codon optimization program for expression in E. coli provided by a major DNA synthesis firm, the resulting output could not be synthesized by the very same firm: the "optimized" DNA sequence contained too many recurring short (> 8 nucleotide) DNA sequences to allow for synthesis.

Manually correcting for repeats in the codon-optimized DNA sequence is a sub-optimal solution: not only is this process time-consuming, but it has the tendency to undo the codon-optimization: if a sequence of amino acids occurs several times, one may be forced to use all possible codon-combinations to represent this sequence to avoid nucleotide-sequence repetition. Unless corrected for by skewing codon usage elsewhere in the sequence, this will tend to make the codon usage more uniform than is optimal for the expression vector. Additionally, any changes made in either correcting for repeats or re-correcting for codon usage may in turn introduce additional repeats.

Solution: DoubleOptimizer


DoubleOptimizer is a software tool we have created to optimize codon usage in a gene both to match a given codon usage distribution and to avoid repetition of nucleotide sequences. Given a DNA or amino acid sequence and a desired codon distribution, DoubleOptimizer will produce, within a matter of minutes, an equivalent sequence that has substantially reduced DNA sequence repetition, while also closely matching the desired codon usage.


Availability and Usage

DoubleOptimizer may be downladed here. (Note: this link is not public yet, but it will be converted to public before Wiki Freeze Day.) 

DoubleOptimizer is a command line utility, provided as a Java jar file. It can be invoked from command line on any system with Java installed, with the following syntax:

      java -jar DoubleOptimizer.jar seq.txt codons.txt [Optional flags]

where "seq.txt" is a DNA sequence, stored as a plain text file, and "codons.txt" is a file containing the desired codon distribution to match. It should be formated as plain text, according to the flowing template:

      A
      GCG .36
      GCC .27
      GCA .21
      GCT .16
      R
      CGC .40
      CGT .38
      CGG .10
      CGA .06
      AGA .04
      AGG .02
      N
      AAC .55
      AAT .45
      D
      GAT .63
      GAC .37
      C
      TGC .55
      TGT .45
      E
      GAA .69
      GAG .31
      Q
      CAG .65
      CAA .35
      G
      GGC .40
      GGT .34
      GGG .15
      GGA .11
      H
      CAT .57
      CAC .43
      I
      ATT .51
      ATC .42
      ATA .07
      L
      CTG .50
      TTG .13
      TTA .13
      CTT .10
      CTC .10
      CTA .04
      K
      AAA .77
      AAG .23
      M
      ATG 1
      F
      TTT .57
      TTC .43
      P
      CCG .52
      CCA .19
      CCT .16
      CCC .12
      S
      AGC .28
      AGT .15
      TCG .15
      TCT .15
      TCC .15
      TCA .12
      *
      TAA .64
      TGA .29
      TAG .07
      T
      ACC .44
      ACG .27
      ACT .17
      ACA .13
      W
      TGG 1
      Y
      TAT .57
      TAC .43
      V
      GTG .37
      GTT .26
      GTC .22
      GTA .15

Performance data

  • To be added

References

  • To be added