esl-translate(1)
β¨ esl-translate β the esl-translate(1) page, but make it cute π
okay bestie, welcome to esl-translate, part of the Easel manual (yes that's the manual name, she's iconic). this is the girl who takes your DNA or RNA sequences and gives you back a six-frame translation as individual ORFs in FASTA format. literally a glow-up for your nucleotides. π§¬β¨
πΈ SYNOPSIS πΈ
esl-translate [options] seqfile
that's it. one seqfile, a lil pile of options, and we're off. π
π¦ DESCRIPTION π¦
so like. you hand her a seqfile full of DNA or RNA sequences, and esl-translate outputs a six-frame translation of them as individual open reading frames in FASTA format. no cap, that's the whole vibe. π«Ά
by default, only ORFs greater than 20aa get reported. that minimum ORF length is fully adjustable, just hit her with the -l option. π
by default, no specific initiation codon is required, and literally any amino acid can start an open reading frame. why? because she's not assuming your ORFs are complete coding regions β she wants to work on sequence fragments, eukaryotic genes with introns, and other messy situations where we don't wanna assume things. this behavior can be changed tho:
- with
-m, ORFs start with an initiator AUG Met. - with
-M, ORFs start with any of the initiation codons allowed by the genetic code. for example, the"standard"code (NCBI transl_table 1) allows AUG, CUG, and UUG as initiators.
and when you use-mor-M, an initiator is always translated to Met β even if the initiator is something like UUG or CUG that doesn't encode Met as an elongator. she said rules are rules. π
if seqfile is - (a single dash), input is read from the stdin pipe. this (combined with the output being a standard FASTA file) means esl-translate can be used in command line incantations. πͺ if seqfile ends in .gz, it's assumed to be a gzip-compressed file, and Easel will try to read it as a stream from gunzip -c.
π OUTPUT FORMAT π
the output FASTA name/description line contains info about the source and coordinates of each ORF. each ORF is named orf1, etc., with numbering starting from 1, in order of their start position on the top strand followed by the bottom strand. the rest of the FASTA name/desc line contains 4 additional fields, followed by the description of the source sequence:
source=<s>β<s>is the name of the source DNA/RNA sequence.coords=start..endβ Coords,1..L, for the translated ORF in a source DNA sequence of lengthL. Ifstartis greater thanend, the ORF is on the bottom (reverse complement) strand. Thestartis the first nucleotide of the first codon; theendis the last nucleotide of the last codon. The stop codon is not included in the coordinates (unlike in CDS annotation in GenBank, for example.)length=<n>β Length of the ORF in amino acids.frame=<n>β Which frame the ORF is in. Frames1..3are the top strand;4..6are the bottom strand. Frame 1 starts at nucleotide 1. Frame 4 starts at nucleotideL.
π ALTERNATIVE GENETIC CODES π
by default, the "standard" genetic code is used (NCBI transl_table 1). any NCBI genetic code transl_table can be selected with the -c option, as follows:
- Standard
- Vertebrate mitochondrial
- Yeast mitochondrial
- Mold, protozoan, coelenterate mitochondrial; Mycoplasma/Spiroplasma
- Invertebrate mitochondrial
- Ciliate, dasycladacean, Hexamita nuclear
- Echinoderm and flatworm mitochondrial
- Euplotid nuclear
- Bacterial, archaeal; and plant plastid
- Alternative yeast
- Ascidian mitochondrial
- Alternative flatworm mitochondrial
- Chlorophycean mitochondrial
- Trematode mitochondrial
- Scenedesmus obliquus mitochondrial
- Thraustochytrium mitochondrial
- Pterobranchia mitochondrial
- Candidate Division SR1 and Gracilibacteria
as of this writing, more info about the genetic codes in the NCBI translation tables is at http://www.ncbi.nlm.nih.gov/Taxonomy/ at a link titled Genetic codes. (iykyk π)
π IUPAC DEGENERACY CODES IN DNA π
DNA sequences may contain IUPAC degeneracy codes, such as N, R, Y, etc. here's the tea: if all codons consistent with a degenerate codon translate to the same amino acid (or to a stop), that translation is done; otherwise, the codon is translated as X (even if one or more compatible codons are stops). for example, in the standard code:
UARtranslates to*(stop)GGNtranslates toG(glycine)NNNtranslates toXUGRtranslates toX(it could be either a UGA stop or a UGG Trp)
Degenerate initiation codons are handled essentially the same. if all codons consistent with the degenerate codon are legal initiators, then the codon is allowed to initiate a new ORF. Stop codons are never a legal initiator (not only with -m or -M but also with the default of allowing any amino acid to initiate), so degenerate codons consistent with a stop cannot be initiators. for example, NNN cannot initiate an ORF, nor can UGR β even though they translate to X. this means we don't translate long stretches of N's as long ORFs of X's, which is probably a feature, given the prevalence of artificial runs of N's in genome sequence assemblies. π
degenerate DNA codons are not translated to degenerate amino acids other than X, even when that is possible. for example, SAR and MUH are decoded as X, not Z (Q|E) and J (I|L). the extra complexity needed for a degenerate to degenerate translation doesn't seem worthwhile. and honestly? valid. π
π OPTIONS π
-hβ Print brief help. Includes version number and summary of all options. Also includes a list of the available NCBI transl_tables and their numerical codes, for the-coption.-c <id>β Choose alternative genetic code<id>where<id>is the numerical code of one of the NCBI transl_tables.-l <n>β Set the minimum reported ORF length to<n>aa.-mβ Require ORFs to start with an initiator codon AUG (Met).-Mβ Require ORFs to start with an initiator codon, as specified by the allowed initiator codons in the NCBI transl_table. In the default Standard code, AUG, CUG, and UUG are allowed as initiators. An initiation codon is always translated as Met, even if it does not normally encode Met as an elongator.-Wβ Use a memory-efficient windowed sequence reader. The default is to read entire DNA sequences into memory, which may become memory limited for some very large eukaryotic chromosomes. The windowed reader cannot reverse complement a nonrewindable input stream, so eitherseqfilemust be a file, or you must use--watsonto limit translation to the top strand.
β οΈ ok real talk on that one:-Wis the memory-saver but she has β¨commitment issuesβ¨ with nonrewindable streams. file, or--watson. pick one.
--informat <s>β Assert that inputseqfileis in format<s>, bypassing format autodetection. Common choices for<s>include:fasta,embl,genbank. Alignment formats also work; common choices include:stockholm,a2m,afa,psiblast,clustal,phylip. For more information, and for codes for some less common formats, see main documentation. The string<s>is case-insensitive (fastaorFASTAboth work).--watsonβ Only translate the top strand.--crickβ Only translate the bottom strand.
π₯ SEE ALSO π₯
π COPYRIGHT π
Copyright (C) 2020 Howard Hughes Medical Institute. Freely distributed under the BSD open source license.
π AUTHOR π
okay that's the whole page bestie, go translate something gorgeous π¦π
Easel 0.48 Β· Nov 2020 β yeah she's serving esl-translate(1) energy, stan a classic. mwah, drink water, read your FASTA headers. π
π
π¦ where this page comes from
- fedora 43: hmmer-easel 3.3.2-11.fc43 Β· GPL-3.0-only
- fedora 44: hmmer-easel 3.3.2-12.fc44 Β· GPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms