// File: soccin[P]BIC-RNAseq/tools/MergeFusion/StandardFusion.cpp
// Function: StandardFusion::parseFusioncatcher(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void StandardFusion::parseFusioncatcher(string line) //done
{
    vector<string> parsed_item;
    vector<string> pos_parsed_item1;
    vector<string> pos_parsed_item2;
    split(line, '\t', parsed_item);
    split(parsed_item[8], ':', pos_parsed_item1);
    split(parsed_item[9], ':', pos_parsed_item2);
    chr1 = pos_parsed_item1[0];
    chr2 = pos_parsed_item2[0];
    breakpoint1 = atoi(pos_parsed_item1[1].c_str());
    breakpoint2 = atoi(pos_parsed_item2[1].c_str());
    strand1 = pos_parsed_item1[2];
    strand2 = pos_parsed_item2[2];
    gene1 = parsed_item[0];
    gene2 = parsed_item[1];
    transcript1 = "NA";
    transcript2 = "NA";
    start1 = -1;
    start2 = -1;
    end1 = -1;
    end2 = -1;
    spanning_coverage = atoi(parsed_item[4].c_str());
    breakpoint_coverage = atoi(parsed_item[5].c_str());
    total_coverage = spanning_coverage + breakpoint_coverage;
    caller_id = FUSIONCATCHER;
    
    info.append("COUNT_COMMON_MAPPING_READS="); info.append(parsed_item[3]);
    info.append(";LONGEST_ANCHOR="); info.append(parsed_item[6]);
    info.append(";FUSION_FINDING_METHOD="); info.append(parsed_item[7]);
    info.append(";GENE1_ID="); info.append(parsed_item[10]);
    info.append(";GENE2_ID="); info.append(parsed_item[11]);
    info.append(";EXON1_ID="); info.append(parsed_item[12]);
    info.append(";EXON2_ID="); info.append(parsed_item[13]);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rsi, -0x78(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq -0x28(%rbp), %rdi
movq %rdi, -0x70(%rbp)
callq 0x7190
leaq -0x40(%rbp), %rdi
callq 0x7190
leaq -0x58(%rbp), %rdi
callq 0x7190
movq -0x78(%rbp), %rdi
movq -0x70(%rbp), %rdx
movl $0x9, %esi
xorl %ecx, %ecx
callq 0x135a0
jmp 0x10d94
leaq -0x28(%rbp), %rdi
movl $0x8, %esi
callq 0x71b0
movq %rax, %rdi
movl $0x3a, %esi
leaq -0x40(%rbp), %rdx
xorl %ecx, %ecx
callq 0x135a0
jmp 0x10db7
leaq -0x28(%rbp), %rdi
movl $0x9, %esi
callq 0x71b0
movq %rax, %rdi
movl $0x3a, %esi
leaq -0x58(%rbp), %rdx
xorl %ecx, %ecx
callq 0x135a0
jmp 0x10dda
xorl %eax, %eax
movl %eax, %esi
leaq -0x40(%rbp), %rdi
callq 0x71b0
movq -0x80(%rbp), %rdi
movq %rax, %rsi
addq $0x8, %rdi
callq 0x3040
jmp 0x10df9
xorl %eax, %eax
movl %eax, %esi
leaq -0x58(%rbp), %rdi
callq 0x71b0
movq -0x80(%rbp), %rdi
movq %rax, %rsi
addq $0x28, %rdi
callq 0x3040
jmp 0x10e18
leaq -0x40(%rbp), %rdi
movq %rdi, -0x88(%rbp)
movl $0x1, %esi
movq %rsi, -0x90(%rbp)
callq 0x71b0
movq %rax, %rdi
callq 0x3120
movq %rax, %rdi
callq 0x33e0
movq -0x90(%rbp), %rsi
movl %eax, %ecx
movq -0x80(%rbp), %rax
movl %ecx, 0x58(%rax)
leaq -0x58(%rbp), %rdi
callq 0x71b0
movq %rax, %rdi
callq 0x3120
movq %rax, %rdi
callq 0x33e0
movq -0x88(%rbp), %rdi
movl %eax, %ecx
movq -0x80(%rbp), %rax
movl %ecx, 0x5c(%rax)
movl $0x2, %esi
callq 0x71b0
movq -0x80(%rbp), %rdi
movq %rax, %rsi
addq $0x60, %rdi
callq 0x3040
jmp 0x10e99
leaq -0x58(%rbp), %rdi
movl $0x2, %esi
callq 0x71b0
movq -0x80(%rbp), %rdi
movq %rax, %rsi
subq $-0x80, %rdi
callq 0x3040
jmp 0x10eb9
xorl %eax, %eax
movl %eax, %esi
leaq -0x28(%rbp), %rdi
callq 0x71b0
movq -0x80(%rbp), %rdi
movq %rax, %rsi
addq $0xb0, %rdi
callq 0x3040
jmp 0x10edb
leaq -0x28(%rbp), %rdi
movl $0x1, %esi
callq 0x71b0
movq -0x80(%rbp), %rdi
movq %rax, %rsi
addq $0xd0, %rdi
callq 0x3040
jmp 0x10efe
movq -0x80(%rbp), %rdi
addq $0xf0, %rdi
leaq 0x46b9(%rip), %rsi      # 0x155c9
callq 0x3370
jmp 0x10f17
movq -0x80(%rbp), %rdi
addq $0x110, %rdi            # imm = 0x110
leaq 0x46a0(%rip), %rsi      # 0x155c9
callq 0x3370
jmp 0x10f30
movq -0x80(%rbp), %rax
movl $0xffffffff, 0x48(%rax) # imm = 0xFFFFFFFF
movl $0xffffffff, 0x4c(%rax) # imm = 0xFFFFFFFF
movl $0xffffffff, 0x50(%rax) # imm = 0xFFFFFFFF
movl $0xffffffff, 0x54(%rax) # imm = 0xFFFFFFFF
leaq -0x28(%rbp), %rdi
movq %rdi, -0x98(%rbp)
movl $0x4, %esi
callq 0x71b0
movq %rax, %rdi
callq 0x3120
movq %rax, %rdi
callq 0x33e0
movq -0x98(%rbp), %rdi
movl %eax, %ecx
movq -0x80(%rbp), %rax
movl %ecx, 0xa4(%rax)
movl $0x5, %esi
callq 0x71b0
movq %rax, %rdi
callq 0x3120
movq %rax, %rdi
callq 0x33e0
movq -0x80(%rbp), %rdi
movl %eax, 0xa8(%rdi)
movl 0xa4(%rdi), %eax
movl 0xa8(%rdi), %ecx
addl %ecx, %eax
movl %eax, 0xa0(%rdi)
movl $0x2, (%rdi)
addq $0x130, %rdi            # imm = 0x130
leaq 0x49f9(%rip), %rsi      # 0x159cd
callq 0x34c0
jmp 0x10fdb
movq -0x80(%rbp), %rax
addq $0x130, %rax            # imm = 0x130
movq %rax, -0xa0(%rbp)
leaq -0x28(%rbp), %rdi
movl $0x3, %esi
callq 0x71b0
movq -0xa0(%rbp), %rdi
movq %rax, %rsi
callq 0x34d0
jmp 0x1100b
movq -0x80(%rbp), %rdi
addq $0x130, %rdi            # imm = 0x130
leaq 0x49cc(%rip), %rsi      # 0x159e9
callq 0x34c0
jmp 0x11024
movq -0x80(%rbp), %rax
addq $0x130, %rax            # imm = 0x130
movq %rax, -0xa8(%rbp)
leaq -0x28(%rbp), %rdi
movl $0x6, %esi
callq 0x71b0
movq -0xa8(%rbp), %rdi
movq %rax, %rsi
callq 0x34d0
jmp 0x11054
movq -0x80(%rbp), %rdi
addq $0x130, %rdi            # imm = 0x130
leaq 0x4994(%rip), %rsi      # 0x159fa
callq 0x34c0
jmp 0x1106d
movq -0x80(%rbp), %rax
addq $0x130, %rax            # imm = 0x130
movq %rax, -0xb0(%rbp)
leaq -0x28(%rbp), %rdi
movl $0x7, %esi
callq 0x71b0
movq -0xb0(%rbp), %rdi
movq %rax, %rsi
callq 0x34d0
jmp 0x1109d
movq -0x80(%rbp), %rdi
addq $0x130, %rdi            # imm = 0x130
leaq 0x4963(%rip), %rsi      # 0x15a12
callq 0x34c0
jmp 0x110b6
movq -0x80(%rbp), %rax
addq $0x130, %rax            # imm = 0x130
movq %rax, -0xb8(%rbp)
leaq -0x28(%rbp), %rdi
movl $0xa, %esi
callq 0x71b0
movq -0xb8(%rbp), %rdi
movq %rax, %rsi
callq 0x34d0
jmp 0x110e6
movq -0x80(%rbp), %rdi
addq $0x130, %rdi            # imm = 0x130
leaq 0x4925(%rip), %rsi      # 0x15a1d
callq 0x34c0
jmp 0x110ff
movq -0x80(%rbp), %rax
addq $0x130, %rax            # imm = 0x130
movq %rax, -0xc0(%rbp)
leaq -0x28(%rbp), %rdi
movl $0xb, %esi
callq 0x71b0
movq -0xc0(%rbp), %rdi
movq %rax, %rsi
callq 0x34d0
jmp 0x1112f
movq -0x80(%rbp), %rdi
addq $0x130, %rdi            # imm = 0x130
leaq 0x48e7(%rip), %rsi      # 0x15a28
callq 0x34c0
jmp 0x11148
movq -0x80(%rbp), %rax
addq $0x130, %rax            # imm = 0x130
movq %rax, -0xc8(%rbp)
leaq -0x28(%rbp), %rdi
movl $0xc, %esi
callq 0x71b0
movq -0xc8(%rbp), %rdi
movq %rax, %rsi
callq 0x34d0
jmp 0x11178
movq -0x80(%rbp), %rdi
addq $0x130, %rdi            # imm = 0x130
leaq 0x48a9(%rip), %rsi      # 0x15a33
callq 0x34c0
jmp 0x11191
movq -0x80(%rbp), %rax
addq $0x130, %rax            # imm = 0x130
movq %rax, -0xd0(%rbp)
leaq -0x28(%rbp), %rdi
movl $0xd, %esi
callq 0x71b0
movq -0xd0(%rbp), %rdi
movq %rax, %rsi
callq 0x34d0
jmp 0x111c1
leaq -0x58(%rbp), %rdi
callq 0x72e0
leaq -0x40(%rbp), %rdi
callq 0x72e0
leaq -0x28(%rbp), %rdi
callq 0x72e0
addq $0xd0, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x72e0
leaq -0x40(%rbp), %rdi
callq 0x72e0
leaq -0x28(%rbp), %rdi
callq 0x72e0
movq -0x60(%rbp), %rdi
callq 0x3470
nopw %cs:(%rax,%rax)