Team:Imperial College London/Software


Software - Joint codon optimisation algorithm

We wanted the option of expressing the genes responsible for auxin production in both B. subtilis and E. coli. To achieve this, we decided to joint codon optimise the IaaM and IaaH coding sequences. We could not find any software to do this so wrote our own.

1. Background

The genetic code is redundant which means that multiple codons can encode the same amino acid. Synonymous codons are circumstantially decoded at different speeds. Codon usage also varies between different species. This phenomenon means that sequence optimisation can be used to tune protein expression levels. It is tempting to think that one could codon optimise a sequence by selectively using an organism’s preferred codons. This is commonly referred to as the "one amino acid-one codon" method. Unfortunately it does not work. Recent optimisation studies[1] have highlighted the importance of maintaining a diverse codon population in a given coding sequence. This said, the inclusion of ‘rare codons’ has also been shown to dramatically reduce protein expression E. coli.[2]

2. Solution

In our approach to codon optimisation, we attempted to maintain codon diversity while simultaneously limiting rare codon inclusion. This was achieved by weighting codon selection using bias tables obtained from the Codon Usage Database[3]. Joint optimisation was facilitated by combining the bias tables of E. coli and B. subtilis. Following the generation of a seed-sequence, the stochastic pruning of rare codons was used to iteratively optimise the sequence.

3. In-silico testing

To test our codon optimisation algorithm, we ran the protein coding sequence for Dendra2 (BBa_K515007) through our software. The DNA sequences generated in the first 100 cycles were then fed into Genscript’s Codon Adaptation Index (CAI) analyser . This online tool measures the suitability of a sequence for expression in E. coli. Genscript’s own codon optimisation claims to be able to generate sequences with a CAI > 0.8. We were able to match this for both single and joint optimisation.

Figure 1: A Codon Adaptation Index (CAI) of 1.0 is deemed ideal. A CAI of >0.8 is rated as good for expression. Sequences for the 'Control' series (green line) were generated by randomly selecting codons. Sequences optimised for ''E. coli'' (blue line) and joint optimised for ''E. coli'' and ''B. subtilis'' (red line) were generated using our optimisation algorithm. (Data generated by Imperial College London iGEM team 2011).

The data shown in Figure 1 indicates that our algorithm can generate highly optimised protein sequences for expression in E. coli. In addition, joint optimisation does not reduce the CAI (for E. coli) below the threshold of 0.8.

4. Future work

Recent studies[4] have suggested that rather than favouring highly used codons, it is preferable to select a subset for which the accompanying tRNAs are the most frequently charged during amino acid starvation. Once these codons have been tabulated for both E. coli and B. subtilis this data could be incorporated into our program.

5. R code

6. References

[1] Menzella HG (2011) Comparison of two codon optimization strategies to enhance recombinant protein production in Escherichia coli. Microb Cell Fact 10: 15.
[2] Kane JF (1995) Effects of rare codon clusters on high-level expression of heterologous proteins in Escherichia coli. Current Opinion in Biotechnology 6(5): 494-500, ISSN 0958-1669, 10.1016/0958-1669(95)80082-4. (
[3] Nakamura Y, Gojobori T and Ikemura T (2000) Codon usage tabulated from international DNA sequence databases: status for the year 2000. Nucleic Acids Res 28: 292.
[4] Welch M, Govindarajan S, Ness JE, Villalobos A, Gurney A, et al. (2009) Design parameters to control synthetic gene expression in Escherichia coli. PLoS ONE 4(9): e7002. doi:10.1371/journal.pone.0007002