// File: /workspace/github_c_makefile_star2_O2/richarddurbin[P]hash10x/moshutils.c
// Function: usage
void usage (void)
{ fprintf (stderr, "Usage: moshutils <commands>\n") ;
  fprintf (stderr, "Commands are executed in order - set parameters before using them!\n") ;
  fprintf (stderr, "  -v | --verbose : toggle verbose mode\n") ;
  fprintf (stderr, "  -o | --output <output filename> : '-' for stdout\n") ;
  fprintf (stderr, "  -c | --moshcreate table_bits{28} kmer{19} window{31} seed{17}: can truncate parameters\n") ;
  fprintf (stderr, "  -r | --read <mosh file>\n") ;
  fprintf (stderr, "  -w | --write <mosh file>\n") ;
  fprintf (stderr, "  -a | --add <read file> : add kmers from read file\n") ;
  fprintf (stderr, "  -x | --add10x <10x read file> : add kmers from 10x read file\n") ;
  fprintf (stderr, "  -m | --merge <mosh file> : add kmers from read file; writes depths\n") ;
  fprintf (stderr, "  -p | --prune <min> <max> : remove mosh entries < min or >= max\n") ;
  fprintf (stderr, "  -s | --setcopy <copy1min> <copy2min> <copyMmin> : reset mosh copy\n") ;
  fprintf (stderr, "  -sM | --setcopyM <copyMmin> : set copyM if depth > copyMmin\n") ;
  fprintf (stderr, "  -H | --hist <outfile> : print depth histogram\n") ;
  fprintf (stderr, "  -d | --depth <outfile> <mosh file>* : print depth per mosh [also in other files]\n") ;
  fprintf (stderr, "command -c or -r must come before other commands from -w onwards\n") ;
  fprintf (stderr, "read files can be fasta or fastq, gzipped or not\n") ;
  fprintf (stderr, "example usage\n") ;
  fprintf (stderr, "  moshutils -c 30 19 31 17 -a XR1.fa.gz -a XR2.fa.gz -w X.mosh\n") ;
  fprintf (stderr, "  moshutils -c 30 19 31 17 -a YR1.fa.gz -a YR2.fa.gz -w Y.mosh\n") ;
  fprintf (stderr, "  moshutils -r X.mosh -m Y.mosh -w XY1.mosh -o XY.his -H\n") ;
  fprintf (stderr, "then look at histogram XY.his and decide on thresholds, then\n") ;
  fprintf (stderr, "  moshutils -r XY1.mosh -p 5 200 -s 10 50 100 -w XY2.mosh\n") ;
  fprintf (stderr, "  moshutils -r XY2.mosh -o XY.depths -d X.mosh Y.mosh\n") ;
  fprintf (stderr, "XY.depths will have columns: hash, depth_in_XY2, depth_inX, depth_in_Y\n") ;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq 0x8b14(%rip), %r12      # 0x9ff8
movq (%r12), %rcx
leaq 0x4b30(%rip), %rdi      # 0x601f
pushq $0x1c
popq %rsi
pushq $0x1
popq %rbx
movq %rbx, %rdx
callq 0x1220
movq (%r12), %rcx
leaq 0x4b34(%rip), %rdi      # 0x603c
pushq $0x43
popq %rsi
movq %rbx, %rdx
callq 0x1220
movq (%r12), %rcx
leaq 0x4b62(%rip), %rdi      # 0x6080
pushq $0x27
popq %rsi
movq %rbx, %rdx
callq 0x1220
movq (%r12), %rcx
leaq 0x4b74(%rip), %rdi      # 0x60a8
pushq $0x33
popq %rsi
movq %rbx, %rdx
callq 0x1220
movq (%r12), %rcx
leaq 0x4b92(%rip), %rdi      # 0x60dc
pushq $0x59
popq %rsi
movq %rbx, %rdx
callq 0x1220
movq (%r12), %rcx
leaq 0x4bd6(%rip), %rdi      # 0x6136
pushq $0x1a
popq %rsi
movq %rbx, %rdx
callq 0x1220
movq (%r12), %rcx
leaq 0x4bdb(%rip), %rdi      # 0x6151
pushq $0x1b
popq %rsi
movq %rbx, %rdx
callq 0x1220
movq (%r12), %rcx
leaq 0x4be1(%rip), %rdi      # 0x616d
pushq $0x34
popq %rsi
movq %rbx, %rdx
callq 0x1220
movq (%r12), %rcx
leaq 0x4c00(%rip), %rdi      # 0x61a2
pushq $0x3f
popq %r14
movq %r14, %rsi
movq %rbx, %rdx
callq 0x1220
movq (%r12), %rcx
leaq 0x4c26(%rip), %rdi      # 0x61e2
pushq $0x45
popq %rsi
movq %rbx, %rdx
callq 0x1220
movq (%r12), %rcx
leaq 0x4c56(%rip), %rdi      # 0x6228
pushq $0x41
popq %r15
movq %r15, %rsi
movq %rbx, %rdx
callq 0x1220
movq (%r12), %rcx
leaq 0x4c7e(%rip), %rdi      # 0x626a
pushq $0x44
popq %rsi
movq %rbx, %rdx
callq 0x1220
movq (%r12), %rcx
leaq 0x4cad(%rip), %rdi      # 0x62af
pushq $0x3e
popq %rsi
movq %rbx, %rdx
callq 0x1220
movq (%r12), %rcx
leaq 0x4cd6(%rip), %rdi      # 0x62ee
pushq $0x30
popq %rsi
movq %rbx, %rdx
callq 0x1220
movq (%r12), %rcx
leaq 0x4cf1(%rip), %rdi      # 0x631f
pushq $0x53
popq %rsi
movq %rbx, %rdx
callq 0x1220
movq (%r12), %rcx
leaq 0x4d2f(%rip), %rdi      # 0x6373
movq %r15, %rsi
movq %rbx, %rdx
callq 0x1220
movq (%r12), %rcx
leaq 0x4d5b(%rip), %rdi      # 0x63b5
pushq $0x31
popq %rsi
movq %rbx, %rdx
callq 0x1220
movq (%r12), %rcx
leaq 0x4d77(%rip), %rdi      # 0x63e7
pushq $0xe
popq %rsi
movq %rbx, %rdx
callq 0x1220
movq (%r12), %rcx
leaq 0x4d70(%rip), %rdi      # 0x63f6
movq %r14, %rsi
movq %rbx, %rdx
callq 0x1220
movq (%r12), %rcx
leaq 0x4d9a(%rip), %rdi      # 0x6436
movq %r14, %rsi
movq %rbx, %rdx
callq 0x1220
movq (%r12), %rcx
leaq 0x4dc4(%rip), %rdi      # 0x6476
pushq $0x39
popq %rsi
movq %rbx, %rdx
callq 0x1220
movq (%r12), %rcx
leaq 0x4de8(%rip), %rdi      # 0x64b0
pushq $0x3d
popq %rsi
movq %rbx, %rdx
callq 0x1220
movq (%r12), %rcx
leaq 0x4e10(%rip), %rdi      # 0x64ee
pushq $0x3a
popq %rsi
movq %rbx, %rdx
callq 0x1220
movq (%r12), %rcx
leaq 0x4e35(%rip), %rdi      # 0x6529
pushq $0x36
popq %rsi
movq %rbx, %rdx
callq 0x1220
movq (%r12), %rcx
leaq 0x4e56(%rip), %rdi      # 0x6560
pushq $0x47
popq %rsi
movq %rbx, %rdx
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x1220