translates a DNA or RNA sequence bioseq to a peptide sequence.


uses the genetic translation table gtt.


treats start codons in bioseq according to the specification startspec.


  • The genetic translation table gtt can be specified as follows:
  • Automaticthe standard code (default)
    "name"standard name of a "GeneticTranslationTable" entity
    Entity["GeneticTranslationTable",]"GeneticTranslationTable" entity
    nNCBI genetic code number
    "AAAA"length-64 NCBI codon translation string
    <|"cod1""tran1","cod2""tran2",|>explicit codon translation table
  • The start codon specification startspec specifies what translation should be used for the first codon in bioseq. If no startspec is given, the first codon will be treated as a start codon only if bioseq can be identified as corresponding to a complete protein.
  • The following forms for startspec can be used to specific how to treat the first codon in bioseq:
  • Automatictreat as start codon only for complete proteins
    Falsenever treat as start codon
    Truealways treat as start code
  • The following additional forms for startspec can be used to define start codon behavior, overriding the specification implied by the genetic translation table gtt:
  • nuse NCBI genetic code number start codon specification
    "AAAA"use length-64 NCBI start codon translation string
    <|"cod1""tran1","cod2""tran2",|>explicit specify start codon translations


open allclose all

Basic Examples  (1)

Translate a DNA sequence into the corresponding peptide sequences:

Scope  (8)

Translate an RNA sequence:

Translate using a "GeneticTranslationTable" entity:

Translate using the table corresponding to a NCBI genetic code number:

Use an Association to specify the translation table:

Use an arbitrary NCBI translation table:

Use the start translation of the automatically selected translation table:

Specify start codon translations with an association of the changed start codons:

Use NCBI notation to specify the start codon translation:

Applications  (2)

The translations to selenocysteine (U) and pyrrolysine (O) only happen in particular chemical contexts that are distinct from the translation system for a particular organism. One way to incorporate them is to change the codon translation association:

After splicing together coding sequences, translation yields the same sequence as the protein:

Possible Issues  (2)

Inputs with degenerate letters may have multiple possible translations with no single generalization:

Using BioSequenceInstances first will avoid ambiguous results:

If the length of a DNA or RNA sequence is not a multiple of three, then the remaining letters after constructing codons are discarded from the end of the sequence:

Neat Examples  (2)

See the peptides resulting from translation:

Reveal a phrase encoded in DNA:

Wolfram Research (2020), BioSequenceTranslate, Wolfram Language function,


Wolfram Research (2020), BioSequenceTranslate, Wolfram Language function,


@misc{reference.wolfram_2020_biosequencetranslate, author="Wolfram Research", title="{BioSequenceTranslate}", year="2020", howpublished="\url{}", note=[Accessed: 20-January-2021 ]}


@online{reference.wolfram_2020_biosequencetranslate, organization={Wolfram Research}, title={BioSequenceTranslate}, year={2020}, url={}, note=[Accessed: 20-January-2021 ]}


Wolfram Language. 2020. "BioSequenceTranslate." Wolfram Language & System Documentation Center. Wolfram Research.


Wolfram Language. (2020). BioSequenceTranslate. Wolfram Language & System Documentation Center. Retrieved from