Codon optimization icon

Codon optimization

(v1.0)Code (opens in a new tab)Docs

Optimize coding DNA for a target organism with DNA Chisel while preserving its translation.

Output

Configure inputs to begin

Set options on the left, then click “Submit job”.

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.

  1. Paste coding DNA or upload .fasta, .fa or .txt.
  2. Choose a suggested organism in Target species.
  3. Keep Most frequent codon for a deterministic first example, or choose another method.
  4. Run the tool and download optimized.fasta.

Worked example

Input .fasta:

Text
>gene
ATGGCTGCTTAA

For Escherichia coli and Most frequent codon, optimized.fasta is:

Text
>gene
ATGGCGGCGTAA

Both sequences translate to MAA* under the standard genetic code. Here * marks the terminal stop codon.

Input

InputAccepted formatRequirements
Coding DNAPasted DNA or .fasta, .fa, .txt uploadA, 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

SettingDefaultWhat it does
Target speciese_coliChoose 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 methoduse_best_codonMost 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 speciese_coliOriginal 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 tableBlankOptional 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 tableBlankOptional 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]BlankOptional 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

OutputContents
Results tableName, Input DNA, Optimized DNA, Protein, Method, Target species.
optimized.fastaOne optimized coding DNA record per input sequence.
results.tsvTab-separated table with the same rows and values.
report.jsonResult rows, resolved settings and warnings.
run.logTool, 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.

OrganismIdentifier
Escherichia colie_coli
Bacillus subtilisb_subtilis
Caenorhabditis elegansc_elegans
Drosophila melanogasterd_melanogaster
Gallus gallus (chicken)g_gallus
Homo sapiens (human)h_sapiens
Mus musculus (mouse)m_musculus
Mus musculus domesticusm_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?

MethodGoalTables needed
Most frequent codonChoose the most frequent synonymous codon.Target host.
Match codon usageApproach the target frequency profile.Target host.
Harmonize relative codon adaptationPreserve 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.

Table of contents

Related tools

DNA mutation generator

DNA mutation generator

Mutate DNA online by exact count or mutation rate, with reproducible controls and FASTA export.

DNAGenIQ (Random DNA sequence generator)

DNAGenIQ (Random DNA sequence generator)

Generate random DNA sequences with controlled length, GC content, and restriction sites.

ProtGenIQ (Random protein sequence generator)

ProtGenIQ (Random protein sequence generator)

Generate random protein sequences with controlled length, amino acid composition, and motifs.

RNAGenIQ (Random RNA sequence generator)

RNAGenIQ (Random RNA sequence generator)

Generate random RNA test sequences with adjustable GC content and optional RNA-like templates and sequence motifs.

DNA Shuffle

DNA Shuffle

Shuffle DNA sequences while preserving nucleotide, dinucleotide, or k-mer composition.

Dimorphite-DL

Dimorphite-DL

Generate ligand protonation states over a pH range with Dimorphite-DL.

Overlapping peptide generator

Overlapping peptide generator

Design overlapping peptide libraries with adjustable length, overlap and terminal restrictions. Runs in your browser.

Stereoisomer generator

Stereoisomer generator

Enumerate stereoisomers from SMILES while preserving assigned stereochemistry by default.

CSV to FASTA

CSV to FASTA

Convert CSV or TSV sequence tables to FASTA with automatic delimiter detection and column mapping.

DNA to Protein Converter

DNA to Protein Converter

Translate DNA sequences into proteins across reading frames and genetic code tables.