// File: soccin[P]BIC-RNAseq/tools/MergeFusion/Merger.cpp
// Function: Merger::locusToChr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
string Merger::locusToChr(string locus)
{
#ifdef _DEBUG
    cerr << "[DEBUG]: locus= " << locus << endl;
#endif
    if(locus.empty() || locus == "reserved")
        return "chrNA";
    if(locus == "mitochondria")
        return "chrMT";
    else
    {
        vector<string> p_split_item;
        split(locus, 'p', p_split_item);
        vector<string> q_split_item;
        split(p_split_item[0], 'q', q_split_item);
        vector<string> c_split_item;
        split(q_split_item[0], 'c', c_split_item);
        return "chr" + c_split_item[0];
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdx, -0x90(%rbp)
movq %rdi, %rax
movq -0x90(%rbp), %rdi
movq %rax, -0x88(%rbp)
movq %rax, %rcx
movq %rcx, -0x80(%rbp)
movq %rax, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdi, -0x18(%rbp)
callq 0x3440
testb $0x1, %al
jne 0x5f18
movq -0x90(%rbp), %rdi
leaq 0xf6b0(%rip), %rsi      # 0x155bd
callq 0x56e0
testb $0x1, %al
jne 0x5f18
jmp 0x5f6c
leaq -0x19(%rbp), %rdi
movq %rdi, -0x98(%rbp)
callq 0x3480
movq -0x88(%rbp), %rdi
movq -0x98(%rbp), %rdx
leaq 0xf689(%rip), %rsi      # 0x155c6
callq 0x4520
jmp 0x5f44
leaq -0x19(%rbp), %rdi
callq 0x32e0
jmp 0x610a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x19(%rbp), %rdi
callq 0x32e0
jmp 0x6117
movq -0x90(%rbp), %rdi
leaq 0xf652(%rip), %rsi      # 0x155cc
callq 0x56e0
testb $0x1, %al
jne 0x5f85
jmp 0x5fd9
leaq -0x2d(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
callq 0x3480
movq -0x88(%rbp), %rdi
movq -0xa0(%rbp), %rdx
leaq 0xf62f(%rip), %rsi      # 0x155d9
callq 0x4520
jmp 0x5fb1
leaq -0x2d(%rbp), %rdi
callq 0x32e0
jmp 0x610a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x2d(%rbp), %rdi
callq 0x32e0
jmp 0x6117
leaq -0x48(%rbp), %rdi
movq %rdi, -0xa8(%rbp)
callq 0x7190
movq -0x90(%rbp), %rdi
movq -0xa8(%rbp), %rdx
movl $0x70, %esi
xorl %ecx, %ecx
callq 0x135a0
jmp 0x6005
leaq -0x60(%rbp), %rdi
movq %rdi, -0xb8(%rbp)
callq 0x7190
xorl %eax, %eax
movl %eax, -0xac(%rbp)
movl %eax, %esi
leaq -0x48(%rbp), %rdi
callq 0x71b0
movq -0xb8(%rbp), %rdx
movl -0xac(%rbp), %ecx
movq %rax, %rdi
movl $0x71, %esi
callq 0x135a0
jmp 0x6044
leaq -0x78(%rbp), %rdi
movq %rdi, -0xc8(%rbp)
callq 0x7190
xorl %eax, %eax
movl %eax, -0xbc(%rbp)
movl %eax, %esi
leaq -0x60(%rbp), %rdi
callq 0x71b0
movq -0xc8(%rbp), %rdx
movl -0xbc(%rbp), %ecx
movq %rax, %rdi
movl $0x63, %esi
callq 0x135a0
jmp 0x6083
xorl %eax, %eax
movl %eax, %esi
leaq -0x78(%rbp), %rdi
callq 0x71b0
movq -0x88(%rbp), %rdi
movq %rax, %rdx
leaq 0xf53e(%rip), %rsi      # 0x155df
callq 0x71d0
jmp 0x60a8
leaq -0x78(%rbp), %rdi
callq 0x72e0
leaq -0x60(%rbp), %rdi
callq 0x72e0
leaq -0x48(%rbp), %rdi
callq 0x72e0
jmp 0x610a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x60ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x60f6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x72e0
leaq -0x60(%rbp), %rdi
callq 0x72e0
leaq -0x48(%rbp), %rdi
callq 0x72e0
jmp 0x6117
movq -0x80(%rbp), %rax
addq $0xd0, %rsp
popq %rbp
retq
movq -0x28(%rbp), %rdi
callq 0x3470