// File: /workspace/github_c_makefile_star2_O3/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 0x221ed(%rip), %rdi     # 0x25c1f
pushq $0x32
popq %rsi
pushq $0x1
popq %r14
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22207(%rip), %rdi     # 0x25c52
pushq $0x19
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x2220c(%rip), %rdi     # 0x25c6c
pushq $0x52
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x2224a(%rip), %rdi     # 0x25cbf
pushq $0x4f
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22285(%rip), %rdi     # 0x25d0f
pushq $0x33
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x222a4(%rip), %rdi     # 0x25d43
pushq $0x60
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rdi
movl 0x68(%r12), %edx
leaq 0x222eb(%rip), %rsi     # 0x25da4
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
cvtss2sd 0x6c(%r12), %xmm0
leaq 0x2231e(%rip), %rsi     # 0x25def
movb $0x1, %al
callq 0x3500
movq (%r15), %rcx
leaq 0x22365(%rip), %rdi     # 0x25e47
pushq $0x50
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x223a1(%rip), %rdi     # 0x25e98
pushq $0x15
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rdi
movl 0x94(%r12), %edx
leaq 0x2239a(%rip), %rsi     # 0x25eae
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0x78(%r12), %edx
leaq 0x223b1(%rip), %rsi     # 0x25edb
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0x28(%r12), %edx
leaq 0x223ca(%rip), %rsi     # 0x25f0a
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
cvtss2sd 0x84(%r12), %xmm0
leaq 0x223e1(%rip), %rsi     # 0x25f3c
movb $0x1, %al
callq 0x3500
movq (%r15), %rdi
movq 0x30(%r12), %rdx
leaq 0x22425(%rip), %rsi     # 0x25f96
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0x8c(%r12), %edx
leaq 0x22452(%rip), %rsi     # 0x25fdc
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
cvtss2sd 0xa0(%r12), %xmm0
leaq 0x2247c(%rip), %rsi     # 0x26021
movb $0x1, %al
callq 0x3500
movq (%r15), %rcx
leaq 0x224d1(%rip), %rdi     # 0x26087
pushq $0x4a
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rdi
movl 0xb8(%r12), %edx
leaq 0x224ff(%rip), %rsi     # 0x260d2
xorl %eax, %eax
callq 0x3500
movq (%r15), %rcx
leaq 0x22542(%rip), %rdi     # 0x26126
pushq $0x37
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22565(%rip), %rdi     # 0x2615e
pushq $0x13
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rdi
movl (%r12), %edx
leaq 0x22560(%rip), %rsi     # 0x26172
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0x4(%r12), %edx
leaq 0x225b1(%rip), %rsi     # 0x261d9
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0x8(%r12), %edx
movl 0x10(%r12), %ecx
leaq 0x225c8(%rip), %rsi     # 0x2620b
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0xc(%r12), %edx
movl 0x14(%r12), %ecx
leaq 0x225fb(%rip), %rsi     # 0x26259
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0x1c(%r12), %edx
movl 0x20(%r12), %ecx
leaq 0x2263a(%rip), %rsi     # 0x262b3
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0x18(%r12), %edx
leaq 0x22666(%rip), %rsi     # 0x262f5
xorl %eax, %eax
callq 0x3500
movq (%r15), %rcx
leaq 0x22693(%rip), %rdi     # 0x26333
pushq $0x5f
popq %r13
movq %r13, %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x226da(%rip), %rdi     # 0x26393
pushq $0x57
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x2271d(%rip), %rdi     # 0x263eb
pushq $0x62
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x2276b(%rip), %rdi     # 0x2644e
pushq $0x4c
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x227a3(%rip), %rdi     # 0x2649b
pushq $0x18
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x227a7(%rip), %rdi     # 0x264b4
pushq $0x71
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22804(%rip), %rdi     # 0x26526
pushq $0x4e
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x2283e(%rip), %rdi     # 0x26575
movq %r13, %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22889(%rip), %rdi     # 0x265d5
pushq $0x79
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x228ee(%rip), %rdi     # 0x2664f
pushq $0x7e
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rdi
movl 0x40(%r12), %edx
leaq 0x22953(%rip), %rsi     # 0x266ce
xorl %eax, %eax
callq 0x3500
movq (%r15), %rcx
leaq 0x229a0(%rip), %rdi     # 0x2672c
pushq $0x34
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x229c0(%rip), %rdi     # 0x26761
pushq $0x43
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x229ef(%rip), %rdi     # 0x267a5
pushq $0x31
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22a0c(%rip), %rdi     # 0x267d7
pushq $0x45
popq %rbp
movq %rbp, %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22a3a(%rip), %rdi     # 0x2681d
pushq $0x3b
popq %r13
movq %r13, %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22a5d(%rip), %rdi     # 0x26859
pushq $0x51
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22a9a(%rip), %rdi     # 0x268ab
pushq $0x5e
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22ae4(%rip), %rdi     # 0x2690a
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 0x22b25(%rip), %rsi     # 0x26973
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0x44(%r12), %edx
leaq 0x22b65(%rip), %rsi     # 0x269c9
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0xbc(%r12), %edx
movl 0xc0(%r12), %ecx
leaq 0x22b77(%rip), %rsi     # 0x269fc
xorl %eax, %eax
callq 0x3500
movq (%r15), %rcx
leaq 0x22bcf(%rip), %rdi     # 0x26a65
pushq $0x41
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22bfc(%rip), %rdi     # 0x26aa7
pushq $0x3e
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22c26(%rip), %rdi     # 0x26ae6
movq %rbp, %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22c57(%rip), %rdi     # 0x26b2c
pushq $0x44
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22c87(%rip), %rdi     # 0x26b71
movq %r13, %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22cae(%rip), %rdi     # 0x26bad
pushq $0x24
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rdi
leaq 0x22cbe(%rip), %rsi     # 0x26bd2
xorl %eax, %eax
callq 0x3500
movq (%r15), %rcx
leaq 0x22d0a(%rip), %rdi     # 0x26c2f
pushq $0x60
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x22d56(%rip), %rdi     # 0x26c90
pushq $0x35
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rsi
movl %ebx, %edi
callq 0x3410
movq (%r15), %rcx
leaq 0x22d6d(%rip), %rdi     # 0x26cc6
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