// File: /workspace/github_c_makefile_star2_O1/ToniWestbrook[P]paladin/align.c
// Function: renderAlignUsage
int renderAlignUsage(const mem_opt_t * passOptions) {
	fprintf(stderr, "\n");
	fprintf(stderr, "Usage: paladin align [options] <idxbase> <in.fq>\n\n");

	fprintf(stderr, "Gene detection options:\n\n");
    fprintf(stderr, "       -q            disable ORF detection and treat input as transcript sequence\n");
    fprintf(stderr, "       -p            disable ORF detection and treat input as protein sequence\n");
	fprintf(stderr, "       -b            disable brute force detection\n");
	fprintf(stderr, "       -J            do not adjust minimum ORF length (constant value) for shorter read lengths\n");
	fprintf(stderr, "       -f INT        minimum ORF length accepted (as constant value) [%d]\n", passOptions->min_orf_len);
	fprintf(stderr, "       -F FLOAT      minimum ORF length accepted (as percentage of read length) [%.2f]\n", passOptions->min_orf_percent);
    fprintf(stderr, "       -z INT[,...]  Genetic code used for translation (-z ? for full list) [1]\n");    

	fprintf(stderr, "\nAlignment options:\n\n");
	fprintf(stderr, "       -t INT        number of threads [%d]\n", passOptions->n_threads);
	fprintf(stderr, "       -k INT        minimum seed length [%d]\n", passOptions->min_seed_len);
	fprintf(stderr, "       -d INT        off-diagonal X-dropoff [%d]\n", passOptions->zdrop);
	fprintf(stderr, "       -r FLOAT      look for internal seeds inside a seed longer than {-k} * FLOAT [%g]\n", passOptions->split_factor);
	fprintf(stderr, "       -y INT        seed occurrence for the 3rd round seeding [%ld]\n", (long)passOptions->max_mem_intv);
    //fprintf(stderr, "       -s INT        look for internal seeds inside a seed with less than INT occ [%d]\n", passOptions->split_width); // Disabled in BWA
	fprintf(stderr, "       -c INT        skip seeds with more than INT occurrences [%d]\n", passOptions->max_occ);
	fprintf(stderr, "       -D FLOAT      drop chains shorter than FLOAT fraction of the longest overlapping chain [%.2f]\n", passOptions->drop_ratio);
	fprintf(stderr, "       -W INT        discard a chain if seeded bases shorter than INT [0]\n");
	fprintf(stderr, "       -m INT        perform at most INT rounds of mate rescues for each read [%d]\n", passOptions->max_matesw);
	//fprintf(stderr, "       -S            skip mate rescue\n");
	//fprintf(stderr, "       -P            skip pairing; mate rescue performed unless -S also in use\n");
	fprintf(stderr, "       -e            discard full-length exact matches\n");

	fprintf(stderr, "\nScoring options:\n\n");
	fprintf(stderr, "       -A INT        score for a sequence match, which scales options -TdBOELU unless overridden [%d]\n", passOptions->a);
	fprintf(stderr, "       -B INT        penalty for a mismatch [%d]\n", passOptions->b);
	fprintf(stderr, "       -O INT[,INT]  gap open penalties for deletions and insertions [%d,%d]\n", passOptions->o_del, passOptions->o_ins);
	fprintf(stderr, "       -E INT[,INT]  gap extension penalty; a gap of size k cost '{-O} + {-E}*k' [%d,%d]\n", passOptions->e_del, passOptions->e_ins);
	fprintf(stderr, "       -L INT[,INT]  penalty for 5'- and 3'-end clipping [%d,%d]\n", passOptions->pen_clip5, passOptions->pen_clip3);
	fprintf(stderr, "       -U INT        penalty for an unpaired read pair [%d]\n\n", passOptions->pen_unpaired);
	fprintf(stderr, "       -x STR        read type. Setting -x changes multiple parameters unless overriden [null]\n");
	fprintf(stderr, "                     pacbio: -k17 -W40 -r10 -A1 -B1 -O1 -E1 -L0  (PacBio reads to ref)\n");
	fprintf(stderr, "                     ont2d: -k14 -W20 -r10 -A1 -B1 -O1 -E1 -L0  (Oxford Nanopore 2D-reads to ref)\n");
	fprintf(stderr, "                     intractg: -B9 -O16 -L5  (intra-species contigs to ref)\n");
//		fprintf(stderr, "                     pbread: -k13 -W40 -c1000 -r10 -A1 -B1 -O1 -E1 -N25 -FeaD.001\n");
	fprintf(stderr, "\nInput/output options:\n\n");
	fprintf(stderr, "       -o STR        activate PALADIN reporting using STR as an output file prefix.  Files generated as follows:\n");
	fprintf(stderr, "                        STR.sam - alignment data (will not be sent to stdout)\n");
	fprintf(stderr, "                        STR_uniprot.tsv - Tab delimited UniProt report (normal alignment mode)\n");
	fprintf(stderr, "                        STR_uniprot_primary.tsv - Tab delimited UniProt report, primary alignments (all alignments mode)\n");
	fprintf(stderr, "                        STR_uniprot_secondary.tsv - Tab delimited UniProt report, secondary alignments (all alignments mode)\n\n");
	fprintf(stderr, "       -u INT        report type generated when using reporting and a UniProt reference [%d]\n", passOptions->outputType);
	fprintf(stderr, "                        0: Simple ID summary report\n");
	fprintf(stderr, "                        1: Detailed report (Contacts uniprot.org)\n\n");
    fprintf(stderr, "       -P STR        HTTP or SOCKS proxy address\n");
	fprintf(stderr, "       -g            generate detected ORF nucleotide sequence FASTA\n");
	fprintf(stderr, "       -n            keep protein sequence after alignment\n");
	//fprintf(stderr, "       -p            smart pairing (ignoring in2.fq)\n");
	fprintf(stderr, "       -R STR        read group header line such as '@RG\\tID:foo\\tSM:bar' [null]\n");
	fprintf(stderr, "       -H STR/FILE   insert STR to header if it starts with @; or insert lines in FILE [null]\n");
	fprintf(stderr, "       -j            treat ALT contigs as part of the primary assembly (i.e. ignore <idxbase>.alt file)\n");
	fprintf(stderr, "\n");
	fprintf(stderr, "       -v INT        verbose level: 1=error, 2=warning, 3=message, 4+=debugging [%d]\n", bwa_verbose);
	fprintf(stderr, "       -T INT        minimum score to output [%d]\n", passOptions->T);
	fprintf(stderr, "       -h INT[,INT]  if there are <INT hits with score >80%% of the max score, output all in XA [%d,%d]\n", passOptions->max_XA_hits, passOptions->max_XA_hits_alt);
	fprintf(stderr, "       -a            output all alignments for SE or unpaired PE\n");
	fprintf(stderr, "       -C            append FASTA/FASTQ comment to SAM output\n");
	fprintf(stderr, "       -V            output the reference FASTA header in the XR tag\n");
	fprintf(stderr, "       -Y            use soft clipping for supplementary alignments\n");
	fprintf(stderr, "       -M            mark shorter split hits as secondary\n\n");
	fprintf(stderr, "       -I FLOAT[,FLOAT[,INT[,INT]]]\n");
	fprintf(stderr, "                     specify the mean, standard deviation (10%% of the mean if absent), max\n");
	fprintf(stderr, "                     (4 sigma from the mean if absent) and min of the insert size distribution.\n");
	fprintf(stderr, "                     FR orientation only. [inferred]\n");
	fprintf(stderr, "\n");
	fprintf(stderr, "Note: Please read the man page for detailed description of the command line and options.\n");
	fprintf(stderr, "\n");

	return 1;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %r12
movq 0x2c5b5(%rip), %r15     # 0x2ffd0
movq (%r15), %rsi
pushq $0xa
popq %rbx
movl %ebx, %edi
callq 0x3410
movq (%r15), %rcx
leaq 0x221a1(%rip), %rdi     # 0x25bd3
pushq $0x32
popq %rsi
pushq $0x1
popq %r14
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x221bb(%rip), %rdi     # 0x25c06
pushq $0x19
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x221c0(%rip), %rdi     # 0x25c20
pushq $0x52
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x221fe(%rip), %rdi     # 0x25c73
pushq $0x4f
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22239(%rip), %rdi     # 0x25cc3
pushq $0x33
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22258(%rip), %rdi     # 0x25cf7
pushq $0x60
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rdi
movl 0x68(%r12), %edx
leaq 0x2229f(%rip), %rsi     # 0x25d58
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
cvtss2sd 0x6c(%r12), %xmm0
leaq 0x222d2(%rip), %rsi     # 0x25da3
movb $0x1, %al
callq 0x3500
movq (%r15), %rcx
leaq 0x22319(%rip), %rdi     # 0x25dfb
pushq $0x50
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22355(%rip), %rdi     # 0x25e4c
pushq $0x15
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rdi
movl 0x94(%r12), %edx
leaq 0x2234e(%rip), %rsi     # 0x25e62
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0x78(%r12), %edx
leaq 0x22365(%rip), %rsi     # 0x25e8f
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0x28(%r12), %edx
leaq 0x2237e(%rip), %rsi     # 0x25ebe
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
cvtss2sd 0x84(%r12), %xmm0
leaq 0x22395(%rip), %rsi     # 0x25ef0
movb $0x1, %al
callq 0x3500
movq (%r15), %rdi
movq 0x30(%r12), %rdx
leaq 0x223d9(%rip), %rsi     # 0x25f4a
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0x8c(%r12), %edx
leaq 0x22406(%rip), %rsi     # 0x25f90
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
cvtss2sd 0xa0(%r12), %xmm0
leaq 0x22430(%rip), %rsi     # 0x25fd5
movb $0x1, %al
callq 0x3500
movq (%r15), %rcx
leaq 0x22485(%rip), %rdi     # 0x2603b
pushq $0x4a
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rdi
movl 0xb8(%r12), %edx
leaq 0x224b3(%rip), %rsi     # 0x26086
xorl %eax, %eax
callq 0x3500
movq (%r15), %rcx
leaq 0x224f6(%rip), %rdi     # 0x260da
pushq $0x37
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22519(%rip), %rdi     # 0x26112
pushq $0x13
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rdi
movl (%r12), %edx
leaq 0x22514(%rip), %rsi     # 0x26126
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0x4(%r12), %edx
leaq 0x22565(%rip), %rsi     # 0x2618d
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0x8(%r12), %edx
movl 0x10(%r12), %ecx
leaq 0x2257c(%rip), %rsi     # 0x261bf
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0xc(%r12), %edx
movl 0x14(%r12), %ecx
leaq 0x225af(%rip), %rsi     # 0x2620d
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0x1c(%r12), %edx
movl 0x20(%r12), %ecx
leaq 0x225ee(%rip), %rsi     # 0x26267
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0x18(%r12), %edx
leaq 0x2261a(%rip), %rsi     # 0x262a9
xorl %eax, %eax
callq 0x3500
movq (%r15), %rcx
leaq 0x22647(%rip), %rdi     # 0x262e7
pushq $0x5f
popq %r13
movq %r13, %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x2268e(%rip), %rdi     # 0x26347
pushq $0x57
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x226d1(%rip), %rdi     # 0x2639f
pushq $0x62
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x2271f(%rip), %rdi     # 0x26402
pushq $0x4c
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22757(%rip), %rdi     # 0x2644f
pushq $0x18
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x2275b(%rip), %rdi     # 0x26468
pushq $0x71
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x227b8(%rip), %rdi     # 0x264da
pushq $0x4e
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x227f2(%rip), %rdi     # 0x26529
movq %r13, %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x2283d(%rip), %rdi     # 0x26589
pushq $0x79
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x228a2(%rip), %rdi     # 0x26603
pushq $0x7e
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rdi
movl 0x40(%r12), %edx
leaq 0x22907(%rip), %rsi     # 0x26682
xorl %eax, %eax
callq 0x3500
movq (%r15), %rcx
leaq 0x22954(%rip), %rdi     # 0x266e0
pushq $0x34
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22974(%rip), %rdi     # 0x26715
pushq $0x43
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x229a3(%rip), %rdi     # 0x26759
pushq $0x31
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x229c0(%rip), %rdi     # 0x2678b
pushq $0x45
popq %rbp
movq %rbp, %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x229ee(%rip), %rdi     # 0x267d1
pushq $0x3b
popq %r13
movq %r13, %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22a11(%rip), %rdi     # 0x2680d
pushq $0x51
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22a4e(%rip), %rdi     # 0x2685f
pushq $0x5e
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22a98(%rip), %rdi     # 0x268be
pushq $0x68
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rsi
movl %ebx, %edi
callq 0x3410
movq (%r15), %rdi
leaq 0x2cffb(%rip), %rax     # 0x30e40
movl (%rax), %edx
leaq 0x22ad9(%rip), %rsi     # 0x26927
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0x44(%r12), %edx
leaq 0x22b19(%rip), %rsi     # 0x2697d
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0xbc(%r12), %edx
movl 0xc0(%r12), %ecx
leaq 0x22b2b(%rip), %rsi     # 0x269b0
xorl %eax, %eax
callq 0x3500
movq (%r15), %rcx
leaq 0x22b83(%rip), %rdi     # 0x26a19
pushq $0x41
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22bb0(%rip), %rdi     # 0x26a5b
pushq $0x3e
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22bda(%rip), %rdi     # 0x26a9a
movq %rbp, %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22c0b(%rip), %rdi     # 0x26ae0
pushq $0x44
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22c3b(%rip), %rdi     # 0x26b25
movq %r13, %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22c62(%rip), %rdi     # 0x26b61
pushq $0x24
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rdi
leaq 0x22c72(%rip), %rsi     # 0x26b86
xorl %eax, %eax
callq 0x3500
movq (%r15), %rcx
leaq 0x22cbe(%rip), %rdi     # 0x26be3
pushq $0x60
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22d0a(%rip), %rdi     # 0x26c44
pushq $0x35
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rsi
movl %ebx, %edi
callq 0x3410
movq (%r15), %rcx
leaq 0x22d21(%rip), %rdi     # 0x26c7a
pushq $0x59
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rsi
movl %ebx, %edi
callq 0x3410
pushq $0x1
popq %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq