Bioinformatics

Three Things We Learned from Codon Optimization Across 65 Organisms

Running the Pun1 coding sequence through the codon optimizer for 65 different host organisms wasn’t just a batch job. A few things came out that changed how we think about the process.

1. GC content windows matter more than global GC

Most codon optimization guidance focuses on overall GC content: stay between 40% and 65%, and you’ll be fine. That’s broadly true as a global target, but it misses localized windows. A sequence with 55% average GC can still have 30-nucleotide stretches at 80% GC or 20% GC — and those stretches cause ribosome pausing and secondary structure in the mRNA that tanks expression, regardless of the global number.

The optimizer runs a sliding 30-nt window check and flags outliers. For Pun1 specifically, the native sequence has three high-GC windows that consistently tripped the check in grass and cereal hosts (wheat, barley, rice) where GC preferences are already higher. Fixing those windows required manually selecting non-optimal codons for four positions — a local override of the global optimization. The final sequences for cereal hosts score a CAI around 0.94 instead of 0.98, but the mRNA secondary structure predictions are substantially cleaner.

2. Restriction site removal is harder than it sounds

Standard codon optimization includes removal of common restriction sites — EcoRI, BamHI, HindIII, NotI, the usual suspects for Gibson and Golden Gate assembly. For most organisms and most sequences, this is a two-minute automated pass.

For the Cannabis sativa Pun1 optimization, we ran into a conflict: the BsaI site removal (BsaI is the Golden Gate workhorse for plant vectors) required altering a codon that was in a critical position for protein folding as predicted by ESM2. The alternative synonymous codon at that position was acceptable to the restriction site remover but dropped the ESM2 log-likelihood by 1.8 — the largest single-position drop across any of the 65 organism sequences.

Decision: keep the BsaI site and use Gibson assembly instead of Golden Gate for the cannabis construct. Not every restriction site removal is worth the protein engineering trade-off.

3. The optimizer and manual intuition disagreed most on monocots

Dicot codon tables are well-characterized. Monocot tables (grasses, cereals, banana, pineapple) have idiosyncratic preferences that the standard RSCU-based optimizer handles, but that look counterintuitive when you check them manually. Specifically, monocots strongly prefer G/C at the wobble position — where a human reading the codon table would reach for A/T endings as “neutral” synonyms, the optimizer correctly steers toward C endings.

Twice during manual review I caught myself about to override the optimizer’s monocot output back toward A-ending codons. Both times, checking the actual codon usage table for the organism confirmed the optimizer was right. The lesson is that manual intuition calibrated on Arabidopsis and Nicotiana is a liability when you move to grass hosts. Trust the table.