// File: /workspace/github_c_makefile_star2_O2/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:
pushq %r15
pushq %r14
pushq %rbx
testq %rdi, %rdi
je 0x20d51
movq %rdi, %rbx
leaq 0x2c86c7(%rip), %rdi    # 0x2e9308
leaq 0x2c86ea(%rip), %rsi    # 0x2e9332
callq 0x97df5
movq %rax, %r14
movq (%rbx), %rdi
movq %rax, %rsi
callq 0xc6dab
movq 0x8(%rbx), %rdx
leaq 0x2c8702(%rip), %rdi    # 0x2e9368
leaq 0x2c86ff(%rip), %rsi    # 0x2e936c
xorl %ecx, %ecx
callq 0x9ad12
movq %rax, %r15
movq %rax, %rdi
callq 0x9ae37
movq %r14, %rdi
movq %r15, %rsi
callq 0x97f31
movq 0x10(%rbx), %rdx
leaq 0x2c8a5b(%rip), %rdi    # 0x2e96f0
leaq 0x2c86da(%rip), %rsi    # 0x2e9376
leaq 0x2c871e(%rip), %rcx    # 0x2e93c1
callq 0x9ad12
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq 0x18(%rbx), %rdx
leaq 0x2c8afa(%rip), %rdi    # 0x2e97b8
leaq 0x2c870f(%rip), %rsi    # 0x2e93d4
xorl %ecx, %ecx
callq 0x9ad12
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
leaq 0x28(%rbx), %rdx
leaq 0x2c8795(%rip), %rdi    # 0x2e9477
leaq 0x2c8797(%rip), %rsi    # 0x2e9480
xorl %ecx, %ecx
callq 0x9a997
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
leaq 0x20(%rbx), %rdx
leaq 0x2c879c(%rip), %rdi    # 0x2e94a2
leaq 0x2c87a1(%rip), %rsi    # 0x2e94ae
pushq $0x5
popq %rcx
callq 0x9abcd
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
addq $0x24, %rbx
leaq 0x2c87ee(%rip), %rdi    # 0x2e9519
leaq 0x2c87f3(%rip), %rsi    # 0x2e9525
pushq $-0x1
popq %rcx
movq %rbx, %rdx
callq 0x9abcd
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq %r14, %rax
popq %rbx
popq %r14
popq %r15
retq
movq 0x417210(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x2c42b1(%rip), %rsi    # 0x2e5013
leaq 0x3278ea(%rip), %rdx    # 0x348653
leaq 0x2c856f(%rip), %rcx    # 0x2e92df
leaq 0x2c8545(%rip), %r8     # 0x2e92bc
pushq $0x56
popq %r9
xorl %eax, %eax
callq 0x17a50
callq 0x17390