// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_condenseq_hmmsearch.c
// Function: gt_condenseq_hmmsearch_option_parser_new
static GtOptionParser*
gt_condenseq_hmmsearch_option_parser_new(void *tool_arguments)
{
  GtCondenseqHmmsearchArguments *arguments = tool_arguments;
  GtOptionParser *op;
  GtOption *option;
  gt_assert(arguments);

  /* init */
  op = gt_option_parser_new("[option ...] -db DATABASE -hmm HMMPROFILE",
                            "Perform a hmmsearch on the given compressed "
                            "database.");

  /* -db and -verbose */
  gt_condenseq_search_register_options(arguments->csa, op);

  /* -hmm */
  option = gt_option_new_string("hmm", "hmm query", arguments->hmm, NULL);
  gt_option_is_mandatory(option);
  gt_option_parser_add_option(op, option);

  /* -hmmsearch */
  option = gt_option_new_string("hmmsearch", "path to hmmsearch, please set if "
                                "not installed at (linux) default location",
                                arguments->hmmsearch_path,
                                "/usr/bin/hmmsearch");
  gt_option_parser_add_option(op, option);

  /* -tblout */
  option = gt_option_new_string("tblout", "file basename to output tabular "
                                "hmmsearch output to (like hmmer option "
                                "--tblout). Depending on -max_queries will "
                                "produce multiple numbered files with .tab "
                                "ending.",
                                arguments->outtable_filename, NULL);
  gt_option_parser_add_option(op, option);

  /* -force_ow */
  option = gt_option_new_bool("force_ow", "force overwrite of existing files",
                              &arguments->force_ow, false);
  gt_option_parser_add_option(op, option);

  /* -max_queries */
  option = gt_option_new_uint("max_queries", "maximum number of queries per "
                              "fine search, influences file-size and therefore "
                              "speed!, 0 disables splitting",
                              &arguments->max_queries, 5U);
  gt_option_parser_add_option(op, option);

  /* -max_threads */
  option = gt_option_new_uint("max_threads", "maximum number of threads "
                              "hmmsearch may use",
                              &arguments->hmm_num_threads, GT_UNDEF_UINT);
  gt_option_parser_add_option(op, option);
  return op;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
jne 0x27a33
movq 0x61459e(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4ee607(%rip), %rsi    # 0x516013
leaq 0x55314c(%rip), %rdx    # 0x57ab5f
leaq 0x4f2913(%rip), %rcx    # 0x51a32d
leaq 0x4f28e9(%rip), %r8     # 0x51a30a
movl $0x56, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x27a35
leaq 0x4f291a(%rip), %rdi    # 0x51a356
leaq 0x4f293d(%rip), %rsi    # 0x51a380
callq 0xf1420
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movq 0x10(%rsp), %rsi
callq 0x148ae0
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rdx
leaq 0x4f2947(%rip), %rdi    # 0x51a3b6
leaq 0x4f2944(%rip), %rsi    # 0x51a3ba
xorl %eax, %eax
movl %eax, %ecx
callq 0xf69f0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rdi
callq 0xf6ca0
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rdx
leaq 0x4f2c91(%rip), %rdi    # 0x51a73e
leaq 0x4f2910(%rip), %rsi    # 0x51a3c4
leaq 0x4f2954(%rip), %rcx    # 0x51a40f
callq 0xf69f0
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x18(%rsp), %rax
movq 0x18(%rax), %rdx
leaq 0x4f2d22(%rip), %rdi    # 0x51a806
leaq 0x4f2937(%rip), %rsi    # 0x51a422
xorl %eax, %eax
movl %eax, %ecx
callq 0xf69f0
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x18(%rsp), %rdx
addq $0x28, %rdx
leaq 0x4f29ad(%rip), %rdi    # 0x51a4c5
leaq 0x4f29af(%rip), %rsi    # 0x51a4ce
xorl %ecx, %ecx
callq 0xf5f20
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x18(%rsp), %rdx
addq $0x20, %rdx
leaq 0x4f29a6(%rip), %rdi    # 0x51a4f0
leaq 0x4f29ab(%rip), %rsi    # 0x51a4fc
movl $0x5, %ecx
callq 0xf64b0
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x18(%rsp), %rdx
addq $0x24, %rdx
leaq 0x4f29e8(%rip), %rdi    # 0x51a567
leaq 0x4f29ed(%rip), %rsi    # 0x51a573
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
callq 0xf64b0
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x10(%rsp), %rax
addq $0x28, %rsp
retq
nop