# Bio.Data.CodonTable module

Codon tables based on those from the NCBI.

These tables are based on parsing the NCBI file ftp://ftp.ncbi.nih.gov/entrez/misc/data/gc.prt using Scripts/update_ncbi_codon_table.py

Last updated at Version 4.4 (May 2019)

exception Bio.Data.CodonTable.TranslationError

  Bases: `Exception`

  Container for translation specific exceptions.

  __firstlineno__ = 44
  __static_attributes__ = ()

class Bio.Data.CodonTable.CodonTable(nucleotide_alphabet: str | None = None, protein_alphabet: str | None = None, forward_table: dict[str, str] = forward_table, back_table: dict[str, str] = back_table, start_codons: list[str] = start_codons, stop_codons: list[str] = stop_codons)

  Bases: `object`

  A codon-table, or genetic code.

  __init__(nucleotide_alphabet: str | None = None, protein_alphabet: str | None = None, forward_table: dict[str, str] = forward_table, back_table: dict[str, str] = back_table, start_codons: list[str] = start_codons, stop_codons: list[str] = stop_codons) → None

    Initialize the class.

  forward_table: dict[str, str] = {}
  back_table: dict[str, str] = {}
  start_codons: list[str] = []
  stop_codons: list[str] = []
  __str__()

    Return a simple text representation of the codon table.

    e.g.:

        >>> import Bio.Data.CodonTable
        >>> print(Bio.Data.CodonTable.standard_dna_table)
        Table 1 Standard, SGC0

          |  T      |  C      |  A      |  G      |
        --+---------+---------+---------+---------+--
        T | TTT F   | TCT S   | TAT Y   | TGT C   | T
        T | TTC F   | TCC S   | TAC Y   | TGC C   | C
        ...
        G | GTA V   | GCA A   | GAA E   | GGA G   | A
        G | GTG V   | GCG A   | GAG E   | GGG G   | G
        --+---------+---------+---------+---------+--
        >>> print(Bio.Data.CodonTable.generic_by_id[1])
        Table 1 Standard, SGC0

          |  U      |  C      |  A      |  G      |
        --+---------+---------+---------+---------+--
        U | UUU F   | UCU S   | UAU Y   | UGU C   | U
        U | UUC F   | UCC S   | UAC Y   | UGC C   | C
        ...
        G | GUA V   | GCA A   | GAA E   | GGA G   | A
        G | GUG V   | GCG A   | GAG E   | GGG G   | G
        --+---------+---------+---------+---------+--

  __annotations__ = {'back_table': dict[str, str], 'forward_table': dict[str, str], 'start_codons': list[str], 'stop_codons': list[str]}
  __firstlineno__ = 48
  __static_attributes__ = ('back_table', 'forward_table', 'nucleotide_alphabet', 'protein_alphabet', 'start_codons', 'stop_codons')

Bio.Data.CodonTable.make_back_table(table, default_stop_codon)

  Back a back-table (naive single codon mapping).

  ONLY RETURNS A SINGLE CODON, chosen from the possible alternatives based on their sort order.

class Bio.Data.CodonTable.NCBICodonTable(id, names, table, start_codons, stop_codons)

  Bases: `CodonTable`

  Codon table for generic nucleotide sequences.

  nucleotide_alphabet: str | None = None
  protein_alphabet = 'ACDEFGHIKLMNPQRSTVWY'
  __init__(id, names, table, start_codons, stop_codons)

    Initialize the class.

  __repr__()

    Represent the NCBI codon table class as a string for debugging.

  __annotations__ = {'back_table': 'dict[str, str]', 'forward_table': 'dict[str, str]', 'nucleotide_alphabet': typing.Optional[str], 'start_codons': 'list[str]', 'stop_codons': 'list[str]'}
  __firstlineno__ = 164
  __static_attributes__ = ('back_table', 'forward_table', 'id', 'names', 'start_codons', 'stop_codons')

class Bio.Data.CodonTable.NCBICodonTableDNA(id, names, table, start_codons, stop_codons)

  Bases: `NCBICodonTable`

  Codon table for unambiguous DNA sequences.

  nucleotide_alphabet: str | None = 'GATC'
  __annotations__ = {'back_table': 'dict[str, str]', 'forward_table': 'dict[str, str]', 'nucleotide_alphabet': 'Optional[str]', 'start_codons': 'list[str]', 'stop_codons': 'list[str]'}
  __firstlineno__ = 184
  __static_attributes__ = ()

class Bio.Data.CodonTable.NCBICodonTableRNA(id, names, table, start_codons, stop_codons)

  Bases: `NCBICodonTable`

  Codon table for unambiguous RNA sequences.

  nucleotide_alphabet: str | None = 'GAUC'
  __annotations__ = {'back_table': 'dict[str, str]', 'forward_table': 'dict[str, str]', 'nucleotide_alphabet': 'Optional[str]', 'start_codons': 'list[str]', 'stop_codons': 'list[str]'}
  __firstlineno__ = 190
  __static_attributes__ = ()

class Bio.Data.CodonTable.AmbiguousCodonTable(codon_table, ambiguous_nucleotide_alphabet, ambiguous_nucleotide_values, ambiguous_protein_alphabet, ambiguous_protein_values)

  Bases: `CodonTable`

  Base codon table for ambiguous sequences.

  __init__(codon_table, ambiguous_nucleotide_alphabet, ambiguous_nucleotide_values, ambiguous_protein_alphabet, ambiguous_protein_values)

    Initialize the class.

  __getattr__(name)

    Forward attribute lookups to the original table.

  __annotations__ = {}
  __firstlineno__ = 199
  __static_attributes__ = ('_codon_table',)

Bio.Data.CodonTable.list_possible_proteins(codon, forward_table, ambiguous_nucleotide_values)

  Return all possible encoded amino acids for ambiguous codon.

Bio.Data.CodonTable.list_ambiguous_codons(codons, ambiguous_nucleotide_values)

  Extend a codon list to include all possible ambiguous codons.

  e.g.:

      ['TAG', 'TAA'] -> ['TAG', 'TAA', 'TAR']
      ['UAG', 'UGA'] -> ['UAG', 'UGA', 'URA']

  Note that [‘TAG’, ‘TGA’] -> [‘TAG’, ‘TGA’], this does not add ‘TRR’ (which could also mean ‘TAA’ or ‘TGG’). Thus only two more codons are added in the following:

  e.g.:

      ['TGA', 'TAA', 'TAG'] -> ['TGA', 'TAA', 'TAG', 'TRA', 'TAR']

  Returns a new (longer) list of codon strings.

class Bio.Data.CodonTable.AmbiguousForwardTable(forward_table, ambiguous_nucleotide, ambiguous_protein)

  Bases: `object`

  Forward table for translation of ambiguous nucleotide sequences.

  __init__(forward_table, ambiguous_nucleotide, ambiguous_protein)

    Initialize the class.

  __contains__(codon)

    Check if codon works as key for ambiguous forward_table.

    Only returns ‘True’ if forward_table[codon] returns a value.

  __firstlineno__ = 373
  __static_attributes__ = ('_cache', '_inverted', 'ambiguous_nucleotide', 'ambiguous_protein', 'forward_table')
  get(codon, failobj=None)

    Implement get for dictionary-like behaviour.

  __getitem__(codon)

    Implement dictionary-like behaviour for AmbiguousForwardTable.

    forward_table[codon] will either return an amino acid letter, or throws a KeyError (if codon does not encode an amino acid) or a TranslationError (if codon does encode for an amino acid, but either is also a stop codon or does encode several amino acids, for which no unique letter is available in the given alphabet.

Bio.Data.CodonTable.register_ncbi_table(name, alt_name, id, table, start_codons, stop_codons)

  Turn codon table data into objects (PRIVATE).

  The data is stored in the dictionaries.

Biopython v: 1.85

Versions
  Previous
  Latest
  Develop

Biopython Project
  Homepage
  On GitHub