
Codon optimization
Optimize coding DNA for a target organism with DNA Chisel while preserving its translation.
How to optimize codons for a target organism?
Paste coding DNA or upload FASTA, choose a target species and select an optimization method. DNA Chisel replaces synonymous codons while enforcing the original translation in the coding region. The result includes optimized DNA, its translated protein and a FASTA download for each input record.
- Paste coding DNA or upload
.fasta,.faor.txt. - Choose a suggested organism in
Target species. - Keep
Most frequent codonfor a deterministic first example, or choose another method. - Run the tool and download
optimized.fasta.
Worked example
Input .fasta:
>gene
ATGGCTGCTTAAFor Escherichia coli and Most frequent codon, optimized.fasta is:
>gene
ATGGCGGCGTAABoth sequences translate to MAA* under the standard genetic code. Here * marks the terminal stop codon.
Input
| Input | Accepted format | Requirements |
|---|---|---|
| Coding DNA | Pasted DNA or .fasta, .fa, .txt upload | A, C, G and T only; total length divisible by three. Maximum file size: 50 MiB. |
FASTA can contain multiple named records. A plain sequence becomes a record named gene. Do not include introns, gaps or ambiguous bases such as N. Wrapped FASTA lines are joined; use FASTA for named or multi-record input. The standard genetic code is used.
Settings
| Setting | Default | What it does |
|---|---|---|
Target species | e_coli | Choose a bundled organism from the suggestions, or enter a positive NCBI taxonomy ID to request a table from Kazusa. A custom target table takes precedence. |
Optimization method | use_best_codon | Most frequent codon chooses common synonymous codons. Match codon usage aims for the host frequency profile. Harmonization preserves relative codon preferences from the original host. |
Original species | e_coli | Original host for relative codon adaptation harmonization. Choose a bundled organism or enter its NCBI taxonomy ID. Used only by the harmonization method. Shown for harmonization. |
Custom target codon usage table | Blank | Optional JSON frequencies grouped by amino acid, for example {"K":{"AAA":0.7,"AAG":0.3}}. Include the needed synonymous codons, with frequencies totaling 1 per amino acid. Overrides the target species table. |
Custom original codon usage table | Blank | Optional JSON codon frequencies for the original host. Used for harmonization and takes precedence over the original species table. Shown for harmonization. |
Coding region [start, end, strand] | Blank | Optional zero-based [start, end, strand] coding region. End is exclusive; strand is 1 or -1. The region length must be divisible by 3. Blank optimizes the entire sequence. |
Results
| Output | Contents |
|---|---|
| Results table | Name, Input DNA, Optimized DNA, Protein, Method, Target species. |
optimized.fasta | One optimized coding DNA record per input sequence. |
results.tsv | Tab-separated table with the same rows and values. |
report.json | Result rows, resolved settings and warnings. |
run.log | Tool, settings, result count and warnings; failures include their error. |
Downloads are available from Files. The exported records retain returned row order.
Supported target species
The target and original species fields suggest the nine bundled organisms below. Select a suggestion to supply the exact identifier rather than spelling a scientific name.
| Organism | Identifier |
|---|---|
| Escherichia coli | e_coli |
| Bacillus subtilis | b_subtilis |
| Caenorhabditis elegans | c_elegans |
| Drosophila melanogaster | d_melanogaster |
| Gallus gallus (chicken) | g_gallus |
| Homo sapiens (human) | h_sapiens |
| Mus musculus (mouse) | m_musculus |
| Mus musculus domesticus | m_musculus_domesticus |
| Saccharomyces cerevisiae (budding yeast) | s_cerevisiae |
These tables are bundled in python-codon-tables. A positive NCBI taxonomy ID is also accepted and requests a table from Kazusa during execution. An ID does not guarantee that a table exists or that the external service is available. Unknown text identifiers fail before execution without substituting another species.
A custom table overrides the selected species table. Provide JSON grouped by amino acid, with synonymous-codon frequencies summing to 1 for each group. Include the groups and codons needed for the sequence. Keep a valid species selection even when supplying a custom table.
Which codon optimization method should I use?
| Method | Goal | Tables needed |
|---|---|---|
| Most frequent codon | Choose the most frequent synonymous codon. | Target host. |
| Match codon usage | Approach the target frequency profile. | Target host. |
| Harmonize relative codon adaptation | Preserve relative preferences when moving between hosts. | Original and target hosts. |
The first method is deterministic for a fixed input and table. The other methods can return different synonymous sequences across runs. The translation-preserving constraint applies to the same coding region as optimization.
Coding regions and gene optimization limits
A blank region optimizes the complete sequence. [0, 9, 1] selects bases 0 through 8 on the forward strand. The end is exclusive; the strand is 1 or -1. Both the selected region and the complete input length must be divisible by three. The Protein column translates the complete output in the forward frame; it is not a separate reverse-strand report.
Codon optimization is one part of gene optimization. This tool does not constrain GC content, remove restriction sites, optimize promoters or predict protein yield. RNAfold can inspect RNA folding separately, without guaranteeing expression.
FAQ
What happens if I enter an incorrect target species?
Unknown text identifiers fail validation before the job runs. Choose a suggestion or enter a positive taxonomy ID. A valid-looking ID can still fail if its table cannot be retrieved.
Can I optimize an amino acid sequence?
This page accepts coding DNA, not protein. It starts from an existing coding sequence to preserve its translation.
Does codon optimization guarantee higher expression?
No. It does not account for every effect of RNA folding, regulatory sequences, expression conditions or protein-specific biology.
Related tools
DNA mutation generator
Mutate DNA online by exact count or mutation rate, with reproducible controls and FASTA export.
DNAGenIQ (Random DNA sequence generator)
Generate random DNA sequences with controlled length, GC content, and restriction sites.
ProtGenIQ (Random protein sequence generator)
Generate random protein sequences with controlled length, amino acid composition, and motifs.
RNAGenIQ (Random RNA sequence generator)
Generate random RNA test sequences with adjustable GC content and optional RNA-like templates and sequence motifs.
DNA Shuffle
Shuffle DNA sequences while preserving nucleotide, dinucleotide, or k-mer composition.
Dimorphite-DL
Generate ligand protonation states over a pH range with Dimorphite-DL.
Overlapping peptide generator
Design overlapping peptide libraries with adjustable length, overlap and terminal restrictions. Runs in your browser.
Stereoisomer generator
Enumerate stereoisomers from SMILES while preserving assigned stereochemistry by default.
CSV to FASTA
Convert CSV or TSV sequence tables to FASTA with automatic delimiter detection and column mapping.
DNA to Protein Converter
Translate DNA sequences into proteins across reading frames and genetic code tables.