Spaces:
No application file
No application file
# Copyright 2000 Andrew Dalke. All rights reserved. | |
# | |
# This file is part of the Biopython distribution and governed by your | |
# choice of the "Biopython License Agreement" or the "BSD 3-Clause License". | |
# Please see the LICENSE file that should have been included as part of this | |
# package. | |
"""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) | |
""" | |
from Bio.Data import IUPACData | |
unambiguous_dna_by_name = {} | |
unambiguous_dna_by_id = {} | |
unambiguous_rna_by_name = {} | |
unambiguous_rna_by_id = {} | |
generic_by_name = {} # unambiguous DNA or RNA | |
generic_by_id = {} # unambiguous DNA or RNA | |
ambiguous_dna_by_name = {} | |
ambiguous_dna_by_id = {} | |
ambiguous_rna_by_name = {} | |
ambiguous_rna_by_id = {} | |
ambiguous_generic_by_name = {} # ambiguous DNA or RNA | |
ambiguous_generic_by_id = {} # ambiguous DNA or RNA | |
# standard IUPAC unambiguous codons | |
standard_dna_table = None | |
standard_rna_table = None | |
# In the future, the back_table could return a statistically | |
# appropriate distribution of codons, so do not cache the results of | |
# back_table lookups! | |
class TranslationError(Exception): | |
"""Container for translation specific exceptions.""" | |
pass | |
class CodonTable: | |
"""A codon-table, or genetic code.""" | |
forward_table = {} # only includes codons which actually code | |
back_table = {} # for back translations | |
start_codons = [] | |
stop_codons = [] | |
# Not always called from derived classes! | |
def __init__( | |
self, | |
nucleotide_alphabet=None, | |
protein_alphabet=None, | |
forward_table=forward_table, | |
back_table=back_table, | |
start_codons=start_codons, | |
stop_codons=stop_codons, | |
): | |
"""Initialize the class.""" | |
self.nucleotide_alphabet = nucleotide_alphabet | |
self.protein_alphabet = protein_alphabet | |
self.forward_table = forward_table | |
self.back_table = back_table | |
self.start_codons = start_codons | |
self.stop_codons = stop_codons | |
def __str__(self): | |
"""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 | |
<BLANKLINE> | |
| 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 | |
<BLANKLINE> | |
| 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 | |
--+---------+---------+---------+---------+-- | |
""" | |
if self.id: | |
answer = "Table %i" % self.id | |
else: | |
answer = "Table ID unknown" | |
if self.names: | |
answer += " " + ", ".join([x for x in self.names if x]) | |
# Use the main four letters (and the conventional ordering) | |
# even for ambiguous tables | |
letters = self.nucleotide_alphabet | |
if letters is not None and "T" in letters: | |
letters = "TCAG" | |
else: | |
# Should be either RNA or generic nucleotides, | |
# e.g. Bio.Data.CodonTable.generic_by_id[1] | |
letters = "UCAG" | |
# Build the table... | |
answer += "\n\n" | |
answer += " |" + "|".join(f" {c2} " for c2 in letters) + "|" | |
answer += "\n--+" + "+".join("---------" for c2 in letters) + "+--" | |
for c1 in letters: | |
for c3 in letters: | |
line = c1 + " |" | |
for c2 in letters: | |
codon = c1 + c2 + c3 | |
line += f" {codon}" | |
if codon in self.stop_codons: | |
line += " Stop|" | |
else: | |
try: | |
amino = self.forward_table[codon] | |
except KeyError: | |
amino = "?" | |
except TranslationError: | |
amino = "?" | |
if codon in self.start_codons: | |
line += f" {amino}(s)|" | |
else: | |
line += f" {amino} |" | |
line += " " + c3 | |
answer += "\n" + line | |
answer += "\n--+" + "+".join("---------" for c2 in letters) + "+--" | |
return answer | |
def 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. | |
""" | |
# Do the sort so changes in the hash implementation won't affect | |
# the result when one amino acid is coded by more than one codon. | |
back_table = {} | |
for key in sorted(table): | |
back_table[table[key]] = key | |
back_table[None] = default_stop_codon | |
return back_table | |
class NCBICodonTable(CodonTable): | |
"""Codon table for generic nucleotide sequences.""" | |
nucleotide_alphabet = None | |
protein_alphabet = IUPACData.protein_letters | |
def __init__(self, id, names, table, start_codons, stop_codons): | |
"""Initialize the class.""" | |
self.id = id | |
self.names = names | |
self.forward_table = table | |
self.back_table = make_back_table(table, stop_codons[0]) | |
self.start_codons = start_codons | |
self.stop_codons = stop_codons | |
def __repr__(self): | |
"""Represent the NCBI codon table class as a string for debugging.""" | |
return f"{self.__class__.__name__}(id={self.id!r}, names={self.names!r}, ...)" | |
class NCBICodonTableDNA(NCBICodonTable): | |
"""Codon table for unambiguous DNA sequences.""" | |
nucleotide_alphabet = IUPACData.unambiguous_dna_letters | |
class NCBICodonTableRNA(NCBICodonTable): | |
"""Codon table for unambiguous RNA sequences.""" | |
nucleotide_alphabet = IUPACData.unambiguous_rna_letters | |
# ######## Deal with ambiguous forward translations | |
class AmbiguousCodonTable(CodonTable): | |
"""Base codon table for ambiguous sequences.""" | |
def __init__( | |
self, | |
codon_table, | |
ambiguous_nucleotide_alphabet, | |
ambiguous_nucleotide_values, | |
ambiguous_protein_alphabet, | |
ambiguous_protein_values, | |
): | |
"""Initialize the class.""" | |
CodonTable.__init__( | |
self, | |
ambiguous_nucleotide_alphabet, | |
ambiguous_protein_alphabet, | |
AmbiguousForwardTable( | |
codon_table.forward_table, | |
ambiguous_nucleotide_values, | |
ambiguous_protein_values, | |
), | |
codon_table.back_table, | |
# These two are WRONG! I need to get the | |
# list of ambiguous codons which code for | |
# the stop codons XXX | |
list_ambiguous_codons( | |
codon_table.start_codons, ambiguous_nucleotide_values | |
), | |
list_ambiguous_codons(codon_table.stop_codons, ambiguous_nucleotide_values), | |
) | |
self._codon_table = codon_table | |
# Be sneaky and forward attribute lookups to the original table. | |
# This lets us get the names, if the original table is an NCBI | |
# table. | |
def __getattr__(self, name): | |
"""Forward attribute lookups to the original table.""" | |
return getattr(self._codon_table, name) | |
def list_possible_proteins(codon, forward_table, ambiguous_nucleotide_values): | |
"""Return all possible encoded amino acids for ambiguous codon.""" | |
c1, c2, c3 = codon | |
x1 = ambiguous_nucleotide_values[c1] | |
x2 = ambiguous_nucleotide_values[c2] | |
x3 = ambiguous_nucleotide_values[c3] | |
possible = {} | |
stops = [] | |
for y1 in x1: | |
for y2 in x2: | |
for y3 in x3: | |
try: | |
possible[forward_table[y1 + y2 + y3]] = 1 | |
except KeyError: | |
# If tripping over a stop codon | |
stops.append(y1 + y2 + y3) | |
if stops: | |
if possible: | |
raise TranslationError( | |
f"ambiguous codon {codon!r} codes for both proteins and stop codons" | |
) | |
# This is a true stop codon - tell the caller about it | |
raise KeyError(codon) | |
return list(possible) | |
def 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. | |
""" | |
# Note ambiguous_nucleotide_values['R'] = 'AG' (etc) | |
# This will generate things like 'TRR' from ['TAG', 'TGA'], which | |
# we don't want to include: | |
c1_list = sorted( | |
letter | |
for letter, meanings in ambiguous_nucleotide_values.items() | |
if {codon[0] for codon in codons}.issuperset(set(meanings)) | |
) | |
c2_list = sorted( | |
letter | |
for letter, meanings in ambiguous_nucleotide_values.items() | |
if {codon[1] for codon in codons}.issuperset(set(meanings)) | |
) | |
c3_list = sorted( | |
letter | |
for letter, meanings in ambiguous_nucleotide_values.items() | |
if {codon[2] for codon in codons}.issuperset(set(meanings)) | |
) | |
# candidates is a list (not a set) to preserve the iteration order | |
candidates = [] | |
for c1 in c1_list: | |
for c2 in c2_list: | |
for c3 in c3_list: | |
codon = c1 + c2 + c3 | |
if codon not in candidates and codon not in codons: | |
candidates.append(codon) | |
answer = codons[:] # copy | |
# print("Have %i new candidates" % len(candidates)) | |
for ambig_codon in candidates: | |
wanted = True | |
# e.g. 'TRR' -> 'TAA', 'TAG', 'TGA', 'TGG' | |
for codon in [ | |
c1 + c2 + c3 | |
for c1 in ambiguous_nucleotide_values[ambig_codon[0]] | |
for c2 in ambiguous_nucleotide_values[ambig_codon[1]] | |
for c3 in ambiguous_nucleotide_values[ambig_codon[2]] | |
]: | |
if codon not in codons: | |
# This ambiguous codon can code for a non-stop, exclude it! | |
wanted = False | |
# print("Rejecting %s" % ambig_codon) | |
continue | |
if wanted: | |
answer.append(ambig_codon) | |
return answer | |
assert list_ambiguous_codons(["TGA", "TAA"], IUPACData.ambiguous_dna_values) == [ | |
"TGA", | |
"TAA", | |
"TRA", | |
] | |
assert list_ambiguous_codons(["TAG", "TGA"], IUPACData.ambiguous_dna_values) == [ | |
"TAG", | |
"TGA", | |
] | |
assert list_ambiguous_codons(["TAG", "TAA"], IUPACData.ambiguous_dna_values) == [ | |
"TAG", | |
"TAA", | |
"TAR", | |
] | |
assert list_ambiguous_codons(["UAG", "UAA"], IUPACData.ambiguous_rna_values) == [ | |
"UAG", | |
"UAA", | |
"UAR", | |
] | |
assert list_ambiguous_codons(["TGA", "TAA", "TAG"], IUPACData.ambiguous_dna_values) == [ | |
"TGA", | |
"TAA", | |
"TAG", | |
"TAR", | |
"TRA", | |
] | |
# Forward translation is "onto", that is, any given codon always maps | |
# to the same protein, or it doesn't map at all. Thus, I can build | |
# off of an existing table to produce the ambiguous mappings. | |
# | |
# This handles the general case. Perhaps it's overkill? | |
# >>> t = CodonTable.ambiguous_dna_by_id[1] | |
# >>> t.forward_table["AAT"] | |
# 'N' | |
# >>> t.forward_table["GAT"] | |
# 'D' | |
# >>> t.forward_table["RAT"] | |
# 'B' | |
# >>> t.forward_table["YTA"] | |
# 'L' | |
class AmbiguousForwardTable: | |
"""Forward table for translation of ambiguous nucleotide sequences.""" | |
def __init__(self, forward_table, ambiguous_nucleotide, ambiguous_protein): | |
"""Initialize the class.""" | |
self.forward_table = forward_table | |
self.ambiguous_nucleotide = ambiguous_nucleotide | |
self.ambiguous_protein = ambiguous_protein | |
inverted = {} | |
for name, val in ambiguous_protein.items(): | |
for c in val: | |
x = inverted.get(c, {}) | |
x[name] = 1 | |
inverted[c] = x | |
for name, val in inverted.items(): | |
inverted[name] = list(val) | |
self._inverted = inverted | |
self._cache = {} | |
def __contains__(self, codon): | |
"""Check if codon works as key for ambiguous forward_table. | |
Only returns 'True' if forward_table[codon] returns a value. | |
""" | |
try: | |
self.__getitem__(codon) | |
return True | |
except (KeyError, TranslationError): | |
return False | |
def get(self, codon, failobj=None): | |
"""Implement get for dictionary-like behaviour.""" | |
try: | |
return self.__getitem__(codon) | |
except KeyError: | |
return failobj | |
def __getitem__(self, 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. | |
""" | |
try: | |
x = self._cache[codon] | |
except KeyError: | |
pass | |
else: | |
if x is TranslationError: | |
raise TranslationError(codon) # no unique translation | |
if x is KeyError: | |
raise KeyError(codon) # it's a stop codon | |
return x | |
try: | |
x = self.forward_table[codon] | |
self._cache[codon] = x | |
return x | |
except KeyError: | |
pass | |
# XXX Need to make part of this into a method which returns | |
# a list of all possible encodings for a codon! | |
try: | |
possible = list_possible_proteins( | |
codon, self.forward_table, self.ambiguous_nucleotide | |
) | |
except KeyError: | |
self._cache[codon] = KeyError | |
raise KeyError(codon) from None # stop codon | |
except TranslationError: | |
self._cache[codon] = TranslationError | |
raise TranslationError(codon) # does not code | |
assert len(possible) > 0, "unambiguous codons must code" | |
# Hah! Only one possible protein, so use it | |
if len(possible) == 1: | |
self._cache[codon] = possible[0] | |
return possible[0] | |
# See if there's an ambiguous protein encoding for the multiples. | |
# Find residues which exist in every coding set. | |
ambiguous_possible = {} | |
for amino in possible: | |
for term in self._inverted[amino]: | |
ambiguous_possible[term] = ambiguous_possible.get(term, 0) + 1 | |
n = len(possible) | |
possible = [] | |
for amino, val in ambiguous_possible.items(): | |
if val == n: | |
possible.append(amino) | |
# No amino acid encoding for the results | |
if len(possible) == 0: | |
self._cache[codon] = TranslationError | |
raise TranslationError(codon) # no valid translation | |
# All of these are valid, so choose one | |
# To be unique, sort by smallet ambiguity then alphabetically | |
# Can get this if "X" encodes for everything. | |
# def _sort(x, y, table = self.ambiguous_protein): | |
# a = cmp(len(table[x]), len(table[y])) | |
# if a == 0: | |
# return cmp(x, y) | |
# return a | |
# Sort by key is 2.x and 3.x compatible | |
possible.sort(key=lambda x: (len(self.ambiguous_protein[x]), x)) | |
x = possible[0] | |
self._cache[codon] = x | |
return x | |
def 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. | |
""" | |
# In most cases names are divided by "; ", however there is also | |
# Table 11 'Bacterial, Archaeal and Plant Plastid Code', previously | |
# 'Bacterial and Plant Plastid' which used to be just 'Bacterial' | |
names = [ | |
x.strip() for x in name.replace(" and ", "; ").replace(", ", "; ").split("; ") | |
] | |
dna = NCBICodonTableDNA(id, names + [alt_name], table, start_codons, stop_codons) | |
ambig_dna = AmbiguousCodonTable( | |
dna, | |
IUPACData.ambiguous_dna_letters, | |
IUPACData.ambiguous_dna_values, | |
IUPACData.extended_protein_letters, | |
IUPACData.extended_protein_values, | |
) | |
# replace all T's with U's for the RNA tables | |
rna_table = {} | |
generic_table = {} | |
for codon, val in table.items(): | |
generic_table[codon] = val | |
codon = codon.replace("T", "U") | |
generic_table[codon] = val | |
rna_table[codon] = val | |
rna_start_codons = [] | |
generic_start_codons = [] | |
for codon in start_codons: | |
generic_start_codons.append(codon) | |
# We need to check if 'T' is in the codon, otherwise | |
# generic_start_codons may contain duplicates | |
if "T" in codon: | |
codon = codon.replace("T", "U") | |
generic_start_codons.append(codon) | |
rna_start_codons.append(codon) | |
rna_stop_codons = [] | |
generic_stop_codons = [] | |
for codon in stop_codons: | |
generic_stop_codons.append(codon) | |
if "T" in codon: | |
codon = codon.replace("T", "U") | |
generic_stop_codons.append(codon) | |
rna_stop_codons.append(codon) | |
generic = NCBICodonTable( | |
id, names + [alt_name], generic_table, generic_start_codons, generic_stop_codons | |
) | |
# The following isn't very elegant, but seems to work nicely. | |
_merged_values = dict(IUPACData.ambiguous_rna_values.items()) | |
_merged_values["T"] = "U" | |
ambig_generic = AmbiguousCodonTable( | |
generic, | |
None, | |
_merged_values, | |
IUPACData.extended_protein_letters, | |
IUPACData.extended_protein_values, | |
) | |
rna = NCBICodonTableRNA( | |
id, names + [alt_name], rna_table, rna_start_codons, rna_stop_codons | |
) | |
ambig_rna = AmbiguousCodonTable( | |
rna, | |
IUPACData.ambiguous_rna_letters, | |
IUPACData.ambiguous_rna_values, | |
IUPACData.extended_protein_letters, | |
IUPACData.extended_protein_values, | |
) | |
if id == 1: | |
global standard_dna_table, standard_rna_table | |
standard_dna_table = dna | |
standard_rna_table = rna | |
unambiguous_dna_by_id[id] = dna | |
unambiguous_rna_by_id[id] = rna | |
generic_by_id[id] = generic | |
ambiguous_dna_by_id[id] = ambig_dna | |
ambiguous_rna_by_id[id] = ambig_rna | |
ambiguous_generic_by_id[id] = ambig_generic | |
if alt_name is not None: | |
names.append(alt_name) | |
for name in names: | |
unambiguous_dna_by_name[name] = dna | |
unambiguous_rna_by_name[name] = rna | |
generic_by_name[name] = generic | |
ambiguous_dna_by_name[name] = ambig_dna | |
ambiguous_rna_by_name[name] = ambig_rna | |
ambiguous_generic_by_name[name] = ambig_generic | |
# The rest of this file is automatically generated, here we turn off | |
# black formatting in order to keep the codon tables compact. | |
# | |
# fmt: off | |
########################################################################## | |
# Start of auto-generated output from Scripts/update_ncbi_codon_table.py # | |
########################################################################## | |
# Data from NCBI genetic code table version 4.5 | |
register_ncbi_table( | |
name="Standard", | |
alt_name="SGC0", | |
id=1, | |
table={ | |
"TTT": "F", "TTC": "F", "TTA": "L", "TTG": "L", | |
"TCT": "S", "TCC": "S", "TCA": "S", "TCG": "S", | |
"TAT": "Y", "TAC": "Y", # noqa: E241 | |
"TGT": "C", "TGC": "C", "TGG": "W", # noqa: E241 | |
"CTT": "L", "CTC": "L", "CTA": "L", "CTG": "L", | |
"CCT": "P", "CCC": "P", "CCA": "P", "CCG": "P", | |
"CAT": "H", "CAC": "H", "CAA": "Q", "CAG": "Q", | |
"CGT": "R", "CGC": "R", "CGA": "R", "CGG": "R", | |
"ATT": "I", "ATC": "I", "ATA": "I", "ATG": "M", | |
"ACT": "T", "ACC": "T", "ACA": "T", "ACG": "T", | |
"AAT": "N", "AAC": "N", "AAA": "K", "AAG": "K", | |
"AGT": "S", "AGC": "S", "AGA": "R", "AGG": "R", | |
"GTT": "V", "GTC": "V", "GTA": "V", "GTG": "V", | |
"GCT": "A", "GCC": "A", "GCA": "A", "GCG": "A", | |
"GAT": "D", "GAC": "D", "GAA": "E", "GAG": "E", | |
"GGT": "G", "GGC": "G", "GGA": "G", "GGG": "G", | |
}, | |
stop_codons=["TAA", "TAG", "TGA"], | |
start_codons=["TTG", "CTG", "ATG"], | |
) | |
register_ncbi_table( | |
name="Vertebrate Mitochondrial", | |
alt_name="SGC1", | |
id=2, | |
table={ | |
"TTT": "F", "TTC": "F", "TTA": "L", "TTG": "L", | |
"TCT": "S", "TCC": "S", "TCA": "S", "TCG": "S", | |
"TAT": "Y", "TAC": "Y", # noqa: E241 | |
"TGT": "C", "TGC": "C", "TGA": "W", "TGG": "W", | |
"CTT": "L", "CTC": "L", "CTA": "L", "CTG": "L", | |
"CCT": "P", "CCC": "P", "CCA": "P", "CCG": "P", | |
"CAT": "H", "CAC": "H", "CAA": "Q", "CAG": "Q", | |
"CGT": "R", "CGC": "R", "CGA": "R", "CGG": "R", | |
"ATT": "I", "ATC": "I", "ATA": "M", "ATG": "M", | |
"ACT": "T", "ACC": "T", "ACA": "T", "ACG": "T", | |
"AAT": "N", "AAC": "N", "AAA": "K", "AAG": "K", | |
"AGT": "S", "AGC": "S", # noqa: E241 | |
"GTT": "V", "GTC": "V", "GTA": "V", "GTG": "V", | |
"GCT": "A", "GCC": "A", "GCA": "A", "GCG": "A", | |
"GAT": "D", "GAC": "D", "GAA": "E", "GAG": "E", | |
"GGT": "G", "GGC": "G", "GGA": "G", "GGG": "G", | |
}, | |
stop_codons=["TAA", "TAG", "AGA", "AGG"], | |
start_codons=["ATT", "ATC", "ATA", "ATG", "GTG"], | |
) | |
register_ncbi_table( | |
name="Yeast Mitochondrial", | |
alt_name="SGC2", | |
id=3, | |
table={ | |
"TTT": "F", "TTC": "F", "TTA": "L", "TTG": "L", | |
"TCT": "S", "TCC": "S", "TCA": "S", "TCG": "S", | |
"TAT": "Y", "TAC": "Y", # noqa: E241 | |
"TGT": "C", "TGC": "C", "TGA": "W", "TGG": "W", | |
"CTT": "T", "CTC": "T", "CTA": "T", "CTG": "T", | |
"CCT": "P", "CCC": "P", "CCA": "P", "CCG": "P", | |
"CAT": "H", "CAC": "H", "CAA": "Q", "CAG": "Q", | |
"CGT": "R", "CGC": "R", "CGA": "R", "CGG": "R", | |
"ATT": "I", "ATC": "I", "ATA": "M", "ATG": "M", | |
"ACT": "T", "ACC": "T", "ACA": "T", "ACG": "T", | |
"AAT": "N", "AAC": "N", "AAA": "K", "AAG": "K", | |
"AGT": "S", "AGC": "S", "AGA": "R", "AGG": "R", | |
"GTT": "V", "GTC": "V", "GTA": "V", "GTG": "V", | |
"GCT": "A", "GCC": "A", "GCA": "A", "GCG": "A", | |
"GAT": "D", "GAC": "D", "GAA": "E", "GAG": "E", | |
"GGT": "G", "GGC": "G", "GGA": "G", "GGG": "G", | |
}, | |
stop_codons=["TAA", "TAG"], | |
start_codons=["ATA", "ATG", "GTG"], | |
) | |
register_ncbi_table( | |
name="Mold Mitochondrial; Protozoan Mitochondrial; Coelenterate " | |
"Mitochondrial; Mycoplasma; Spiroplasma", | |
alt_name="SGC3", | |
id=4, | |
table={ | |
"TTT": "F", "TTC": "F", "TTA": "L", "TTG": "L", | |
"TCT": "S", "TCC": "S", "TCA": "S", "TCG": "S", | |
"TAT": "Y", "TAC": "Y", # noqa: E241 | |
"TGT": "C", "TGC": "C", "TGA": "W", "TGG": "W", | |
"CTT": "L", "CTC": "L", "CTA": "L", "CTG": "L", | |
"CCT": "P", "CCC": "P", "CCA": "P", "CCG": "P", | |
"CAT": "H", "CAC": "H", "CAA": "Q", "CAG": "Q", | |
"CGT": "R", "CGC": "R", "CGA": "R", "CGG": "R", | |
"ATT": "I", "ATC": "I", "ATA": "I", "ATG": "M", | |
"ACT": "T", "ACC": "T", "ACA": "T", "ACG": "T", | |
"AAT": "N", "AAC": "N", "AAA": "K", "AAG": "K", | |
"AGT": "S", "AGC": "S", "AGA": "R", "AGG": "R", | |
"GTT": "V", "GTC": "V", "GTA": "V", "GTG": "V", | |
"GCT": "A", "GCC": "A", "GCA": "A", "GCG": "A", | |
"GAT": "D", "GAC": "D", "GAA": "E", "GAG": "E", | |
"GGT": "G", "GGC": "G", "GGA": "G", "GGG": "G", | |
}, | |
stop_codons=["TAA", "TAG"], | |
start_codons=["TTA", "TTG", "CTG", "ATT", "ATC", "ATA", "ATG", "GTG"], | |
) | |
register_ncbi_table( | |
name="Invertebrate Mitochondrial", | |
alt_name="SGC4", | |
id=5, | |
table={ | |
"TTT": "F", "TTC": "F", "TTA": "L", "TTG": "L", | |
"TCT": "S", "TCC": "S", "TCA": "S", "TCG": "S", | |
"TAT": "Y", "TAC": "Y", # noqa: E241 | |
"TGT": "C", "TGC": "C", "TGA": "W", "TGG": "W", | |
"CTT": "L", "CTC": "L", "CTA": "L", "CTG": "L", | |
"CCT": "P", "CCC": "P", "CCA": "P", "CCG": "P", | |
"CAT": "H", "CAC": "H", "CAA": "Q", "CAG": "Q", | |
"CGT": "R", "CGC": "R", "CGA": "R", "CGG": "R", | |
"ATT": "I", "ATC": "I", "ATA": "M", "ATG": "M", | |
"ACT": "T", "ACC": "T", "ACA": "T", "ACG": "T", | |
"AAT": "N", "AAC": "N", "AAA": "K", "AAG": "K", | |
"AGT": "S", "AGC": "S", "AGA": "S", "AGG": "S", | |
"GTT": "V", "GTC": "V", "GTA": "V", "GTG": "V", | |
"GCT": "A", "GCC": "A", "GCA": "A", "GCG": "A", | |
"GAT": "D", "GAC": "D", "GAA": "E", "GAG": "E", | |
"GGT": "G", "GGC": "G", "GGA": "G", "GGG": "G", | |
}, | |
stop_codons=["TAA", "TAG"], | |
start_codons=["TTG", "ATT", "ATC", "ATA", "ATG", "GTG"], | |
) | |
register_ncbi_table( | |
name="Ciliate Nuclear; Dasycladacean Nuclear; Hexamita Nuclear", | |
alt_name="SGC5", | |
id=6, | |
table={ | |
"TTT": "F", "TTC": "F", "TTA": "L", "TTG": "L", | |
"TCT": "S", "TCC": "S", "TCA": "S", "TCG": "S", | |
"TAT": "Y", "TAC": "Y", "TAA": "Q", "TAG": "Q", | |
"TGT": "C", "TGC": "C", "TGG": "W", # noqa: E241 | |
"CTT": "L", "CTC": "L", "CTA": "L", "CTG": "L", | |
"CCT": "P", "CCC": "P", "CCA": "P", "CCG": "P", | |
"CAT": "H", "CAC": "H", "CAA": "Q", "CAG": "Q", | |
"CGT": "R", "CGC": "R", "CGA": "R", "CGG": "R", | |
"ATT": "I", "ATC": "I", "ATA": "I", "ATG": "M", | |
"ACT": "T", "ACC": "T", "ACA": "T", "ACG": "T", | |
"AAT": "N", "AAC": "N", "AAA": "K", "AAG": "K", | |
"AGT": "S", "AGC": "S", "AGA": "R", "AGG": "R", | |
"GTT": "V", "GTC": "V", "GTA": "V", "GTG": "V", | |
"GCT": "A", "GCC": "A", "GCA": "A", "GCG": "A", | |
"GAT": "D", "GAC": "D", "GAA": "E", "GAG": "E", | |
"GGT": "G", "GGC": "G", "GGA": "G", "GGG": "G", | |
}, | |
stop_codons=["TGA"], | |
start_codons=["ATG"], | |
) | |
register_ncbi_table( | |
name="Echinoderm Mitochondrial; Flatworm Mitochondrial", | |
alt_name="SGC8", | |
id=9, | |
table={ | |
"TTT": "F", "TTC": "F", "TTA": "L", "TTG": "L", | |
"TCT": "S", "TCC": "S", "TCA": "S", "TCG": "S", | |
"TAT": "Y", "TAC": "Y", # noqa: E241 | |
"TGT": "C", "TGC": "C", "TGA": "W", "TGG": "W", | |
"CTT": "L", "CTC": "L", "CTA": "L", "CTG": "L", | |
"CCT": "P", "CCC": "P", "CCA": "P", "CCG": "P", | |
"CAT": "H", "CAC": "H", "CAA": "Q", "CAG": "Q", | |
"CGT": "R", "CGC": "R", "CGA": "R", "CGG": "R", | |
"ATT": "I", "ATC": "I", "ATA": "I", "ATG": "M", | |
"ACT": "T", "ACC": "T", "ACA": "T", "ACG": "T", | |
"AAT": "N", "AAC": "N", "AAA": "N", "AAG": "K", | |
"AGT": "S", "AGC": "S", "AGA": "S", "AGG": "S", | |
"GTT": "V", "GTC": "V", "GTA": "V", "GTG": "V", | |
"GCT": "A", "GCC": "A", "GCA": "A", "GCG": "A", | |
"GAT": "D", "GAC": "D", "GAA": "E", "GAG": "E", | |
"GGT": "G", "GGC": "G", "GGA": "G", "GGG": "G", | |
}, | |
stop_codons=["TAA", "TAG"], | |
start_codons=["ATG", "GTG"], | |
) | |
register_ncbi_table( | |
name="Euplotid Nuclear", | |
alt_name="SGC9", | |
id=10, | |
table={ | |
"TTT": "F", "TTC": "F", "TTA": "L", "TTG": "L", | |
"TCT": "S", "TCC": "S", "TCA": "S", "TCG": "S", | |
"TAT": "Y", "TAC": "Y", # noqa: E241 | |
"TGT": "C", "TGC": "C", "TGA": "C", "TGG": "W", | |
"CTT": "L", "CTC": "L", "CTA": "L", "CTG": "L", | |
"CCT": "P", "CCC": "P", "CCA": "P", "CCG": "P", | |
"CAT": "H", "CAC": "H", "CAA": "Q", "CAG": "Q", | |
"CGT": "R", "CGC": "R", "CGA": "R", "CGG": "R", | |
"ATT": "I", "ATC": "I", "ATA": "I", "ATG": "M", | |
"ACT": "T", "ACC": "T", "ACA": "T", "ACG": "T", | |
"AAT": "N", "AAC": "N", "AAA": "K", "AAG": "K", | |
"AGT": "S", "AGC": "S", "AGA": "R", "AGG": "R", | |
"GTT": "V", "GTC": "V", "GTA": "V", "GTG": "V", | |
"GCT": "A", "GCC": "A", "GCA": "A", "GCG": "A", | |
"GAT": "D", "GAC": "D", "GAA": "E", "GAG": "E", | |
"GGT": "G", "GGC": "G", "GGA": "G", "GGG": "G", | |
}, | |
stop_codons=["TAA", "TAG"], | |
start_codons=["ATG"], | |
) | |
register_ncbi_table( | |
name="Bacterial, Archaeal and Plant Plastid", | |
alt_name=None, | |
id=11, | |
table={ | |
"TTT": "F", "TTC": "F", "TTA": "L", "TTG": "L", | |
"TCT": "S", "TCC": "S", "TCA": "S", "TCG": "S", | |
"TAT": "Y", "TAC": "Y", # noqa: E241 | |
"TGT": "C", "TGC": "C", "TGG": "W", # noqa: E241 | |
"CTT": "L", "CTC": "L", "CTA": "L", "CTG": "L", | |
"CCT": "P", "CCC": "P", "CCA": "P", "CCG": "P", | |
"CAT": "H", "CAC": "H", "CAA": "Q", "CAG": "Q", | |
"CGT": "R", "CGC": "R", "CGA": "R", "CGG": "R", | |
"ATT": "I", "ATC": "I", "ATA": "I", "ATG": "M", | |
"ACT": "T", "ACC": "T", "ACA": "T", "ACG": "T", | |
"AAT": "N", "AAC": "N", "AAA": "K", "AAG": "K", | |
"AGT": "S", "AGC": "S", "AGA": "R", "AGG": "R", | |
"GTT": "V", "GTC": "V", "GTA": "V", "GTG": "V", | |
"GCT": "A", "GCC": "A", "GCA": "A", "GCG": "A", | |
"GAT": "D", "GAC": "D", "GAA": "E", "GAG": "E", | |
"GGT": "G", "GGC": "G", "GGA": "G", "GGG": "G", | |
}, | |
stop_codons=["TAA", "TAG", "TGA"], | |
start_codons=["TTG", "CTG", "ATT", "ATC", "ATA", "ATG", "GTG"], | |
) | |
register_ncbi_table( | |
name="Alternative Yeast Nuclear", | |
alt_name=None, | |
id=12, | |
table={ | |
"TTT": "F", "TTC": "F", "TTA": "L", "TTG": "L", | |
"TCT": "S", "TCC": "S", "TCA": "S", "TCG": "S", | |
"TAT": "Y", "TAC": "Y", # noqa: E241 | |
"TGT": "C", "TGC": "C", "TGG": "W", # noqa: E241 | |
"CTT": "L", "CTC": "L", "CTA": "L", "CTG": "S", | |
"CCT": "P", "CCC": "P", "CCA": "P", "CCG": "P", | |
"CAT": "H", "CAC": "H", "CAA": "Q", "CAG": "Q", | |
"CGT": "R", "CGC": "R", "CGA": "R", "CGG": "R", | |
"ATT": "I", "ATC": "I", "ATA": "I", "ATG": "M", | |
"ACT": "T", "ACC": "T", "ACA": "T", "ACG": "T", | |
"AAT": "N", "AAC": "N", "AAA": "K", "AAG": "K", | |
"AGT": "S", "AGC": "S", "AGA": "R", "AGG": "R", | |
"GTT": "V", "GTC": "V", "GTA": "V", "GTG": "V", | |
"GCT": "A", "GCC": "A", "GCA": "A", "GCG": "A", | |
"GAT": "D", "GAC": "D", "GAA": "E", "GAG": "E", | |
"GGT": "G", "GGC": "G", "GGA": "G", "GGG": "G", | |
}, | |
stop_codons=["TAA", "TAG", "TGA"], | |
start_codons=["CTG", "ATG"], | |
) | |
register_ncbi_table( | |
name="Ascidian Mitochondrial", | |
alt_name=None, | |
id=13, | |
table={ | |
"TTT": "F", "TTC": "F", "TTA": "L", "TTG": "L", | |
"TCT": "S", "TCC": "S", "TCA": "S", "TCG": "S", | |
"TAT": "Y", "TAC": "Y", # noqa: E241 | |
"TGT": "C", "TGC": "C", "TGA": "W", "TGG": "W", | |
"CTT": "L", "CTC": "L", "CTA": "L", "CTG": "L", | |
"CCT": "P", "CCC": "P", "CCA": "P", "CCG": "P", | |
"CAT": "H", "CAC": "H", "CAA": "Q", "CAG": "Q", | |
"CGT": "R", "CGC": "R", "CGA": "R", "CGG": "R", | |
"ATT": "I", "ATC": "I", "ATA": "M", "ATG": "M", | |
"ACT": "T", "ACC": "T", "ACA": "T", "ACG": "T", | |
"AAT": "N", "AAC": "N", "AAA": "K", "AAG": "K", | |
"AGT": "S", "AGC": "S", "AGA": "G", "AGG": "G", | |
"GTT": "V", "GTC": "V", "GTA": "V", "GTG": "V", | |
"GCT": "A", "GCC": "A", "GCA": "A", "GCG": "A", | |
"GAT": "D", "GAC": "D", "GAA": "E", "GAG": "E", | |
"GGT": "G", "GGC": "G", "GGA": "G", "GGG": "G", | |
}, | |
stop_codons=["TAA", "TAG"], | |
start_codons=["TTG", "ATA", "ATG", "GTG"], | |
) | |
register_ncbi_table( | |
name="Alternative Flatworm Mitochondrial", | |
alt_name=None, | |
id=14, | |
table={ | |
"TTT": "F", "TTC": "F", "TTA": "L", "TTG": "L", | |
"TCT": "S", "TCC": "S", "TCA": "S", "TCG": "S", | |
"TAT": "Y", "TAC": "Y", "TAA": "Y", # noqa: E241 | |
"TGT": "C", "TGC": "C", "TGA": "W", "TGG": "W", | |
"CTT": "L", "CTC": "L", "CTA": "L", "CTG": "L", | |
"CCT": "P", "CCC": "P", "CCA": "P", "CCG": "P", | |
"CAT": "H", "CAC": "H", "CAA": "Q", "CAG": "Q", | |
"CGT": "R", "CGC": "R", "CGA": "R", "CGG": "R", | |
"ATT": "I", "ATC": "I", "ATA": "I", "ATG": "M", | |
"ACT": "T", "ACC": "T", "ACA": "T", "ACG": "T", | |
"AAT": "N", "AAC": "N", "AAA": "N", "AAG": "K", | |
"AGT": "S", "AGC": "S", "AGA": "S", "AGG": "S", | |
"GTT": "V", "GTC": "V", "GTA": "V", "GTG": "V", | |
"GCT": "A", "GCC": "A", "GCA": "A", "GCG": "A", | |
"GAT": "D", "GAC": "D", "GAA": "E", "GAG": "E", | |
"GGT": "G", "GGC": "G", "GGA": "G", "GGG": "G", | |
}, | |
stop_codons=["TAG"], | |
start_codons=["ATG"], | |
) | |
register_ncbi_table( | |
name="Blepharisma Macronuclear", | |
alt_name=None, | |
id=15, | |
table={ | |
"TTT": "F", "TTC": "F", "TTA": "L", "TTG": "L", | |
"TCT": "S", "TCC": "S", "TCA": "S", "TCG": "S", | |
"TAT": "Y", "TAC": "Y", "TAG": "Q", # noqa: E241 | |
"TGT": "C", "TGC": "C", "TGG": "W", # noqa: E241 | |
"CTT": "L", "CTC": "L", "CTA": "L", "CTG": "L", | |
"CCT": "P", "CCC": "P", "CCA": "P", "CCG": "P", | |
"CAT": "H", "CAC": "H", "CAA": "Q", "CAG": "Q", | |
"CGT": "R", "CGC": "R", "CGA": "R", "CGG": "R", | |
"ATT": "I", "ATC": "I", "ATA": "I", "ATG": "M", | |
"ACT": "T", "ACC": "T", "ACA": "T", "ACG": "T", | |
"AAT": "N", "AAC": "N", "AAA": "K", "AAG": "K", | |
"AGT": "S", "AGC": "S", "AGA": "R", "AGG": "R", | |
"GTT": "V", "GTC": "V", "GTA": "V", "GTG": "V", | |
"GCT": "A", "GCC": "A", "GCA": "A", "GCG": "A", | |
"GAT": "D", "GAC": "D", "GAA": "E", "GAG": "E", | |
"GGT": "G", "GGC": "G", "GGA": "G", "GGG": "G", | |
}, | |
stop_codons=["TAA", "TGA"], | |
start_codons=["ATG"], | |
) | |
register_ncbi_table( | |
name="Chlorophycean Mitochondrial", | |
alt_name=None, | |
id=16, | |
table={ | |
"TTT": "F", "TTC": "F", "TTA": "L", "TTG": "L", | |
"TCT": "S", "TCC": "S", "TCA": "S", "TCG": "S", | |
"TAT": "Y", "TAC": "Y", "TAG": "L", # noqa: E241 | |
"TGT": "C", "TGC": "C", "TGG": "W", # noqa: E241 | |
"CTT": "L", "CTC": "L", "CTA": "L", "CTG": "L", | |
"CCT": "P", "CCC": "P", "CCA": "P", "CCG": "P", | |
"CAT": "H", "CAC": "H", "CAA": "Q", "CAG": "Q", | |
"CGT": "R", "CGC": "R", "CGA": "R", "CGG": "R", | |
"ATT": "I", "ATC": "I", "ATA": "I", "ATG": "M", | |
"ACT": "T", "ACC": "T", "ACA": "T", "ACG": "T", | |
"AAT": "N", "AAC": "N", "AAA": "K", "AAG": "K", | |
"AGT": "S", "AGC": "S", "AGA": "R", "AGG": "R", | |
"GTT": "V", "GTC": "V", "GTA": "V", "GTG": "V", | |
"GCT": "A", "GCC": "A", "GCA": "A", "GCG": "A", | |
"GAT": "D", "GAC": "D", "GAA": "E", "GAG": "E", | |
"GGT": "G", "GGC": "G", "GGA": "G", "GGG": "G", | |
}, | |
stop_codons=["TAA", "TGA"], | |
start_codons=["ATG"], | |
) | |
register_ncbi_table( | |
name="Trematode Mitochondrial", | |
alt_name=None, | |
id=21, | |
table={ | |
"TTT": "F", "TTC": "F", "TTA": "L", "TTG": "L", | |
"TCT": "S", "TCC": "S", "TCA": "S", "TCG": "S", | |
"TAT": "Y", "TAC": "Y", # noqa: E241 | |
"TGT": "C", "TGC": "C", "TGA": "W", "TGG": "W", | |
"CTT": "L", "CTC": "L", "CTA": "L", "CTG": "L", | |
"CCT": "P", "CCC": "P", "CCA": "P", "CCG": "P", | |
"CAT": "H", "CAC": "H", "CAA": "Q", "CAG": "Q", | |
"CGT": "R", "CGC": "R", "CGA": "R", "CGG": "R", | |
"ATT": "I", "ATC": "I", "ATA": "M", "ATG": "M", | |
"ACT": "T", "ACC": "T", "ACA": "T", "ACG": "T", | |
"AAT": "N", "AAC": "N", "AAA": "N", "AAG": "K", | |
"AGT": "S", "AGC": "S", "AGA": "S", "AGG": "S", | |
"GTT": "V", "GTC": "V", "GTA": "V", "GTG": "V", | |
"GCT": "A", "GCC": "A", "GCA": "A", "GCG": "A", | |
"GAT": "D", "GAC": "D", "GAA": "E", "GAG": "E", | |
"GGT": "G", "GGC": "G", "GGA": "G", "GGG": "G", | |
}, | |
stop_codons=["TAA", "TAG"], | |
start_codons=["ATG", "GTG"], | |
) | |
register_ncbi_table( | |
name="Scenedesmus obliquus Mitochondrial", | |
alt_name=None, | |
id=22, | |
table={ | |
"TTT": "F", "TTC": "F", "TTA": "L", "TTG": "L", | |
"TCT": "S", "TCC": "S", "TCG": "S", # noqa: E241 | |
"TAT": "Y", "TAC": "Y", "TAG": "L", # noqa: E241 | |
"TGT": "C", "TGC": "C", "TGG": "W", # noqa: E241 | |
"CTT": "L", "CTC": "L", "CTA": "L", "CTG": "L", | |
"CCT": "P", "CCC": "P", "CCA": "P", "CCG": "P", | |
"CAT": "H", "CAC": "H", "CAA": "Q", "CAG": "Q", | |
"CGT": "R", "CGC": "R", "CGA": "R", "CGG": "R", | |
"ATT": "I", "ATC": "I", "ATA": "I", "ATG": "M", | |
"ACT": "T", "ACC": "T", "ACA": "T", "ACG": "T", | |
"AAT": "N", "AAC": "N", "AAA": "K", "AAG": "K", | |
"AGT": "S", "AGC": "S", "AGA": "R", "AGG": "R", | |
"GTT": "V", "GTC": "V", "GTA": "V", "GTG": "V", | |
"GCT": "A", "GCC": "A", "GCA": "A", "GCG": "A", | |
"GAT": "D", "GAC": "D", "GAA": "E", "GAG": "E", | |
"GGT": "G", "GGC": "G", "GGA": "G", "GGG": "G", | |
}, | |
stop_codons=["TCA", "TAA", "TGA"], | |
start_codons=["ATG"], | |
) | |
register_ncbi_table( | |
name="Thraustochytrium Mitochondrial", | |
alt_name=None, | |
id=23, | |
table={ | |
"TTT": "F", "TTC": "F", "TTG": "L", # noqa: E241 | |
"TCT": "S", "TCC": "S", "TCA": "S", "TCG": "S", | |
"TAT": "Y", "TAC": "Y", # noqa: E241 | |
"TGT": "C", "TGC": "C", "TGG": "W", # noqa: E241 | |
"CTT": "L", "CTC": "L", "CTA": "L", "CTG": "L", | |
"CCT": "P", "CCC": "P", "CCA": "P", "CCG": "P", | |
"CAT": "H", "CAC": "H", "CAA": "Q", "CAG": "Q", | |
"CGT": "R", "CGC": "R", "CGA": "R", "CGG": "R", | |
"ATT": "I", "ATC": "I", "ATA": "I", "ATG": "M", | |
"ACT": "T", "ACC": "T", "ACA": "T", "ACG": "T", | |
"AAT": "N", "AAC": "N", "AAA": "K", "AAG": "K", | |
"AGT": "S", "AGC": "S", "AGA": "R", "AGG": "R", | |
"GTT": "V", "GTC": "V", "GTA": "V", "GTG": "V", | |
"GCT": "A", "GCC": "A", "GCA": "A", "GCG": "A", | |
"GAT": "D", "GAC": "D", "GAA": "E", "GAG": "E", | |
"GGT": "G", "GGC": "G", "GGA": "G", "GGG": "G", | |
}, | |
stop_codons=["TTA", "TAA", "TAG", "TGA"], | |
start_codons=["ATT", "ATG", "GTG"], | |
) | |
register_ncbi_table( | |
name="Pterobranchia Mitochondrial", | |
alt_name=None, | |
id=24, | |
table={ | |
"TTT": "F", "TTC": "F", "TTA": "L", "TTG": "L", | |
"TCT": "S", "TCC": "S", "TCA": "S", "TCG": "S", | |
"TAT": "Y", "TAC": "Y", # noqa: E241 | |
"TGT": "C", "TGC": "C", "TGA": "W", "TGG": "W", | |
"CTT": "L", "CTC": "L", "CTA": "L", "CTG": "L", | |
"CCT": "P", "CCC": "P", "CCA": "P", "CCG": "P", | |
"CAT": "H", "CAC": "H", "CAA": "Q", "CAG": "Q", | |
"CGT": "R", "CGC": "R", "CGA": "R", "CGG": "R", | |
"ATT": "I", "ATC": "I", "ATA": "I", "ATG": "M", | |
"ACT": "T", "ACC": "T", "ACA": "T", "ACG": "T", | |
"AAT": "N", "AAC": "N", "AAA": "K", "AAG": "K", | |
"AGT": "S", "AGC": "S", "AGA": "S", "AGG": "K", | |
"GTT": "V", "GTC": "V", "GTA": "V", "GTG": "V", | |
"GCT": "A", "GCC": "A", "GCA": "A", "GCG": "A", | |
"GAT": "D", "GAC": "D", "GAA": "E", "GAG": "E", | |
"GGT": "G", "GGC": "G", "GGA": "G", "GGG": "G", | |
}, | |
stop_codons=["TAA", "TAG"], | |
start_codons=["TTG", "CTG", "ATG", "GTG"], | |
) | |
register_ncbi_table( | |
name="Candidate Division SR1 and Gracilibacteria", | |
alt_name=None, | |
id=25, | |
table={ | |
"TTT": "F", "TTC": "F", "TTA": "L", "TTG": "L", | |
"TCT": "S", "TCC": "S", "TCA": "S", "TCG": "S", | |
"TAT": "Y", "TAC": "Y", # noqa: E241 | |
"TGT": "C", "TGC": "C", "TGA": "G", "TGG": "W", | |
"CTT": "L", "CTC": "L", "CTA": "L", "CTG": "L", | |
"CCT": "P", "CCC": "P", "CCA": "P", "CCG": "P", | |
"CAT": "H", "CAC": "H", "CAA": "Q", "CAG": "Q", | |
"CGT": "R", "CGC": "R", "CGA": "R", "CGG": "R", | |
"ATT": "I", "ATC": "I", "ATA": "I", "ATG": "M", | |
"ACT": "T", "ACC": "T", "ACA": "T", "ACG": "T", | |
"AAT": "N", "AAC": "N", "AAA": "K", "AAG": "K", | |
"AGT": "S", "AGC": "S", "AGA": "R", "AGG": "R", | |
"GTT": "V", "GTC": "V", "GTA": "V", "GTG": "V", | |
"GCT": "A", "GCC": "A", "GCA": "A", "GCG": "A", | |
"GAT": "D", "GAC": "D", "GAA": "E", "GAG": "E", | |
"GGT": "G", "GGC": "G", "GGA": "G", "GGG": "G", | |
}, | |
stop_codons=["TAA", "TAG"], | |
start_codons=["TTG", "ATG", "GTG"], | |
) | |
register_ncbi_table( | |
name="Pachysolen tannophilus Nuclear", | |
alt_name=None, | |
id=26, | |
table={ | |
"TTT": "F", "TTC": "F", "TTA": "L", "TTG": "L", | |
"TCT": "S", "TCC": "S", "TCA": "S", "TCG": "S", | |
"TAT": "Y", "TAC": "Y", # noqa: E241 | |
"TGT": "C", "TGC": "C", "TGG": "W", # noqa: E241 | |
"CTT": "L", "CTC": "L", "CTA": "L", "CTG": "A", | |
"CCT": "P", "CCC": "P", "CCA": "P", "CCG": "P", | |
"CAT": "H", "CAC": "H", "CAA": "Q", "CAG": "Q", | |
"CGT": "R", "CGC": "R", "CGA": "R", "CGG": "R", | |
"ATT": "I", "ATC": "I", "ATA": "I", "ATG": "M", | |
"ACT": "T", "ACC": "T", "ACA": "T", "ACG": "T", | |
"AAT": "N", "AAC": "N", "AAA": "K", "AAG": "K", | |
"AGT": "S", "AGC": "S", "AGA": "R", "AGG": "R", | |
"GTT": "V", "GTC": "V", "GTA": "V", "GTG": "V", | |
"GCT": "A", "GCC": "A", "GCA": "A", "GCG": "A", | |
"GAT": "D", "GAC": "D", "GAA": "E", "GAG": "E", | |
"GGT": "G", "GGC": "G", "GGA": "G", "GGG": "G", | |
}, | |
stop_codons=["TAA", "TAG", "TGA"], | |
start_codons=["CTG", "ATG"], | |
) | |
register_ncbi_table( | |
name="Karyorelict Nuclear", | |
alt_name=None, | |
id=27, | |
table={ | |
"TTT": "F", "TTC": "F", "TTA": "L", "TTG": "L", | |
"TCT": "S", "TCC": "S", "TCA": "S", "TCG": "S", | |
"TAT": "Y", "TAC": "Y", "TAA": "Q", "TAG": "Q", | |
"TGT": "C", "TGC": "C", "TGA": "W", "TGG": "W", | |
"CTT": "L", "CTC": "L", "CTA": "L", "CTG": "L", | |
"CCT": "P", "CCC": "P", "CCA": "P", "CCG": "P", | |
"CAT": "H", "CAC": "H", "CAA": "Q", "CAG": "Q", | |
"CGT": "R", "CGC": "R", "CGA": "R", "CGG": "R", | |
"ATT": "I", "ATC": "I", "ATA": "I", "ATG": "M", | |
"ACT": "T", "ACC": "T", "ACA": "T", "ACG": "T", | |
"AAT": "N", "AAC": "N", "AAA": "K", "AAG": "K", | |
"AGT": "S", "AGC": "S", "AGA": "R", "AGG": "R", | |
"GTT": "V", "GTC": "V", "GTA": "V", "GTG": "V", | |
"GCT": "A", "GCC": "A", "GCA": "A", "GCG": "A", | |
"GAT": "D", "GAC": "D", "GAA": "E", "GAG": "E", | |
"GGT": "G", "GGC": "G", "GGA": "G", "GGG": "G", | |
}, | |
stop_codons=["TGA"], | |
start_codons=["ATG"], | |
) | |
register_ncbi_table( | |
name="Condylostoma Nuclear", | |
alt_name=None, | |
id=28, | |
table={ | |
"TTT": "F", "TTC": "F", "TTA": "L", "TTG": "L", | |
"TCT": "S", "TCC": "S", "TCA": "S", "TCG": "S", | |
"TAT": "Y", "TAC": "Y", "TAA": "Q", "TAG": "Q", | |
"TGT": "C", "TGC": "C", "TGA": "W", "TGG": "W", | |
"CTT": "L", "CTC": "L", "CTA": "L", "CTG": "L", | |
"CCT": "P", "CCC": "P", "CCA": "P", "CCG": "P", | |
"CAT": "H", "CAC": "H", "CAA": "Q", "CAG": "Q", | |
"CGT": "R", "CGC": "R", "CGA": "R", "CGG": "R", | |
"ATT": "I", "ATC": "I", "ATA": "I", "ATG": "M", | |
"ACT": "T", "ACC": "T", "ACA": "T", "ACG": "T", | |
"AAT": "N", "AAC": "N", "AAA": "K", "AAG": "K", | |
"AGT": "S", "AGC": "S", "AGA": "R", "AGG": "R", | |
"GTT": "V", "GTC": "V", "GTA": "V", "GTG": "V", | |
"GCT": "A", "GCC": "A", "GCA": "A", "GCG": "A", | |
"GAT": "D", "GAC": "D", "GAA": "E", "GAG": "E", | |
"GGT": "G", "GGC": "G", "GGA": "G", "GGG": "G", | |
}, | |
stop_codons=["TAA", "TAG", "TGA"], | |
start_codons=["ATG"], | |
) | |
register_ncbi_table( | |
name="Mesodinium Nuclear", | |
alt_name=None, | |
id=29, | |
table={ | |
"TTT": "F", "TTC": "F", "TTA": "L", "TTG": "L", | |
"TCT": "S", "TCC": "S", "TCA": "S", "TCG": "S", | |
"TAT": "Y", "TAC": "Y", "TAA": "Y", "TAG": "Y", | |
"TGT": "C", "TGC": "C", "TGG": "W", # noqa: E241 | |
"CTT": "L", "CTC": "L", "CTA": "L", "CTG": "L", | |
"CCT": "P", "CCC": "P", "CCA": "P", "CCG": "P", | |
"CAT": "H", "CAC": "H", "CAA": "Q", "CAG": "Q", | |
"CGT": "R", "CGC": "R", "CGA": "R", "CGG": "R", | |
"ATT": "I", "ATC": "I", "ATA": "I", "ATG": "M", | |
"ACT": "T", "ACC": "T", "ACA": "T", "ACG": "T", | |
"AAT": "N", "AAC": "N", "AAA": "K", "AAG": "K", | |
"AGT": "S", "AGC": "S", "AGA": "R", "AGG": "R", | |
"GTT": "V", "GTC": "V", "GTA": "V", "GTG": "V", | |
"GCT": "A", "GCC": "A", "GCA": "A", "GCG": "A", | |
"GAT": "D", "GAC": "D", "GAA": "E", "GAG": "E", | |
"GGT": "G", "GGC": "G", "GGA": "G", "GGG": "G", | |
}, | |
stop_codons=["TGA"], | |
start_codons=["ATG"], | |
) | |
register_ncbi_table( | |
name="Peritrich Nuclear", | |
alt_name=None, | |
id=30, | |
table={ | |
"TTT": "F", "TTC": "F", "TTA": "L", "TTG": "L", | |
"TCT": "S", "TCC": "S", "TCA": "S", "TCG": "S", | |
"TAT": "Y", "TAC": "Y", "TAA": "E", "TAG": "E", | |
"TGT": "C", "TGC": "C", "TGG": "W", # noqa: E241 | |
"CTT": "L", "CTC": "L", "CTA": "L", "CTG": "L", | |
"CCT": "P", "CCC": "P", "CCA": "P", "CCG": "P", | |
"CAT": "H", "CAC": "H", "CAA": "Q", "CAG": "Q", | |
"CGT": "R", "CGC": "R", "CGA": "R", "CGG": "R", | |
"ATT": "I", "ATC": "I", "ATA": "I", "ATG": "M", | |
"ACT": "T", "ACC": "T", "ACA": "T", "ACG": "T", | |
"AAT": "N", "AAC": "N", "AAA": "K", "AAG": "K", | |
"AGT": "S", "AGC": "S", "AGA": "R", "AGG": "R", | |
"GTT": "V", "GTC": "V", "GTA": "V", "GTG": "V", | |
"GCT": "A", "GCC": "A", "GCA": "A", "GCG": "A", | |
"GAT": "D", "GAC": "D", "GAA": "E", "GAG": "E", | |
"GGT": "G", "GGC": "G", "GGA": "G", "GGG": "G", | |
}, | |
stop_codons=["TGA"], | |
start_codons=["ATG"], | |
) | |
register_ncbi_table( | |
name="Blastocrithidia Nuclear", | |
alt_name=None, | |
id=31, | |
table={ | |
"TTT": "F", "TTC": "F", "TTA": "L", "TTG": "L", | |
"TCT": "S", "TCC": "S", "TCA": "S", "TCG": "S", | |
"TAT": "Y", "TAC": "Y", "TAA": "E", "TAG": "E", | |
"TGT": "C", "TGC": "C", "TGA": "W", "TGG": "W", | |
"CTT": "L", "CTC": "L", "CTA": "L", "CTG": "L", | |
"CCT": "P", "CCC": "P", "CCA": "P", "CCG": "P", | |
"CAT": "H", "CAC": "H", "CAA": "Q", "CAG": "Q", | |
"CGT": "R", "CGC": "R", "CGA": "R", "CGG": "R", | |
"ATT": "I", "ATC": "I", "ATA": "I", "ATG": "M", | |
"ACT": "T", "ACC": "T", "ACA": "T", "ACG": "T", | |
"AAT": "N", "AAC": "N", "AAA": "K", "AAG": "K", | |
"AGT": "S", "AGC": "S", "AGA": "R", "AGG": "R", | |
"GTT": "V", "GTC": "V", "GTA": "V", "GTG": "V", | |
"GCT": "A", "GCC": "A", "GCA": "A", "GCG": "A", | |
"GAT": "D", "GAC": "D", "GAA": "E", "GAG": "E", | |
"GGT": "G", "GGC": "G", "GGA": "G", "GGG": "G", | |
}, | |
stop_codons=["TAA", "TAG"], | |
start_codons=["ATG"], | |
) | |
register_ncbi_table( | |
name="Balanophoraceae Plastid", | |
alt_name=None, | |
id=32, | |
table={ | |
"TTT": "F", "TTC": "F", "TTA": "L", "TTG": "L", | |
"TCT": "S", "TCC": "S", "TCA": "S", "TCG": "S", | |
"TAT": "Y", "TAC": "Y", "TAG": "W", # noqa: E241 | |
"TGT": "C", "TGC": "C", "TGG": "W", # noqa: E241 | |
"CTT": "L", "CTC": "L", "CTA": "L", "CTG": "L", | |
"CCT": "P", "CCC": "P", "CCA": "P", "CCG": "P", | |
"CAT": "H", "CAC": "H", "CAA": "Q", "CAG": "Q", | |
"CGT": "R", "CGC": "R", "CGA": "R", "CGG": "R", | |
"ATT": "I", "ATC": "I", "ATA": "I", "ATG": "M", | |
"ACT": "T", "ACC": "T", "ACA": "T", "ACG": "T", | |
"AAT": "N", "AAC": "N", "AAA": "K", "AAG": "K", | |
"AGT": "S", "AGC": "S", "AGA": "R", "AGG": "R", | |
"GTT": "V", "GTC": "V", "GTA": "V", "GTG": "V", | |
"GCT": "A", "GCC": "A", "GCA": "A", "GCG": "A", | |
"GAT": "D", "GAC": "D", "GAA": "E", "GAG": "E", | |
"GGT": "G", "GGC": "G", "GGA": "G", "GGG": "G", | |
}, | |
stop_codons=["TAA", "TGA"], | |
start_codons=["TTG", "CTG", "ATT", "ATC", "ATA", "ATG", "GTG"], | |
) | |
register_ncbi_table( | |
name="Cephalodiscidae Mitochondrial", | |
alt_name=None, | |
id=33, | |
table={ | |
"TTT": "F", "TTC": "F", "TTA": "L", "TTG": "L", | |
"TCT": "S", "TCC": "S", "TCA": "S", "TCG": "S", | |
"TAT": "Y", "TAC": "Y", "TAA": "Y", # noqa: E241 | |
"TGT": "C", "TGC": "C", "TGA": "W", "TGG": "W", | |
"CTT": "L", "CTC": "L", "CTA": "L", "CTG": "L", | |
"CCT": "P", "CCC": "P", "CCA": "P", "CCG": "P", | |
"CAT": "H", "CAC": "H", "CAA": "Q", "CAG": "Q", | |
"CGT": "R", "CGC": "R", "CGA": "R", "CGG": "R", | |
"ATT": "I", "ATC": "I", "ATA": "I", "ATG": "M", | |
"ACT": "T", "ACC": "T", "ACA": "T", "ACG": "T", | |
"AAT": "N", "AAC": "N", "AAA": "K", "AAG": "K", | |
"AGT": "S", "AGC": "S", "AGA": "S", "AGG": "K", | |
"GTT": "V", "GTC": "V", "GTA": "V", "GTG": "V", | |
"GCT": "A", "GCC": "A", "GCA": "A", "GCG": "A", | |
"GAT": "D", "GAC": "D", "GAA": "E", "GAG": "E", | |
"GGT": "G", "GGC": "G", "GGA": "G", "GGG": "G", | |
}, | |
stop_codons=["TAG"], | |
start_codons=["TTG", "CTG", "ATG", "GTG"], | |
) | |
######################################################################## | |
# End of auto-generated output from Scripts/update_ncbi_codon_table.py # | |
######################################################################## | |