SeqBench

From Protein Sequence to Expression-Ready Construct: A Practical Checklist

7 min read · Updated July 10, 2026

Codon optimization is easy to treat as the whole job: paste in a protein sequence, pick a host, get back a DNA sequence, order it. In practice a codon-optimized coding sequence can still express poorly, purify badly, or fail in ways the codon usage score never flagged. This guide lays out the short checklist worth running between having a protein sequence and having a coding sequence worth ordering: codon usage, GC content and repeats, hydrophobicity, physical properties, and a final construct-level QC pass.

Step 1 — Check codon usage bias against the host before optimizing

Codon bias only becomes a real risk when you are crossing a large evolutionary distance — a human gene destined for E. coli, or a bacterial gene going into a mammalian cell line. Closely related organisms usually tolerate the native codon usage fine.

Before optimizing anything, score the existing coding sequence's codon usage against the intended host with the codon adaptation index. A low score against the host tells you the sequence leans on codons that are rare in that organism's tRNA pool, a plausible cause of slow or stalled translation. A respectable score means optimization may buy you little, and the guide covering codon optimization mechanics and the CAI formula itself is worth reading if you want the full derivation. The practical takeaway here is simpler: check first, optimize only if the check says you should.

Step 2 — Re-check GC content and repeats after you optimize

An optimizer that always swaps in the single most-frequent codon for each amino acid will happily push local or overall GC to an extreme, or stitch together a homopolymer run or short repeat, especially across stretches encoding repetitive amino acids like poly-alanine or poly-leucine runs. None of that shows up in the CAI score, which only measures how well codon frequencies match the host and says nothing about GC distribution or sequence repetition.

Treat the optimized output as a new sequence that needs its own check: rerun a GC content scan, and look specifically for new repeats or runs that were not in the original. If you find a local extreme, most optimizers let you avoid the single top codon in favor of a close second choice at that position, or you can hand-edit a codon without changing the amino acid.

Step 3 — Read the protein for hydrophobic and transmembrane stretches

This step works on the protein sequence itself, independent of whatever codon choices you land on. A sliding-window hydrophobicity plot flags long hydrophobic stretches, which are the signature of a transmembrane segment or an unusually hydrophobic domain.

That reading feeds three decisions worth making before ordering DNA rather than after a failed expression trial: whether the protein needs a signal sequence or a membrane-targeting strategy to express and localize correctly; whether a fusion tag at a given terminus would sit right on top of a hydrophobic domain and disrupt it, in which case the other terminus or a cleavable linker is the safer choice; and whether an overall hydrophobic, aggregation-prone profile means you should plan for inclusion bodies and budget time for a refolding step rather than assuming soluble expression.

Step 4 — Compute molecular weight, pI, extinction coefficient and composition up front

These four numbers come straight from the protein sequence and do not require any protein in hand yet, so there is no reason to wait. Molecular weight and amino acid composition are the baseline. The theoretical isoelectric point tells you which ion-exchange resin and buffer pH range to plan for later, since cation exchange works below the pI and anion exchange above it.

The extinction coefficient, derived mainly from tryptophan, tyrosine and cystine content, is what lets you convert a future A280 reading into a concentration the moment you have real protein. If the composition shows few or no Trp/Tyr residues, that is your warning now that A280 will be unreliable and you will want a Bradford or BCA assay instead. Working this out before the construct is even ordered means purification and quantification are already planned rather than improvised under time pressure.

Step 5 — Run a construct-level QC pass on the final coding sequence

This last check exists specifically because the optimization or back-translation step can introduce problems the original sequence never had. Scan the final coding sequence for a premature in-frame stop appearing in an alternate frame, a cryptic ribosome-binding-site-like motif that could drive unwanted internal initiation, a restriction site that got introduced by chance and now collides with the sites you need for cloning, and any local GC extreme that a global average would mask.

None of these are things the codon adaptation index or a hydrophobicity plot would catch, since they are artifacts of the specific codons chosen, not properties of the protein or the overall codon bias. This is the gate to clear right before you send the sequence for synthesis.

Working through the checklist without starting from scratch each time

None of these five checks require redoing an experiment — they are all things you can run on a sequence you already have, in the order above, before a single base gets synthesized.

A codon optimizer that lets you target E. coli, human, yeast, CHO or Pichia handles step one directly, and re-running the codon adaptation index and a GC scan on its output covers step two without extra tooling. A hydrophobicity plot and a construct QC linter that checks for premature stops, cryptic ribosome-binding-site-like signals, unwanted restriction sites and local GC extremes cover steps three and five on the same sequence you are about to order. Used together in this order, the checklist turns optimize-and-hope into a short, repeatable pass that catches the failure modes codon usage alone cannot see.

Frequently asked questions

Do I need to codon optimize every gene before expressing it?

Not necessarily. Optimization mainly matters when you are crossing a large evolutionary distance between the source organism and the expression host, so check the codon adaptation index against the host first and optimize only if that score is low.

Why does my codon-optimized sequence have such extreme GC content or a repeat it did not have before?

A naive optimizer that always picks the single most-frequent codon for each amino acid can drive local or overall GC to an extreme and create repeats, since the codon adaptation index score does not track GC distribution or repetition at all.

How can I tell if my protein will end up in inclusion bodies before I even express it?

There is no perfect predictor, but a sliding-window hydrophobicity plot showing long hydrophobic stretches or an overall hydrophobic profile is a common early warning sign worth planning around, including budgeting for a possible refolding step.

What should I check before ordering a synthetic gene for expression?

Score codon usage against the host with the codon adaptation index, re-check GC content and repeats after optimizing, run a hydrophobicity plot on the protein, calculate molecular weight, pI and extinction coefficient, and finish with a construct-level QC scan of the coding sequence.

Related references

Related tools

Related guides