In [13]:
conversion = """
TTT	Phenylalanine	Phe	F
TTC	Phenylalanine	Phe	F
TTA	Leucine	Leu	L
TTG	Leucine	Leu	L
TCT	Serine	Ser	S
TCC	Serine	Ser	S
TCA	Serine	Ser	S
TCG	Serine	Ser	S
TAT	Tyrosine	Tyr	Y
TAC	Tyrosine	Tyr	Y
TAA	Termination (ochre)	Ter	X
TAG	Termination (amber)	Ter	X
TGT	Cysteine	Cys	C
TGC	Cysteine	Cys	C
TGA	Termination (opal or umber)	Ter	X
TGG	Tryptophan	Trp	W
CTT	Leucine	Leu	L
CTC	Leucine	Leu	L
CTA	Leucine	Leu	L
CTG	Leucine	Leu	L
CCT	Proline	Pro	P
CCC	Proline	Pro	P
CCA	Proline	Pro	P
CCG	Proline	Pro	P
CAT	Histidine	His	H
CAC	Histidine	His	H
CAA	Glutamine	Gln	Q
CAG	Glutamine	Gln	Q
CGT	Arginine	Arg	R
CGC	Arginine	Arg	R
CGA	Arginine	Arg	R
CGG	Arginine	Arg	R
ATT	Isoleucine	Ile	I
ATC	Isoleucine	Ile	I
ATA	Isoleucine	Ile	I
ATG	Methionine	Met	M
ACT	Threonine	Thr	T
ACC	Threonine	Thr	T
ACA	Threonine	Thr	T
ACG	Threonine	Thr	T
AAT	Asparagine	Asn	N
AAC	Asparagine	Asn	N
AAA	Lysine	Lys	K
AAG	Lysine	Lys	K
AGT	Serine	Ser	S
AGC	Serine	Ser	S
AGA	Arginine	Arg	R
AGG	Arginine	Arg	R
GTT	Valine	Val	V
GTC	Valine	Val	V
GTA	Valine	Val	V
GTG	Valine	Val	V
GCT	Alanine	Ala	A
GCC	Alanine	Ala	A
GCA	Alanine	Ala	A
GCG	Alanine	Ala	A
GAT	Aspartate	Asp	D
GAC	Aspartate	Asp	D
GAA	Glutamate	Glu	E
GAG	Glutamate	Glu	E
GGT	Glycine	Gly	G
GGC	Glycine	Gly	G
GGA	Glycine	Gly	G
GGG	Glycine	Gly	G
""".strip()

MAP = {}

for line in conversion.split('\n'):
  seq, name, abbr, c = line.split('\t')
  MAP[seq] = c

inputs = """
AACGAAGAGGACATAGAGTATCTACCGAAAAACAATCCCGAAGGACCGTTACAACACTCGATCAACCGCAAGAAAGTACGATGGCAACATCCATTGTGTATGCATCCATATCTCATCCAGCATTCTGAAAGGGTAATGAATAATTATTCCGCTGAGTTCATGAGGTATCCGAAGGAGGAGCAACACTTAGGCTATAAGAGTATCATGCACATAGATCGGGATAAATCGCCTATCATATGTGACAACAATTTCATGATTAAAAGT
AATGAAGAAGACATAGATTATCTCCCGGTGATGAATCCGGAACCCTTGCAGTTTCCCATAAATAGGAAGAAGGCGGTGAATTATCAACATCCGTTAATGCATCCAAACTTGATATGGCATTCAGAAGCGAGACAAATGTCCAATTATAGTGAATTTATGGACTACCCTACAAAATGGGAAGTACACTTGTACTGGAGTCAGATGCACATTGATTGCCGGTACAAGAATCCAATCATTGACCAAAACTTTATGTGGAAGAGT
CTAGAAATGGCTATACGTATGGTAATGCTGAGATCTTACAACCTCGAGACCCCATCCCACGACGAAAGCATTAATCACCCATATCATTTTGATGCGTACCACAGCTCGGATGTCGAGATGGAAAGAGTTCTGAGATCCGACTACCACTGTATGCAACATCTGCATATCGAGGAATCTCACCGCCCGGAACTTATA
CTTGAAATGGCGATCAAGATGGTGGAACTTAGGTCATTGAACCTGGAACCTAGCCATAAGGAATGCTCGATTAATCACCCCTACCATTTCGATTACCACTCCCAAGACGTCGAGGGAATGGAACGACATCTCCGTAGTGACGACCATATGCCTCATTACCACATAGAGGAGGGGAGTAGACGTCCCGAACTGATC
AATTGGGTTAACATAGTTGAGGTTCCAGACGACTGGAACACCTGGGTTCAGATTTGGATTAATGACCGCTGGTTTCAAAAGAAGTCCAAGTACACCATTTTCTGGGTCGATAATTTTCAGCAAAACTACCGACGGGAAGCCGACGGACAAAGCGAGAACCAGCTGATCTGGGAATCCCAAAGT
AATTGGGTGAATATCCTAGAAGTACCGGAACGCTGGAATTGGGTGCAAATGGATATCAACGACGGCCGTTGGAGTTATAAGAAATCCAAGTACATATTCTGGGTCCACTTTTTCACGCAACAAAATTATCGCCGACCGGCTGACCAGTCGGAGATGATTCTTATCACGTGGGAGCACCATTCG
TCCTGTCACGCTATATTCGACATGCATAGTTCTTGGAGAAGAGTCTGGTGTGATAAGTACAGGAATTTCCAGCATCACATGCATACCTCTTCACAGGTCCCCATGGAATCGCGTTACTTCTGCGTTCGCCATGATCTTAAACCGTGGCTCGCGTTTCAGTAC
TCATGTCATGCAATTTATGATGAGCATAGTAGTTGGAGGTTGGTTTGGGACATCTACATGAATGCCTTTCAGGTATTCATGCATTCTTCCCGAGTACCGATGGGCGAGTCCCAATACTTCGTCCGGCATGAGCGCAAACCGACCTGGCTGGCCCACCAGTAT
CTAATCGGGAATATAGACAAAAACTATCTTCAAATATGCTGGAATCGGCATTGGCCATTCGTAAGGTTCGACCAGGATTGCTGGGAGATGAAAATCGTCTTCAGAAACAAAGTTTTAGATTTCCAAGATACCAAATTCCAGGTGATGCCTTTCTACCAGAGTTTCTCTGAACTAGAGTCGCGT
TTAATCGGTAATATTGAAAAAGACTACCTTCGCATCTGGATAAGACGATGGGGACCGTTTGTAAGATTTAACATTGACTGGATGATGAAGATAGTGTTAAGAAATGCGAAGGTACTTCGATTCTTTGATAAATTCCAACTGATGCCCTCATATCAGGCTTCATTCTGGGAGCTGCCTAGTAGG
ATGGAGAACACCATCAATTGGATAATGCTCAGTATCAGGGGCATCGAGGATATCGTGGACTGGCCTCATTACCACGACAACACTCACCAGCGACCCAATTTTAACTTTGAATTTAACGACGAGAGCGCACCGTTATGGCCGCTGATTTTTGTCCAGCTCCACAATTATAAT
ATGGAAAATACCATCCAATGGATTATGGTAAGTTGGAGGATCGAGGACATAGAAAATTGGGCCCCGGTATATCATTGGAATCATTGGCGCCTTAACTTTAATTTTGGTGAGTTCAACAACGAAAGTCCACTCTGGCCTTTGGATATGGTACAACTAGCGCATAATCGTAAC
""".strip()

for i, line in enumerate(inputs.split('\n'), start=1):
  result = []
  original = []
  ready = False
  for x in range(0, len(line), 3):
    c = MAP[line[x:x+3]]
    result.append(c)
    if ready:
      original.append(line[x:x+3])
    ready |= c == 'I'
  #print(''.join(result))
  print(''.join(original))


GAGTATCTACCGAAAAACAATCCCGAAGGACCGTTACAACACTCGATCAACCGCAAGAAAGTACGATGGCAACATCCATTGTGTATGCATCCATATCTCATCCAGCATTCTGAAAGGGTAATGAATAATTATTCCGCTGAGTTCATGAGGTATCCGAAGGAGGAGCAACACTTAGGCTATAAGAGTATCATGCACATAGATCGGGATAAATCGCCTATCATATGTGACAACAATTTCATGATTAAAAGT
GATTATCTCCCGGTGATGAATCCGGAACCCTTGCAGTTTCCCATAAATAGGAAGAAGGCGGTGAATTATCAACATCCGTTAATGCATCCAAACTTGATATGGCATTCAGAAGCGAGACAAATGTCCAATTATAGTGAATTTATGGACTACCCTACAAAATGGGAAGTACACTTGTACTGGAGTCAGATGCACATTGATTGCCGGTACAAGAATCCAATCATTGACCAAAACTTTATGTGGAAGAGT
CGTATGGTAATGCTGAGATCTTACAACCTCGAGACCCCATCCCACGACGAAAGCATTAATCACCCATATCATTTTGATGCGTACCACAGCTCGGATGTCGAGATGGAAAGAGTTCTGAGATCCGACTACCACTGTATGCAACATCTGCATATCGAGGAATCTCACCGCCCGGAACTTATA
AAGATGGTGGAACTTAGGTCATTGAACCTGGAACCTAGCCATAAGGAATGCTCGATTAATCACCCCTACCATTTCGATTACCACTCCCAAGACGTCGAGGGAATGGAACGACATCTCCGTAGTGACGACCATATGCCTCATTACCACATAGAGGAGGGGAGTAGACGTCCCGAACTGATC
GTTGAGGTTCCAGACGACTGGAACACCTGGGTTCAGATTTGGATTAATGACCGCTGGTTTCAAAAGAAGTCCAAGTACACCATTTTCTGGGTCGATAATTTTCAGCAAAACTACCGACGGGAAGCCGACGGACAAAGCGAGAACCAGCTGATCTGGGAATCCCAAAGT
CTAGAAGTACCGGAACGCTGGAATTGGGTGCAAATGGATATCAACGACGGCCGTTGGAGTTATAAGAAATCCAAGTACATATTCTGGGTCCACTTTTTCACGCAACAAAATTATCGCCGACCGGCTGACCAGTCGGAGATGATTCTTATCACGTGGGAGCACCATTCG
TTCGACATGCATAGTTCTTGGAGAAGAGTCTGGTGTGATAAGTACAGGAATTTCCAGCATCACATGCATACCTCTTCACAGGTCCCCATGGAATCGCGTTACTTCTGCGTTCGCCATGATCTTAAACCGTGGCTCGCGTTTCAGTAC
TATGATGAGCATAGTAGTTGGAGGTTGGTTTGGGACATCTACATGAATGCCTTTCAGGTATTCATGCATTCTTCCCGAGTACCGATGGGCGAGTCCCAATACTTCGTCCGGCATGAGCGCAAACCGACCTGGCTGGCCCACCAGTAT
GGGAATATAGACAAAAACTATCTTCAAATATGCTGGAATCGGCATTGGCCATTCGTAAGGTTCGACCAGGATTGCTGGGAGATGAAAATCGTCTTCAGAAACAAAGTTTTAGATTTCCAAGATACCAAATTCCAGGTGATGCCTTTCTACCAGAGTTTCTCTGAACTAGAGTCGCGT
GGTAATATTGAAAAAGACTACCTTCGCATCTGGATAAGACGATGGGGACCGTTTGTAAGATTTAACATTGACTGGATGATGAAGATAGTGTTAAGAAATGCGAAGGTACTTCGATTCTTTGATAAATTCCAACTGATGCCCTCATATCAGGCTTCATTCTGGGAGCTGCCTAGTAGG
AATTGGATAATGCTCAGTATCAGGGGCATCGAGGATATCGTGGACTGGCCTCATTACCACGACAACACTCACCAGCGACCCAATTTTAACTTTGAATTTAACGACGAGAGCGCACCGTTATGGCCGCTGATTTTTGTCCAGCTCCACAATTATAAT
CAATGGATTATGGTAAGTTGGAGGATCGAGGACATAGAAAATTGGGCCCCGGTATATCATTGGAATCATTGGCGCCTTAACTTTAATTTTGGTGAGTTCAACAACGAAAGTCCACTCTGGCCTTTGGATATGGTACAACTAGCGCATAATCGTAAC

In [ ]: