// File: /workspace/github_c_makefile_star2_O3/genometools[P]genometools/src/tools/gt_readjoiner_asqg.c
// Function: gt_readjoiner_asqg_option_parser_new
static GtOptionParser* gt_readjoiner_asqg_option_parser_new(
    void *tool_arguments)
{
  GtReadjoinerAsqgArguments *arguments = tool_arguments;
  GtOptionParser *op;
  GtOption *option, *v_option;
  gt_assert(arguments != NULL);

  /* init */
  op = gt_option_parser_new("[option ...]",
      "Output string graph in SGA asqg format.");

  /* -readset */
  option = gt_option_new_string("readset", "specify the readset name",
      arguments->readset, NULL);
  gt_option_parser_add_option(op, option);
  gt_option_is_mandatory(option);

  /* -spmfiles */
  option = gt_option_new_uint_min("spmfiles", "number of SPM files to read\n"
      "this must be equal to the value of -j for the overlap phase",
      &arguments->nspmfiles, 1U, 1U);
  gt_option_is_extended_option(option);
  gt_option_parser_add_option(op, option);

  /* -l */
  option = gt_option_new_uint_min("l", "specify the minimum SPM length",
      &arguments->minmatchlength, 0, 2U);
  gt_option_is_extended_option(option);
  gt_option_parser_add_option(op, option);

  /* -gz */
  option = gt_option_new_bool("gz", "output gzipped file",
      &arguments->gz, false);
  gt_option_parser_add_option(op, option);

  /* -sg */
  option = gt_option_new_bool("sg", "first construct a Readjoiner string "
      "graph, then convert it into SGA format",
      &arguments->sg, false);
  gt_option_is_development_option(option);
  gt_option_parser_add_option(op, option);

  /* -v */
  v_option = gt_option_new_verbose(&arguments->verbose);
  gt_option_parser_add_option(op, v_option);

  /* -q */
  option = gt_option_new_bool("q", "suppress standard output messages",
      &arguments->quiet, false);
  gt_option_exclude(option, v_option);
  gt_option_parser_add_option(op, option);

  gt_option_parser_set_version_func(op, gt_readjoiner_show_version);
  gt_option_parser_set_max_args(op, 0);

  return op;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
testq %rdi, %rdi
je 0xb462e
movq %rdi, %r14
leaq 0x2a399e(%rip), %rdi    # 0x357e62
leaq 0x29e141(%rip), %rsi    # 0x35260c
callq 0x107bfe
movq %rax, %rbx
movq 0x8(%r14), %rdx
leaq 0x29e156(%rip), %rdi    # 0x352634
leaq 0x29e157(%rip), %rsi    # 0x35263c
xorl %ecx, %ecx
callq 0x10a770
movq %rax, %r15
movq %rbx, %rdi
movq %rax, %rsi
callq 0x107cc0
movq %r15, %rdi
callq 0x10a87b
leaq 0x14(%r14), %rdx
leaq 0x29e148(%rip), %rdi    # 0x352655
leaq 0x29e14a(%rip), %rsi    # 0x35265e
movl $0x1, %ecx
movl $0x1, %r8d
callq 0x10a51f
movq %rax, %r15
movq %rax, %rdi
callq 0x10a9c4
movq %rbx, %rdi
movq %r15, %rsi
callq 0x107cc0
leaq 0x4(%r14), %rdx
leaq 0x2d3638(%rip), %rdi    # 0x387b7d
leaq 0x29e16a(%rip), %rsi    # 0x3526b6
xorl %ecx, %ecx
movl $0x2, %r8d
callq 0x10a51f
movq %rax, %r15
movq %rax, %rdi
callq 0x10a9c4
movq %rbx, %rdi
movq %r15, %rsi
callq 0x107cc0
leaq 0x10(%r14), %rdx
leaq 0x29f293(%rip), %rdi    # 0x35380d
leaq 0x29e154(%rip), %rsi    # 0x3526d5
xorl %ecx, %ecx
callq 0x10a235
movq %rbx, %rdi
movq %rax, %rsi
callq 0x107cc0
leaq 0x11(%r14), %rdx
leaq 0x29e8bb(%rip), %rdi    # 0x352e59
leaq 0x29e144(%rip), %rsi    # 0x3526e9
xorl %ecx, %ecx
callq 0x10a235
movq %rax, %r15
movq %rax, %rdi
callq 0x10a9d4
movq %rbx, %rdi
movq %r15, %rsi
callq 0x107cc0
movq %r14, %rdi
callq 0x10a257
movq %rax, %r15
movq %rbx, %rdi
movq %rax, %rsi
callq 0x107cc0
incq %r14
leaq 0x2d2066(%rip), %rdi    # 0x386648
leaq 0x29e14b(%rip), %rsi    # 0x352734
movq %r14, %rdx
xorl %ecx, %ecx
callq 0x10a235
movq %rax, %r14
movq %rax, %rdi
movq %r15, %rsi
callq 0x10ab96
movq %rbx, %rdi
movq %r14, %rsi
callq 0x107cc0
leaq 0x12693d(%rip), %rsi    # 0x1daf50
movq %rbx, %rdi
callq 0x107d51
movq %rbx, %rdi
xorl %esi, %esi
callq 0x10873c
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
callq 0x1d570