Nucleora / Tools / DNA translation

Translate DNA to protein in six frames

All six reading frames with any of the 27 NCBI genetic codes, IUPAC-aware codon reading, and open reading frames highlighted, from ATG or from every start codon the table allows.

TRsix-frame translationcomputed in this page

Input

Result

Six-frame translation · ORFs highlighted · * = stop

Open reading frames

Method: codons are read from nucleotide 1, 2 and 3 of each strand and translated with the selected NCBI table; ambiguous codons translate to an amino acid only when every reading agrees. Limit: no splicing, frameshifting or selenocysteine recoding is modelled.

How it is calculated

Each strand is read in three frames. Frames +1, +2 and +3 start at nucleotides 1, 2 and 3 of the sequence as entered; frames −1, −2 and −3 start at nucleotides 1, 2 and 3 of its reverse complement, so −1 begins at the last base you entered. A trailing partial codon is not translated.

protein(frame f) = code[ s(f..f+2) ] code[ s(f+3..f+5) ] ... U is read as T ambiguous codon: translate every expansion; one amino acid -> that letter; all stops -> *; {D,N} -> B; {E,Q} -> Z; {I,L} -> J; anything else -> X

An open reading frame runs from a start codon to the first in-frame stop, inclusive. With "ATG only" an ORF starts at ATG; with "All starts in this table" it can start at any initiation codon the NCBI table lists (for table 11, ATG, GTG, TTG, CTG, ATT, ATC and ATA). The first codon of an ORF is reported as M, as an initiating codon is read. A start codon inside an ORF does not open a second, shorter ORF; the longest ORF ending at each stop is kept. Positions are 1-based on the forward strand, whatever the frame.

Tables 27, 28 and 31 assign some codons to both a stop and an amino acid, read by context. The six-frame view shows the amino acid, as NCBI's table does, and ORF calling treats those codons as stops.

The 27 genetic codes available: 1 (Standard), 2 (Vertebrate Mitochondrial), 3 (Yeast Mitochondrial), 4 (Mold Mitochondrial), 5 (Invertebrate Mitochondrial), 6 (Ciliate Nuclear), 9 (Echinoderm Mitochondrial), 10 (Euplotid Nuclear), 11 (Bacterial), 12 (Alternative Yeast Nuclear), 13 (Ascidian Mitochondrial), 14 (Alternative Flatworm Mitochondrial), 15 (Blepharisma Macronuclear), 16 (Chlorophycean Mitochondrial), 21 (Trematode Mitochondrial), 22 (Scenedesmus obliquus Mitochondrial), 23 (Thraustochytrium Mitochondrial), 24 (Pterobranchia Mitochondrial), 25 (Candidate Division SR1), 26 (Pachysolen tannophilus Nuclear), 27 (Karyorelict Nuclear), 28 (Condylostoma Nuclear), 29 (Mesodinium Nuclear), 30 (Peritrich Nuclear), 31 (Blastocrithidia Nuclear), 32 (Balanophoraceae Plastid), 33 (Cephalodiscidae Mitochondrial).

Which calculation this page matches

Translation agrees with Biopython's Seq.translate(table=n) for every one of the 3,375 IUPAC codons in each of the 27 tables. ORFs agree with an independent ORF scan over Biopython's codon tables.

References

  1. NCBI. The Genetic Codes. Compiled by Elzanowski A and Ostell J. https://www.ncbi.nlm.nih.gov/Taxonomy/Utils/wprintgc.cgi
  2. Nomenclature Committee of the International Union of Biochemistry (1985) Nomenclature for incompletely specified bases in nucleic acid sequences. Eur J Biochem 150:1-5. doi:10.1111/j.1432-1033.1985.tb08977.x

A worked example, computed by this page

A synthetic 332-nt sequence (built for this example, not a natural gene) with one ORF on each strand, translated with the standard code (table 1):

ATGTCCGTAATGTAGGCGAAAATGCTATGGGATTGCTTGTATCTCCTAGAATGCGCCATAAGTTCCGAACTGGGAGCTTCAAGTACGCTACATAGCACCGAGTCCTGTGTAGGAAAGGCGCGCCTAGGCGTTGCTGGCAGGGCTAAATCTGACACAAATAAGATATGTATTGCGTAATAGTAAACCATTTTATTCAGGACTCATCGGCCCCGTCTATACACTATTTCTAGTATATCACCACTAAGGGAGAGATTTTTCGTGACAATTCTAGTCAAGTACCGTTTGGGATGGGTGGGGTGACCATATATTCCTGCTGTCATCTAACCTGAGGT
FrameTranslation
+1MSVM*AKMLWDCLYLLECAISSELGASSTLHSTESCVGKARLGVAGRAKSDTNKICIA***TILFRTHRPRLYTISSISPLRERFFVTILVKYRLGWVG*PYIPAVI*PE
+2CP*CRRKCYGIACIS*NAP*VPNWELQVRYIAPSPV*ERRA*ALLAGLNLTQIRYVLRNSKPFYSGLIGPVYTLFLVYHH*GRDFS*QF*SSTVWDGWGDHIFLLSSNLR
+3VRNVGENAMGLLVSPRMRHKFRTGSFKYAT*HRVLCRKGAPRRCWQG*I*HK*DMYCVIVNHFIQDSSAPSIHYF*YITTKGEIFRDNSSQVPFGMGGVTIYSCCHLT*G
−1TSG*MTAGIYGHPTHPKRYLTRIVTKNLSLSGDILEIVYRRGR*VLNKMVYYYAIHILFVSDLALPATPRRAFPTQDSVLCSVLEAPSSELMAHSRRYKQSHSIFAYITD
−2PQVR*QQEYMVTPPIPNGT*LELSRKISPLVVIY*K*CIDGADES*IKWFTITQYISYLCQI*PCQQRLGAPFLHRTRCYVAYLKLPVRNLWRILGDTSNPIAFSPTLRT
−3LRLDDSRNIWSPHPSQTVLD*NCHEKSLP*W*YTRNSV*TGPMSPE*NGLLLRNTYLICVRFSPASNA*ARLSYTGLGAM*RT*SSQFGTYGAF*EIQAIP*HFRLHYGH

ORFs of at least 30 aa, ATG starts, table 1: 2. The longest is in frame +1 at 22..177 (51 aa).

FramePositionntaaStart
+122..17715651ATG
−1201..32012039ATG

Switch to table 11 with all its start codons and the same 30-aa minimum gives 5 ORFs:

FramePositionaaStart
+122..17751ATG
−1201..32039ATG
+2131..24437TTG
+1187..30037ATT
+3234..32931ATC

The calculation runs in your browser

The arithmetic on this page is JavaScript executing in your browser. The sequence you enter is not sent anywhere: the calculator makes no network request with it, and there is no account, upload or server-side step. You can disconnect from the network after the page has loaded and the calculator keeps working.