I had to do some translation from DNA/RNA to amino acids and grabbed this codon table. I found, however, that there are a couple missing amino acids and one or two mistakes. Just want to drop a fixed version here in case people come looking in the future:
my %codon_table = (
AAA => 'K',
AAC => 'N',
AAG => 'K',
AAT => 'N',
ACA => 'T',
ACC => 'T',
ACG => 'T',
ACT => 'T',
AGA => 'R',
AGC => 'S',
AGG => 'R',
AGT => 'S',
ATA => 'I',
ATC => 'I',
ATG => 'M',
ATT => 'I',
CAA => 'Q',
CAC => 'H',
CAG => 'Q',
CAT => 'H',
CCA => 'P',
CCC => 'P',
CCG => 'P',
CCT => 'P',
CGA => 'R',
CGC => 'R',
CGG => 'R',
CGT => 'R',
CTA => 'L',
CTC => 'L',
CTG => 'L',
CTT => 'L',
GAA => 'E',
GAC => 'D',
GAG => 'E',
GAT => 'D',
GCA => 'A',
GCC => 'A',
GCG => 'A',
GCT => 'A',
GGA => 'G',
GGC => 'G',
GGG => 'G',
GGT => 'G',
GTA => 'V',
GTC => 'V',
GTG => 'V',
GTT => 'V',
TAA => '-',
TAC => 'Y',
TAG => '-',
TAT => 'Y',
TCA => 'S',
TCC => 'S',
TCG => 'S',
TCT => 'S',
TGA => '-',
TGC => 'C',
TGG => 'W',
TGT => 'C',
TTA => 'L',
TTC => 'F',
TTG => 'L',
TTT => 'F',
);
EDIT: Here is one I made that I like more. It is structured like you normally see codon tables in books.
my %codon_table = (
TTT => 'F', TCT => 'S', TAT => 'Y', TGT => 'C',
TTC => 'F', TCC => 'S', TAC => 'Y', TGC => 'C',
TTA => 'L', TCA => 'S', TAA => '-', TGA => '-',
TTG => 'L', TCG => 'S', TAG => '-', TGG => 'W',
CTT => 'L', CCT => 'P', CAT => 'H', CGT => 'R',
CTC => 'L', CCC => 'P', CAC => 'H', CGC => 'R',
CTA => 'L', CCA => 'P', CAA => 'Q', CGA => 'R',
CTG => 'L', CCG => 'P', CAG => 'Q', CGG => 'R',
ATT => 'I', ACT => 'T', AAT => 'N', AGT => 'S',
ATC => 'I', ACC => 'T', AAC => 'N', AGC => 'S',
ATA => 'I', ACA => 'T', AAA => 'K', AGA => 'R',
ATG => 'M', ACG => 'T', AAG => 'K', AGG => 'R',
GTT => 'V', GCT => 'A', GAT => 'D', GGT => 'G',
GTC => 'V', GCC => 'A', GAC => 'D', GGC => 'G',
GTA => 'V', GCA => 'A', GAA => 'E', GGA => 'G',
GTG => 'V', GCG => 'A', GAG => 'E', GGG => 'G',
);