pub const CODON_MAPPING: [&[u8; 3]; 64] = [
b"AAA", b"AAC", b"AAG", b"AAT", b"ACA", b"ACC", b"ACG", b"ACT", b"AGA", b"AGC", b"AGG", b"AGT",
b"ATA", b"ATC", b"ATG", b"ATT", b"CAA", b"CAC", b"CAG", b"CAT", b"CCA", b"CCC", b"CCG", b"CCT",
b"CGA", b"CGC", b"CGG", b"CGT", b"CTA", b"CTC", b"CTG", b"CTT", b"GAA", b"GAC", b"GAG", b"GAT",
b"GCA", b"GCC", b"GCG", b"GCT", b"GGA", b"GGC", b"GGG", b"GGT", b"GTA", b"GTC", b"GTG", b"GTT",
b"TAA", b"TAC", b"TAG", b"TAT", b"TCA", b"TCC", b"TCG", b"TCT", b"TGA", b"TGC", b"TGG", b"TGT",
b"TTA", b"TTC", b"TTG", b"TTT",
];
pub const AMINO_MAPPING: [u8; 65] = [
b'K', b'N', b'K', b'N', b'T', b'T', b'T', b'T', b'R', b'S', b'R', b'S', b'I', b'I', b'M', b'I',
b'Q', b'H', b'Q', b'H', b'P', b'P', b'P', b'P', b'R', b'R', b'R', b'R', b'L', b'L', b'L', b'L',
b'E', b'D', b'E', b'D', b'A', b'A', b'A', b'A', b'G', b'G', b'G', b'G', b'V', b'V', b'V', b'V',
b'*', b'Y', b'*', b'Y', b'S', b'S', b'S', b'S', b'*', b'C', b'W', b'C', b'L', b'F', b'L', b'F',
b'X',
];
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
#[repr(u8)]
pub enum Amino {
A,
C,
D,
E,
F,
G,
H,
I,
K,
L,
M,
N,
P,
Q,
R,
S,
T,
V,
W,
Y,
Stop,
Unknown,
}
impl From<Amino> for char {
fn from(a: Amino) -> Self {
match a {
Amino::A => 'A',
Amino::C => 'C',
Amino::D => 'D',
Amino::E => 'E',
Amino::F => 'F',
Amino::G => 'G',
Amino::H => 'H',
Amino::I => 'I',
Amino::K => 'K',
Amino::L => 'L',
Amino::M => 'M',
Amino::N => 'N',
Amino::P => 'P',
Amino::Q => 'Q',
Amino::R => 'R',
Amino::S => 'S',
Amino::T => 'T',
Amino::V => 'V',
Amino::W => 'W',
Amino::Y => 'Y',
Amino::Stop => '*',
Amino::Unknown => 'X',
}
}
}
impl From<Amino> for &str {
fn from(a: Amino) -> Self {
match a {
Amino::A => "A",
Amino::C => "C",
Amino::D => "D",
Amino::E => "E",
Amino::F => "F",
Amino::G => "G",
Amino::H => "H",
Amino::I => "I",
Amino::K => "K",
Amino::L => "L",
Amino::M => "M",
Amino::N => "N",
Amino::P => "P",
Amino::Q => "Q",
Amino::R => "R",
Amino::S => "S",
Amino::T => "T",
Amino::V => "V",
Amino::W => "W",
Amino::Y => "Y",
Amino::Stop => "*",
Amino::Unknown => "X",
}
}
}