esl-translate(1)

πŸ“¦
version 3.3.2 Β· 2 versions
, in fedora 43, fedora 44

✨ 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 -m or -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 length L. If start is greater than end, the ORF is on the bottom (reverse complement) strand. The start is the first nucleotide of the first codon; the end is 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. Frames 1..3 are the top strand; 4..6 are the bottom strand. Frame 1 starts at nucleotide 1. Frame 4 starts at nucleotide L.

🌈 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:

  1. Standard
  2. Vertebrate mitochondrial
  3. Yeast mitochondrial
  4. Mold, protozoan, coelenterate mitochondrial; Mycoplasma/Spiroplasma
  5. Invertebrate mitochondrial
  6. Ciliate, dasycladacean, Hexamita nuclear
  7. Echinoderm and flatworm mitochondrial
  8. Euplotid nuclear
  9. Bacterial, archaeal; and plant plastid
  10. Alternative yeast
  11. Ascidian mitochondrial
  12. Alternative flatworm mitochondrial
  13. Chlorophycean mitochondrial
  14. Trematode mitochondrial
  15. Scenedesmus obliquus mitochondrial
  16. Thraustochytrium mitochondrial
  17. Pterobranchia mitochondrial
  18. 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:

  • UAR translates to * (stop)
  • GGN translates to G (glycine)
  • NNN translates to X
  • UGR translates to X (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 -c option.
  • -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 either seqfile must be a file, or you must use --watson to limit translation to the top strand.
⚠️ ok real talk on that one: -W is the memory-saver but she has ✨commitment issues✨ with nonrewindable streams. file, or --watson. pick one.
  • --informat <s> β€” Assert that input seqfile is 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 (fasta or FASTA both work).
  • --watson β€” Only translate the top strand.
  • --crick β€” Only translate the bottom strand.

πŸ”₯ SEE ALSO πŸ”₯

http://bioeasel.org/


Copyright (C) 2020 Howard Hughes Medical Institute. Freely distributed under the BSD open source license.


🌟 AUTHOR 🌟

http://eddylab.org


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