// File: /workspace/github_cpp_makefile_star2_O2/ParkerLab[P]cta/src/cta.cpp
// Function: print_usage()
void print_usage() {
    std::cout << version_string() << ": Trim adapters from paired-end HTS reads.\n\n"

              << "Usage:\n\n" << PROGRAM_NAME << " [options] input_file1 input_file2 [output_file1 output_file2]\n\n"
              << "where:\n"
              << "    input_file1 contains the first reads of all pairs\n"
              << "    input_file2 contains the second reads of all pairs\n"
              << "    output_file1 will contain the trimmed first reads of all pairs\n"
              << "    output_file2 will contain the trimmed second reads of all pairs\n\n"

              << "You must supply both of the output file names, or neither. If not\n"
              << "specified, they will be inferred from the inputs.\n\n"

              << "Options may include:\n\n"

              << "-h|--help: show this usage message.\n\n"
              << "-v|--verbose: show more details and progress updates.\n\n"
              << "--version: print the version of the program." << std::endl << std::endl

              << "-m|--max-edit-distance\n"
              << "    The maximum edit distance permitted when aligning the paired reads. The default is 1.\n"

              << "-f|--fudge\n"
              << "    An arbitrary number of extra bases to trim, to make sure the reads and mates\n"
              << "    don't overlap exactly. Some aligners (e.g. bowtie) apparently don't like perfectly\n"
              << "    overlapping reads.\n"

              << "-r|--rc-length\n"
              << "    Use the reverse complement of this number of bases from the beginning of the\n"
              << "    reverse read to align the reads. The default is 20.\n"

              << "-t|--trim-from-start\n"
              << "    Trim this number of bases from the start of each sequence. The default is zero.\n"

              << "-a|--append-barcode\n"
              << "    Append barcodes from this fastq file to the end of read names (useful for e.g. single-cell data).\n"

			  << "-x|--selected-barcodes\n"
              << "    Select and output reads corresponding to these barcodes from this unzipped text file\n"

              << std::endl;
}

// Assembly:
pushq %rbx
subq $0x20, %rsp
movq %rsp, %rbx
movq %rbx, %rdi
callq 0xd6b1
movq 0x31805(%rip), %rdi     # 0x3ef78
movq %rbx, %rsi
callq 0xc430
leaq 0x18b2e(%rip), %rsi     # 0x262b0
movq %rax, %rdi
callq 0xc490
leaq 0x18b4c(%rip), %rsi     # 0x262dd
movq %rax, %rdi
callq 0xc490
leaq 0x18b0c(%rip), %rsi     # 0x262ac
movq %rax, %rdi
callq 0xc490
leaq 0x18b37(%rip), %rsi     # 0x262e6
movq %rax, %rdi
callq 0xc490
leaq 0x18b69(%rip), %rsi     # 0x26327
movq %rax, %rdi
callq 0xc490
leaq 0x18b62(%rip), %rsi     # 0x2632f
movq %rax, %rdi
callq 0xc490
leaq 0x18b8a(%rip), %rsi     # 0x26366
movq %rax, %rdi
callq 0xc490
leaq 0x18bb3(%rip), %rsi     # 0x2639e
movq %rax, %rdi
callq 0xc490
leaq 0x18be8(%rip), %rsi     # 0x263e2
movq %rax, %rdi
callq 0xc490
leaq 0x18c1f(%rip), %rsi     # 0x26428
movq %rax, %rdi
callq 0xc490
leaq 0x18c53(%rip), %rsi     # 0x2646b
movq %rax, %rdi
callq 0xc490
leaq 0x18c78(%rip), %rsi     # 0x2649f
movq %rax, %rdi
callq 0xc490
leaq 0x18c80(%rip), %rsi     # 0x264b6
movq %rax, %rdi
callq 0xc490
leaq 0x18c97(%rip), %rsi     # 0x264dc
movq %rax, %rdi
callq 0xc490
leaq 0x18cc0(%rip), %rsi     # 0x26514
movq %rax, %rdi
callq 0xc490
movq %rax, %rdi
callq 0xc270
movq %rax, %rdi
callq 0xc270
leaq 0x18cce(%rip), %rsi     # 0x26541
movq %rax, %rdi
callq 0xc490
leaq 0x18cd7(%rip), %rsi     # 0x26559
movq %rax, %rdi
callq 0xc490
leaq 0x18d23(%rip), %rsi     # 0x265b4
movq %rax, %rdi
callq 0xc490
leaq 0x18d20(%rip), %rsi     # 0x265c0
movq %rax, %rdi
callq 0xc490
leaq 0x18d63(%rip), %rsi     # 0x26612
movq %rax, %rdi
callq 0xc490
leaq 0x18dac(%rip), %rsi     # 0x2666a
movq %rax, %rdi
callq 0xc490
leaq 0x18db5(%rip), %rsi     # 0x26682
movq %rax, %rdi
callq 0xc490
leaq 0x18db6(%rip), %rsi     # 0x26692
movq %rax, %rdi
callq 0xc490
leaq 0x18df9(%rip), %rsi     # 0x266e4
movq %rax, %rdi
callq 0xc490
leaq 0x18e23(%rip), %rsi     # 0x2671d
movq %rax, %rdi
callq 0xc490
leaq 0x18e2a(%rip), %rsi     # 0x26733
movq %rax, %rdi
callq 0xc490
leaq 0x18e70(%rip), %rsi     # 0x26788
movq %rax, %rdi
callq 0xc490
leaq 0x18e76(%rip), %rsi     # 0x2679d
movq %rax, %rdi
callq 0xc490
leaq 0x18ece(%rip), %rsi     # 0x26804
movq %rax, %rdi
callq 0xc490
leaq 0x18ed7(%rip), %rsi     # 0x2681c
movq %rax, %rdi
callq 0xc490
movq %rax, %rdi
callq 0xc270
movq %rsp, %rdi
callq 0xc250
addq $0x20, %rsp
popq %rbx
retq
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc250
movq %rbx, %rdi
callq 0xc820