// File: ncbi[P]amr/seq.cpp
// Function: Seq_sp::Peptide::toGBMR4()
void Peptide::toGBMR4 ()
{
  for (char& c : seq)
    switch (c)
    {
      case 'A':
      case 'D':
      case 'K':
      case 'E':
      case 'R':
      case 'N':
      case 'T':
      case 'S':
      case 'Q': c = 'A'; break;
      case 'Y':
      case 'F':
      case 'L':
      case 'I':
      case 'V':
      case 'M':
      case 'C':
      case 'W':
      case 'H': c = 'Y'; break;
      case 'G':
      case 'P':
      case 'X':
      case '*': break;
      default: ERROR_MSG ("Unknown aa " + string (1, c));
    }
}

// Assembly:
subq $0x1b8, %rsp            # imm = 0x1B8
movq %rdi, 0x1b0(%rsp)
movq 0x1b0(%rsp), %rax
addq $0x28, %rax
movq %rax, 0x1a8(%rsp)
movq 0x1a8(%rsp), %rdi
callq 0xd660
movq %rax, 0x1a0(%rsp)
movq 0x1a8(%rsp), %rdi
callq 0xd450
movq %rax, 0x198(%rsp)
leaq 0x1a0(%rsp), %rdi
leaq 0x198(%rsp), %rsi
callq 0x4ca90
testb $0x1, %al
jne 0xbee4b
jmp 0xbf283
leaq 0x1a0(%rsp), %rdi
callq 0x4cad0
movq %rax, 0x190(%rsp)
movq 0x190(%rsp), %rax
movsbl (%rax), %eax
movl %eax, 0x28(%rsp)
subl $0x2a, %eax
je 0xbef57
jmp 0xbee7a
movl 0x28(%rsp), %eax
subl $0x41, %eax
je 0xbef37
jmp 0xbee89
movl 0x28(%rsp), %eax
subl $0x43, %eax
je 0xbef47
jmp 0xbee98
movl 0x28(%rsp), %eax
addl $-0x44, %eax
subl $0x2, %eax
jb 0xbef37
jmp 0xbeeaa
movl 0x28(%rsp), %eax
subl $0x46, %eax
je 0xbef47
jmp 0xbeeb9
movl 0x28(%rsp), %eax
subl $0x47, %eax
je 0xbef57
jmp 0xbeec8
movl 0x28(%rsp), %eax
addl $-0x48, %eax
subl $0x2, %eax
jb 0xbef47
jmp 0xbeed6
movl 0x28(%rsp), %eax
subl $0x4b, %eax
je 0xbef37
jmp 0xbeee1
movl 0x28(%rsp), %eax
addl $-0x4c, %eax
subl $0x2, %eax
jb 0xbef47
jmp 0xbeeef
movl 0x28(%rsp), %eax
subl $0x4e, %eax
je 0xbef37
jmp 0xbeefa
movl 0x28(%rsp), %eax
subl $0x50, %eax
je 0xbef57
jmp 0xbef05
movl 0x28(%rsp), %eax
addl $-0x51, %eax
subl $0x4, %eax
jb 0xbef37
jmp 0xbef13
movl 0x28(%rsp), %eax
addl $-0x56, %eax
subl $0x2, %eax
jb 0xbef47
jmp 0xbef21
movl 0x28(%rsp), %eax
subl $0x58, %eax
je 0xbef57
jmp 0xbef2c
movl 0x28(%rsp), %eax
subl $0x59, %eax
je 0xbef47
jmp 0xbef5c
movq 0x190(%rsp), %rax
movb $0x41, (%rax)
jmp 0xbf26f
movq 0x190(%rsp), %rax
movb $0x59, (%rax)
jmp 0xbf26f
jmp 0xbf26f
callq 0xd8c0
cmpl $0x0, %eax
jne 0xbf265
leaq 0xef(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0xdd50
movq 0x20(%rsp), %rdx
leaq 0x294be(%rip), %rsi     # 0xe8446
leaq 0xf0(%rsp), %rdi
callq 0xfae0
jmp 0xbef97
leaq 0xb8(%rsp), %rdi
movl $0xe7e, %esi            # imm = 0xE7E
callq 0x11600
jmp 0xbefab
leaq 0x110(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
leaq 0xb8(%rsp), %rdx
callq 0x11510
jmp 0xbefca
leaq 0x24200(%rip), %rdx     # 0xe31d1
leaq 0x130(%rsp), %rdi
leaq 0x110(%rsp), %rsi
callq 0x114c0
jmp 0xbefe8
leaq 0x77(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xdd50
movq 0x18(%rsp), %rdx
leaq 0x2a210(%rip), %rsi     # 0xe9213
leaq 0x78(%rsp), %rdi
callq 0xfae0
jmp 0xbf00f
leaq 0x2498e(%rip), %rdx     # 0xe39a4
leaq 0x98(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0x114c0
jmp 0xbf02a
leaq 0x150(%rsp), %rdi
leaq 0x130(%rsp), %rsi
leaq 0x98(%rsp), %rdx
callq 0x11510
jmp 0xbf049
movq 0x190(%rsp), %rax
movsbl (%rax), %eax
movl %eax, 0xc(%rsp)
leaq 0x2f(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xdd50
movl 0xc(%rsp), %edx
movq 0x10(%rsp), %rcx
leaq 0x30(%rsp), %rdi
movl $0x1, %esi
callq 0x12980
jmp 0xbf081
leaq 0x2a1ab(%rip), %rsi     # 0xe9233
leaq 0x50(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x12260
jmp 0xbf099
leaq 0x170(%rsp), %rdi
leaq 0x150(%rsp), %rsi
leaq 0x50(%rsp), %rdx
callq 0x11510
jmp 0xbf0b5
leaq 0x170(%rsp), %rdi
callq 0x173d0
jmp 0xbf0c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe0(%rsp)
movl %eax, 0xdc(%rsp)
jmp 0xbf256
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe0(%rsp)
movl %eax, 0xdc(%rsp)
jmp 0xbf249
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe0(%rsp)
movl %eax, 0xdc(%rsp)
jmp 0xbf23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe0(%rsp)
movl %eax, 0xdc(%rsp)
jmp 0xbf22f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe0(%rsp)
movl %eax, 0xdc(%rsp)
jmp 0xbf218
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe0(%rsp)
movl %eax, 0xdc(%rsp)
jmp 0xbf20e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe0(%rsp)
movl %eax, 0xdc(%rsp)
jmp 0xbf201
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe0(%rsp)
movl %eax, 0xdc(%rsp)
jmp 0xbf1ea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe0(%rsp)
movl %eax, 0xdc(%rsp)
jmp 0xbf1e0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe0(%rsp)
movl %eax, 0xdc(%rsp)
jmp 0xbf1d6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe0(%rsp)
movl %eax, 0xdc(%rsp)
leaq 0x170(%rsp), %rdi
callq 0xdf08
leaq 0x50(%rsp), %rdi
callq 0xdf08
leaq 0x30(%rsp), %rdi
callq 0xdf08
leaq 0x2f(%rsp), %rdi
callq 0xd7a0
leaq 0x150(%rsp), %rdi
callq 0xdf08
leaq 0x98(%rsp), %rdi
callq 0xdf08
leaq 0x78(%rsp), %rdi
callq 0xdf08
leaq 0x77(%rsp), %rdi
callq 0xd7a0
leaq 0x130(%rsp), %rdi
callq 0xdf08
leaq 0x110(%rsp), %rdi
callq 0xdf08
leaq 0xb8(%rsp), %rdi
callq 0xdf08
leaq 0xf0(%rsp), %rdi
callq 0xdf08
leaq 0xef(%rsp), %rdi
callq 0xd7a0
jmp 0xbf28b
movl $0x1, %edi
callq 0xd8e0
jmp 0xbf271
leaq 0x1a0(%rsp), %rdi
callq 0x4cb00
jmp 0xbee2d
addq $0x1b8, %rsp            # imm = 0x1B8
retq
movq 0xe0(%rsp), %rdi
callq 0xdd40
nopl (%rax,%rax)