// File: atfrank[P]PCASA/lib/Residue.cpp
// Function: Residue::aa321(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
std::string Residue::aa321(const std::string &aa){

  if(aa.compare("ALA") == 0){return "A";}
  else if(aa.compare("CYS") == 0){return "C";}
  else if (aa.compare("ASP") == 0){return "D";}
  else if (aa.compare("GLU") == 0){return "E";}
  else if (aa.compare("PHE") == 0){return "F";}
  else if (aa.compare("GLY") == 0){return "G";}
  else if (aa.compare("HIS") == 0 || aa.compare("HSD") == 0 || aa.compare("HSE") == 0 || aa.compare("HSP") == 0){
    return "H";
  }
  else if (aa.compare("ILE") == 0){return "I";}
  else if (aa.compare("LYS") == 0){return "K";}
  else if (aa.compare("LEU") == 0){return "L";}
  else if (aa.compare("MET") == 0){return "M";}
  else if (aa.compare("ASN") == 0){return "N";}
  else if (aa.compare("PRO") == 0){return "P";}
  else if (aa.compare("GLN") == 0){return "Q";}
  else if (aa.compare("ARG") == 0){return "R";}
  else if (aa.compare("SER") == 0){return "S";}
  else if (aa.compare("THR") == 0){return "T";}
  else if (aa.compare("VAL") == 0){return "V";}
  else if (aa.compare("TRP") == 0){return "W";}
  else if (aa.compare("TYR") == 0){return "Y";}
  else{
    return "";
  }
}

// Assembly:
subq $0xf8, %rsp
movq %rdi, 0xb0(%rsp)
movq %rdi, %rax
movq %rax, 0xb8(%rsp)
movq %rdi, 0xf0(%rsp)
movq %rsi, 0xe8(%rsp)
movq 0xe8(%rsp), %rdi
leaq 0x1d552(%rip), %rsi     # 0x7b78b
callq 0x5140
cmpl $0x0, %eax
jne 0x5e2ae
leaq 0xe7(%rsp), %rdi
movq %rdi, 0xa8(%rsp)
callq 0x5730
movq 0xb0(%rsp), %rdi
movq 0xa8(%rsp), %rdx
leaq 0x1d003(%rip), %rsi     # 0x7b272
callq 0x7900
jmp 0x5e276
leaq 0xe7(%rsp), %rdi
callq 0x5480
jmp 0x5eccd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0xe7(%rsp), %rdi
callq 0x5480
jmp 0x5ecdd
movq 0xe8(%rsp), %rdi
leaq 0x1d4de(%rip), %rsi     # 0x7b79b
callq 0x5140
cmpl $0x0, %eax
jne 0x5e332
leaq 0xd3(%rsp), %rdi
movq %rdi, 0xa0(%rsp)
callq 0x5730
movq 0xb0(%rsp), %rdi
movq 0xa0(%rsp), %rdx
leaq 0x2cfd49(%rip), %rsi    # 0x32e03c
callq 0x7900
jmp 0x5e2fa
leaq 0xd3(%rsp), %rdi
callq 0x5480
jmp 0x5eccd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0xd3(%rsp), %rdi
callq 0x5480
jmp 0x5ecdd
movq 0xe8(%rsp), %rdi
leaq 0x1d472(%rip), %rsi     # 0x7b7b3
callq 0x5140
cmpl $0x0, %eax
jne 0x5e3b6
leaq 0xd2(%rsp), %rdi
movq %rdi, 0x98(%rsp)
callq 0x5730
movq 0xb0(%rsp), %rdi
movq 0x98(%rsp), %rdx
leaq 0x1d06f(%rip), %rsi     # 0x7b3e6
callq 0x7900
jmp 0x5e37e
leaq 0xd2(%rsp), %rdi
callq 0x5480
jmp 0x5eccd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0xd2(%rsp), %rdi
callq 0x5480
jmp 0x5ecdd
movq 0xe8(%rsp), %rdi
leaq 0x1e844(%rip), %rsi     # 0x7cc09
callq 0x5140
cmpl $0x0, %eax
jne 0x5e43a
leaq 0xd1(%rsp), %rdi
movq %rdi, 0x90(%rsp)
callq 0x5730
movq 0xb0(%rsp), %rdi
movq 0x90(%rsp), %rdx
leaq 0x1e9da(%rip), %rsi     # 0x7cdd5
callq 0x7900
jmp 0x5e402
leaq 0xd1(%rsp), %rdi
callq 0x5480
jmp 0x5eccd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0xd1(%rsp), %rdi
callq 0x5480
jmp 0x5ecdd
movq 0xe8(%rsp), %rdi
leaq 0x1d3ba(%rip), %rsi     # 0x7b803
callq 0x5140
cmpl $0x0, %eax
jne 0x5e4be
leaq 0xd0(%rsp), %rdi
movq %rdi, 0x88(%rsp)
callq 0x5730
movq 0xb0(%rsp), %rdi
movq 0x88(%rsp), %rdx
leaq 0x1e2d9(%rip), %rsi     # 0x7c758
callq 0x7900
jmp 0x5e486
leaq 0xd0(%rsp), %rdi
callq 0x5480
jmp 0x5eccd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0xd0(%rsp), %rdi
callq 0x5480
jmp 0x5ecdd
movq 0xe8(%rsp), %rdi
leaq 0x1d2b6(%rip), %rsi     # 0x7b783
callq 0x5140
cmpl $0x0, %eax
jne 0x5e542
leaq 0xcf(%rsp), %rdi
movq %rdi, 0x80(%rsp)
callq 0x5730
movq 0xb0(%rsp), %rdi
movq 0x80(%rsp), %rdx
leaq 0x1cec8(%rip), %rsi     # 0x7b3cb
callq 0x7900
jmp 0x5e50a
leaq 0xcf(%rsp), %rdi
callq 0x5480
jmp 0x5eccd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0xcf(%rsp), %rdi
callq 0x5480
jmp 0x5ecdd
movq 0xe8(%rsp), %rdi
leaq 0x1d29a(%rip), %rsi     # 0x7b7eb
callq 0x5140
cmpl $0x0, %eax
je 0x5e5a6
movq 0xe8(%rsp), %rdi
leaq 0x1ce6b(%rip), %rsi     # 0x7b3d5
callq 0x5140
cmpl $0x0, %eax
je 0x5e5a6
movq 0xe8(%rsp), %rdi
leaq 0x1ce56(%rip), %rsi     # 0x7b3d9
callq 0x5140
cmpl $0x0, %eax
je 0x5e5a6
movq 0xe8(%rsp), %rdi
leaq 0x1ce41(%rip), %rsi     # 0x7b3dd
callq 0x5140
cmpl $0x0, %eax
jne 0x5e60b
leaq 0xce(%rsp), %rdi
movq %rdi, 0x78(%rsp)
callq 0x5730
movq 0xb0(%rsp), %rdi
movq 0x78(%rsp), %rdx
leaq 0x1e043(%rip), %rsi     # 0x7c60f
callq 0x7900
jmp 0x5e5d3
leaq 0xce(%rsp), %rdi
callq 0x5480
jmp 0x5eccd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0xce(%rsp), %rdi
callq 0x5480
jmp 0x5ecdd
movq 0xe8(%rsp), %rdi
leaq 0x1d1b9(%rip), %rsi     # 0x7b7d3
callq 0x5140
cmpl $0x0, %eax
jne 0x5e689
leaq 0xcd(%rsp), %rdi
movq %rdi, 0x70(%rsp)
callq 0x5730
movq 0xb0(%rsp), %rdi
movq 0x70(%rsp), %rdx
leaq 0x1e817(%rip), %rsi     # 0x7ce61
callq 0x7900
jmp 0x5e651
leaq 0xcd(%rsp), %rdi
callq 0x5480
jmp 0x5eccd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0xcd(%rsp), %rdi
callq 0x5480
jmp 0x5ecdd
movq 0xe8(%rsp), %rdi
leaq 0x1e554(%rip), %rsi     # 0x7cbec
callq 0x5140
cmpl $0x0, %eax
jne 0x5e707
leaq 0xcc(%rsp), %rdi
movq %rdi, 0x68(%rsp)
callq 0x5730
movq 0xb0(%rsp), %rdi
movq 0x68(%rsp), %rdx
leaq 0x1ddb3(%rip), %rsi     # 0x7c47b
callq 0x7900
jmp 0x5e6cf
leaq 0xcc(%rsp), %rdi
callq 0x5480
jmp 0x5eccd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0xcc(%rsp), %rdi
callq 0x5480
jmp 0x5ecdd
movq 0xe8(%rsp), %rdi
leaq 0x1d0c5(%rip), %rsi     # 0x7b7db
callq 0x5140
cmpl $0x0, %eax
jne 0x5e785
leaq 0xcb(%rsp), %rdi
movq %rdi, 0x60(%rsp)
callq 0x5730
movq 0xb0(%rsp), %rdi
movq 0x60(%rsp), %rdx
leaq 0x1e695(%rip), %rsi     # 0x7cddb
callq 0x7900
jmp 0x5e74d
leaq 0xcb(%rsp), %rdi
callq 0x5480
jmp 0x5eccd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0xcb(%rsp), %rdi
callq 0x5480
jmp 0x5ecdd
movq 0xe8(%rsp), %rdi
leaq 0x1d05f(%rip), %rsi     # 0x7b7f3
callq 0x5140
cmpl $0x0, %eax
jne 0x5e803
leaq 0xca(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0x5730
movq 0xb0(%rsp), %rdi
movq 0x58(%rsp), %rdx
leaq 0x1dd17(%rip), %rsi     # 0x7c4db
callq 0x7900
jmp 0x5e7cb
leaq 0xca(%rsp), %rdi
callq 0x5480
jmp 0x5eccd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0xca(%rsp), %rdi
callq 0x5480
jmp 0x5ecdd
movq 0xe8(%rsp), %rdi
leaq 0x1cfb1(%rip), %rsi     # 0x7b7c3
callq 0x5140
cmpl $0x0, %eax
jne 0x5e881
leaq 0xc9(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0x5730
movq 0xb0(%rsp), %rdi
movq 0x50(%rsp), %rdx
leaq 0x1e2a8(%rip), %rsi     # 0x7caea
callq 0x7900
jmp 0x5e849
leaq 0xc9(%rsp), %rdi
callq 0x5480
jmp 0x5eccd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0xc9(%rsp), %rdi
callq 0x5480
jmp 0x5ecdd
movq 0xe8(%rsp), %rdi
leaq 0x1cf13(%rip), %rsi     # 0x7b7a3
callq 0x5140
cmpl $0x0, %eax
jne 0x5e8ff
leaq 0xc8(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0x5730
movq 0xb0(%rsp), %rdi
movq 0x48(%rsp), %rdx
leaq 0x1c8a3(%rip), %rsi     # 0x7b163
callq 0x7900
jmp 0x5e8c7
leaq 0xc8(%rsp), %rdi
callq 0x5480
jmp 0x5eccd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0xc8(%rsp), %rdi
callq 0x5480
jmp 0x5ecdd
movq 0xe8(%rsp), %rdi
leaq 0x1e34f(%rip), %rsi     # 0x7cc5d
callq 0x5140
cmpl $0x0, %eax
jne 0x5e97d
leaq 0xc7(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0x5730
movq 0xb0(%rsp), %rdi
movq 0x40(%rsp), %rdx
leaq 0x1de1c(%rip), %rsi     # 0x7c75a
callq 0x7900
jmp 0x5e945
leaq 0xc7(%rsp), %rdi
callq 0x5480
jmp 0x5eccd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0xc7(%rsp), %rdi
callq 0x5480
jmp 0x5ecdd
movq 0xe8(%rsp), %rdi
leaq 0x1e2ff(%rip), %rsi     # 0x7cc8b
callq 0x5140
cmpl $0x0, %eax
jne 0x5e9fb
leaq 0xc6(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0x5730
movq 0xb0(%rsp), %rdi
movq 0x38(%rsp), %rdx
leaq 0x1c7b3(%rip), %rsi     # 0x7b16f
callq 0x7900
jmp 0x5e9c3
leaq 0xc6(%rsp), %rdi
callq 0x5480
jmp 0x5eccd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0xc6(%rsp), %rdi
callq 0x5480
jmp 0x5ecdd
movq 0xe8(%rsp), %rdi
leaq 0x1cd89(%rip), %rsi     # 0x7b793
callq 0x5140
cmpl $0x0, %eax
jne 0x5ea79
leaq 0xc5(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0x5730
movq 0xb0(%rsp), %rdi
movq 0x30(%rsp), %rdx
leaq 0x1c742(%rip), %rsi     # 0x7b17c
callq 0x7900
jmp 0x5ea41
leaq 0xc5(%rsp), %rdi
callq 0x5480
jmp 0x5eccd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0xc5(%rsp), %rdi
callq 0x5480
jmp 0x5ecdd
movq 0xe8(%rsp), %rdi
leaq 0x1cd23(%rip), %rsi     # 0x7b7ab
callq 0x5140
cmpl $0x0, %eax
jne 0x5eaf7
leaq 0xc4(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x5730
movq 0xb0(%rsp), %rdi
movq 0x28(%rsp), %rdx
leaq 0x1ddfa(%rip), %rsi     # 0x7c8b2
callq 0x7900
jmp 0x5eabf
leaq 0xc4(%rsp), %rdi
callq 0x5480
jmp 0x5eccd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0xc4(%rsp), %rdi
callq 0x5480
jmp 0x5ecdd
movq 0xe8(%rsp), %rdi
leaq 0x1ccb5(%rip), %rsi     # 0x7b7bb
callq 0x5140
cmpl $0x0, %eax
jne 0x5eb75
leaq 0xc3(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x5730
movq 0xb0(%rsp), %rdi
movq 0x20(%rsp), %rdx
leaq 0x1dc26(%rip), %rsi     # 0x7c75c
callq 0x7900
jmp 0x5eb3d
leaq 0xc3(%rsp), %rdi
callq 0x5480
jmp 0x5eccd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0xc3(%rsp), %rdi
callq 0x5480
jmp 0x5ecdd
movq 0xe8(%rsp), %rdi
leaq 0x1e0b9(%rip), %rsi     # 0x7cc3d
callq 0x5140
cmpl $0x0, %eax
jne 0x5ebf3
leaq 0xc2(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x5730
movq 0xb0(%rsp), %rdi
movq 0x18(%rsp), %rdx
leaq 0x1dbaa(%rip), %rsi     # 0x7c75e
callq 0x7900
jmp 0x5ebbb
leaq 0xc2(%rsp), %rdi
callq 0x5480
jmp 0x5eccd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0xc2(%rsp), %rdi
callq 0x5480
jmp 0x5ecdd
movq 0xe8(%rsp), %rdi
leaq 0x1cc09(%rip), %rsi     # 0x7b80b
callq 0x5140
cmpl $0x0, %eax
jne 0x5ec6e
leaq 0xc1(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x5730
movq 0xb0(%rsp), %rdi
movq 0x10(%rsp), %rdx
leaq 0x1c785(%rip), %rsi     # 0x7b3b7
callq 0x7900
jmp 0x5ec39
leaq 0xc1(%rsp), %rdi
callq 0x5480
jmp 0x5eccd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0xc1(%rsp), %rdi
callq 0x5480
jmp 0x5ecdd
leaq 0xc0(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x5730
movq 0xb0(%rsp), %rdi
movq 0x8(%rsp), %rdx
leaq 0x1c71e(%rip), %rsi     # 0x7b3b2
callq 0x7900
jmp 0x5ec9b
leaq 0xc0(%rsp), %rdi
callq 0x5480
jmp 0x5eccd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0xc0(%rsp), %rdi
callq 0x5480
jmp 0x5ecdd
movq 0xb8(%rsp), %rax
addq $0xf8, %rsp
retq
movq 0xd8(%rsp), %rdi
callq 0x5720
nopw (%rax,%rax)