// File: /workspace/github_c_makefile_star2_O1/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 0xa1b8d
movq %rdi, %rbx
leaq 0x2b089f(%rip), %rdi    # 0x352318
leaq 0x2b08c2(%rip), %rsi    # 0x352342
callq 0x10cc4e
movq %rax, %r14
movq (%rbx), %rdi
movq %rax, %rsi
callq 0x136fd9
movq 0x8(%rbx), %rdx
leaq 0x2b08da(%rip), %rdi    # 0x352378
leaq 0x2b08d7(%rip), %rsi    # 0x35237c
xorl %ecx, %ecx
callq 0x10f987
movq %rax, %r15
movq %rax, %rdi
callq 0x10fa96
movq %r14, %rdi
movq %r15, %rsi
callq 0x10cd10
movq 0x10(%rbx), %rdx
leaq 0x2b0c33(%rip), %rdi    # 0x352700
leaq 0x2b08b2(%rip), %rsi    # 0x352386
leaq 0x2b08f6(%rip), %rcx    # 0x3523d1
callq 0x10f987
movq %r14, %rdi
movq %rax, %rsi
callq 0x10cd10
movq 0x18(%rbx), %rdx
leaq 0x2b0cd2(%rip), %rdi    # 0x3527c8
leaq 0x2b08e7(%rip), %rsi    # 0x3523e4
xorl %ecx, %ecx
callq 0x10f987
movq %r14, %rdi
movq %rax, %rsi
callq 0x10cd10
leaq 0x28(%rbx), %rdx
leaq 0x2b096d(%rip), %rdi    # 0x352487
leaq 0x2b096f(%rip), %rsi    # 0x352490
xorl %ecx, %ecx
callq 0x10f451
movq %r14, %rdi
movq %rax, %rsi
callq 0x10cd10
leaq 0x20(%rbx), %rdx
leaq 0x2b0974(%rip), %rdi    # 0x3524b2
leaq 0x2b0979(%rip), %rsi    # 0x3524be
movl $0x5, %ecx
callq 0x10f719
movq %r14, %rdi
movq %rax, %rsi
callq 0x10cd10
addq $0x24, %rbx
leaq 0x2b09c4(%rip), %rdi    # 0x352529
leaq 0x2b09c9(%rip), %rsi    # 0x352535
movq %rbx, %rdx
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
callq 0x10f719
movq %r14, %rdi
movq %rax, %rsi
callq 0x10cd10
movq %r14, %rax
popq %rbx
popq %r14
popq %r15
retq
callq 0x194d2