// File: /workspace/github_c_makefile_star2_O2/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 0x24ad1(%rip), %r15     # 0x2bfd0
movq (%r15), %rsi
pushq $0xa
popq %rbx
movl %ebx, %edi
callq 0x3410
movq (%r15), %rcx
leaq 0x196bd(%rip), %rdi     # 0x20bd3
pushq $0x32
popq %rsi
pushq $0x1
popq %r14
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x196d7(%rip), %rdi     # 0x20c06
pushq $0x19
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x196dc(%rip), %rdi     # 0x20c20
pushq $0x52
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x1971a(%rip), %rdi     # 0x20c73
pushq $0x4f
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x19755(%rip), %rdi     # 0x20cc3
pushq $0x33
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x19774(%rip), %rdi     # 0x20cf7
pushq $0x60
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rdi
movl 0x68(%r12), %edx
leaq 0x197bb(%rip), %rsi     # 0x20d58
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
cvtss2sd 0x6c(%r12), %xmm0
leaq 0x197ee(%rip), %rsi     # 0x20da3
movb $0x1, %al
callq 0x3500
movq (%r15), %rcx
leaq 0x19835(%rip), %rdi     # 0x20dfb
pushq $0x50
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x19871(%rip), %rdi     # 0x20e4c
pushq $0x15
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rdi
movl 0x94(%r12), %edx
leaq 0x1986a(%rip), %rsi     # 0x20e62
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0x78(%r12), %edx
leaq 0x19881(%rip), %rsi     # 0x20e8f
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0x28(%r12), %edx
leaq 0x1989a(%rip), %rsi     # 0x20ebe
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
cvtss2sd 0x84(%r12), %xmm0
leaq 0x198b1(%rip), %rsi     # 0x20ef0
movb $0x1, %al
callq 0x3500
movq (%r15), %rdi
movq 0x30(%r12), %rdx
leaq 0x198f5(%rip), %rsi     # 0x20f4a
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0x8c(%r12), %edx
leaq 0x19922(%rip), %rsi     # 0x20f90
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
cvtss2sd 0xa0(%r12), %xmm0
leaq 0x1994c(%rip), %rsi     # 0x20fd5
movb $0x1, %al
callq 0x3500
movq (%r15), %rcx
leaq 0x199a1(%rip), %rdi     # 0x2103b
pushq $0x4a
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rdi
movl 0xb8(%r12), %edx
leaq 0x199cf(%rip), %rsi     # 0x21086
xorl %eax, %eax
callq 0x3500
movq (%r15), %rcx
leaq 0x19a12(%rip), %rdi     # 0x210da
pushq $0x37
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x19a35(%rip), %rdi     # 0x21112
pushq $0x13
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rdi
movl (%r12), %edx
leaq 0x19a30(%rip), %rsi     # 0x21126
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0x4(%r12), %edx
leaq 0x19a81(%rip), %rsi     # 0x2118d
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0x8(%r12), %edx
movl 0x10(%r12), %ecx
leaq 0x19a98(%rip), %rsi     # 0x211bf
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0xc(%r12), %edx
movl 0x14(%r12), %ecx
leaq 0x19acb(%rip), %rsi     # 0x2120d
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0x1c(%r12), %edx
movl 0x20(%r12), %ecx
leaq 0x19b0a(%rip), %rsi     # 0x21267
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0x18(%r12), %edx
leaq 0x19b36(%rip), %rsi     # 0x212a9
xorl %eax, %eax
callq 0x3500
movq (%r15), %rcx
leaq 0x19b63(%rip), %rdi     # 0x212e7
pushq $0x5f
popq %r13
movq %r13, %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x19baa(%rip), %rdi     # 0x21347
pushq $0x57
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x19bed(%rip), %rdi     # 0x2139f
pushq $0x62
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x19c3b(%rip), %rdi     # 0x21402
pushq $0x4c
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x19c73(%rip), %rdi     # 0x2144f
pushq $0x18
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x19c77(%rip), %rdi     # 0x21468
pushq $0x71
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x19cd4(%rip), %rdi     # 0x214da
pushq $0x4e
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x19d0e(%rip), %rdi     # 0x21529
movq %r13, %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x19d59(%rip), %rdi     # 0x21589
pushq $0x79
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x19dbe(%rip), %rdi     # 0x21603
pushq $0x7e
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rdi
movl 0x40(%r12), %edx
leaq 0x19e23(%rip), %rsi     # 0x21682
xorl %eax, %eax
callq 0x3500
movq (%r15), %rcx
leaq 0x19e70(%rip), %rdi     # 0x216e0
pushq $0x34
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x19e90(%rip), %rdi     # 0x21715
pushq $0x43
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x19ebf(%rip), %rdi     # 0x21759
pushq $0x31
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x19edc(%rip), %rdi     # 0x2178b
pushq $0x45
popq %rbp
movq %rbp, %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x19f0a(%rip), %rdi     # 0x217d1
pushq $0x3b
popq %r13
movq %r13, %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x19f2d(%rip), %rdi     # 0x2180d
pushq $0x51
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x19f6a(%rip), %rdi     # 0x2185f
pushq $0x5e
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x19fb4(%rip), %rdi     # 0x218be
pushq $0x68
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rsi
movl %ebx, %edi
callq 0x3410
movq (%r15), %rdi
leaq 0x25517(%rip), %rax     # 0x2ce40
movl (%rax), %edx
leaq 0x19ff5(%rip), %rsi     # 0x21927
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0x44(%r12), %edx
leaq 0x1a035(%rip), %rsi     # 0x2197d
xorl %eax, %eax
callq 0x3500
movq (%r15), %rdi
movl 0xbc(%r12), %edx
movl 0xc0(%r12), %ecx
leaq 0x1a047(%rip), %rsi     # 0x219b0
xorl %eax, %eax
callq 0x3500
movq (%r15), %rcx
leaq 0x1a09f(%rip), %rdi     # 0x21a19
pushq $0x41
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x1a0cc(%rip), %rdi     # 0x21a5b
pushq $0x3e
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x1a0f6(%rip), %rdi     # 0x21a9a
movq %rbp, %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x1a127(%rip), %rdi     # 0x21ae0
pushq $0x44
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x1a157(%rip), %rdi     # 0x21b25
movq %r13, %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x1a17e(%rip), %rdi     # 0x21b61
pushq $0x24
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rdi
leaq 0x1a18e(%rip), %rsi     # 0x21b86
xorl %eax, %eax
callq 0x3500
movq (%r15), %rcx
leaq 0x1a1da(%rip), %rdi     # 0x21be3
pushq $0x60
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rcx
leaq 0x1a226(%rip), %rdi     # 0x21c44
pushq $0x35
popq %rsi
movq %r14, %rdx
callq 0x3790
movq (%r15), %rsi
movl %ebx, %edi
callq 0x3410
movq (%r15), %rcx
leaq 0x1a23d(%rip), %rdi     # 0x21c7a
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