Provided by: hmmer_3.4+dfsg-2_amd64 bug

NAME

       jackhmmer - iteratively search sequence(s) against a sequence database

SYNOPSIS

       jackhmmer [options] seqfile seqdb

DESCRIPTION

       jackhmmer  iteratively  searches  each query sequence in seqfile against the target sequence(s) in seqdb.
       The first iteration is identical to a phmmer search.  For the next iteration, a multiple alignment of the
       query together with all target sequences satisfying inclusion  thresholds  is  assembled,  a  profile  is
       constructed from this alignment (identical to using hmmbuild on the alignment), and profile search of the
       seqdb is done (identical to an hmmsearch with the profile).

       The  query seqfile may be '-' (a dash character), in which case the query sequences are read from a stdin
       pipe instead of from a file.

       The seqdb needs to be a 'normal' sequence file. It cannot be read from a stdin stream, because  jackhmmer
       needs  to  do multiple passes over the database. It cannot be a compressed (gzipped) file either, because
       we treat gzipped files essentially as stdin streams, calling an external decompression program.

       The output format is designed to be human-readable, but  is  often  so  voluminous  that  reading  it  is
       impractical, and parsing it is a pain. The --tblout and --domtblout options save output in simple tabular
       formats  that  are  concise  and  easier  to  parse.   The  -o option allows redirecting the main output,
       including throwing it away in /dev/null.

OPTIONS

       -h     Help; print a brief reminder of command line usage and all available options.

       -N <n> Set the maximum number of iterations to <n>.  The default is 5. If N=1, the result  is  equivalent
              to a phmmer search.

OPTIONS CONTROLLING OUTPUT

       By  default, output for each iteration appears on stdout in a somewhat human readable, somewhat parseable
       format. These options allow redirecting that output or  saving  additional  kinds  of  output  to  files,
       including checkpoint files for each iteration.

       -o <f> Direct the human-readable output to a file <f>.

       -A <f> After  the  final iteration, save an annotated multiple alignment of all hits satisfying inclusion
              thresholds (also including the original query) to <f> in Stockholm format.

       --tblout <f>
              After the final iteration, save a tabular summary of  top  sequence  hits  to  <f>  in  a  readily
              parseable, columnar, whitespace-delimited format.

       --domtblout <f>
              After  the  final  iteration,  save  a  tabular  summary  of  top  domain hits to <f> in a readily
              parseable, columnar, whitespace-delimited format.

       --chkhmm prefix
              At the start of each iteration, checkpoint the query HMM, saving it to a file  named  prefix-n.hmm
              where n is the iteration number (from 1..N).

       --chkali prefix
              At  the  end  of  each  iteration,  checkpoint  an  alignment  of all domains satisfying inclusion
              thresholds (e.g. what will become the query HMM for the next iteration), saving it to a file named
              prefix-n.sto in Stockholm format, where n is the iteration number (from 1..N).

       --acc  Use accessions instead of names in the main output, where available for profiles and/or sequences.

       --noali
              Omit the alignment section from the main output. This can greatly reduce the output volume.

       --notextw
              Unlimit the length of each line in the main output. The default is a limit of 120  characters  per
              line,  which  helps in displaying the output cleanly on terminals and in editors, but can truncate
              target profile description lines.

       --textw <n>
              Set the main output's line length limit to <n> characters per line. The default is 120.

OPTIONS CONTROLLING SINGLE SEQUENCE SCORING (FIRST ITERATION)

       By default, the first iteration uses a search model constructed from a single query sequence. This  model
       is  constructed  using a standard 20x20 substitution matrix for residue probabilities, and two additional
       parameters for position-independent gap open and  gap  extend  probabilities.  These  options  allow  the
       default single-sequence scoring parameters to be changed.

       --popen <x>
              Set  the gap open probability for a single sequence query model to <x>.  The default is 0.02.  <x>
              must be >= 0 and < 0.5.

       --pextend <x>
              Set the gap extend probability for a single sequence query model to <x>.  The default is 0.4.  <x>
              must be >= 0 and < 1.0.

       --mx <s>
              Obtain residue alignment probabilities from the built-in substitution matrix named  <s>.   Several
              standard matrices are built-in, and do not need to be read from files.  The matrix name <s> can be
              PAM30,  PAM70,  PAM120,  PAM240, BLOSUM45, BLOSUM50, BLOSUM62, BLOSUM80, or BLOSUM90.  Only one of
              the --mx and --mxfile options may be used.

       --mxfile mxfile
              Obtain residue alignment probabilities from the substitution matrix in file mxfile.   The  default
              score  matrix is BLOSUM62 (this matrix is internal to HMMER and does not have to be available as a
              file).  The format of a substitution matrix mxfile is  the  standard  format  accepted  by  BLAST,
              FASTA, and other sequence analysis software.  See ftp.ncbi.nlm.nih.gov/blast/matrices/ for example
              files.  (The  only  exception: we require matrices to be square, so for DNA, use files like NCBI's
              NUC.4.4, not NUC.4.2.)

OPTIONS CONTROLLING REPORTING THRESHOLDS

       Reporting thresholds control which hits are reported in output files  (the  main  output,  --tblout,  and
       --domtblout).   In  each  iteration, sequence hits and domain hits are ranked by statistical significance
       (E-value) and output is generated in two sections called per-target and per-domain output. In  per-target
       output,  by  default, all sequence hits with an E-value <= 10 are reported. In the per-domain output, for
       each target that has passed per-target reporting thresholds, all domains satisfying per-domain  reporting
       thresholds  are reported. By default, these are domains with conditional E-values of <= 10. The following
       options allow you to change the default E-value reporting thresholds, or  to  use  bit  score  thresholds
       instead.

       -E <x> Report sequences with E-values <= <x> in per-sequence output. The default is 10.0.

       -T <x> Use  a bit score threshold for per-sequence output instead of an E-value threshold (any setting of
              -E is ignored). Report sequences with a bit score of >= <x>.  By default this option is unset.

       -Z <x> Declare the total size of the database to be <x> sequences, for purposes of  E-value  calculation.
              Normally  E-values are calculated relative to the size of the database you actually searched (e.g.
              the number of sequences in target_seqdb).  In some cases  (for  instance,  if  you've  split  your
              target  sequence  database  into  multiple files for parallelization of your search), you may know
              better what the actual size of your search space is.

       --domE <x>
              Report domains with conditional E-values <= <x> in per-domain output,  in  addition  to  the  top-
              scoring domain per significant sequence hit. The default is 10.0.

       --domT <x>
              Use  a  bit  score threshold for per-domain output instead of an E-value threshold (any setting of
              --domE is ignored). Report domains with a bit score of >= <x> in per-domain output, in addition to
              the top-scoring domain per significant sequence hit. By default this option is unset.

       --domZ <x>
              Declare the number of significant sequences to be <x> sequences, for purposes  of  conditional  E-
              value   calculation  for  additional  domain  significance.   Normally  conditional  E-values  are
              calculated relative to the number of sequences passing per-sequence reporting threshold.

OPTIONS CONTROLLING INCLUSION THRESHOLDS

       Inclusion thresholds control which hits are included in the multiple alignment  and  profile  constructed
       for  the next search iteration.  By default, a sequence must have a per-sequence E-value of <= 0.001 (see
       -E option) to be included, and any additional domains in it besides  the  top-scoring  one  must  have  a
       conditional  E-value  of  <=  0.001  (see --domE option). The difference between reporting thresholds and
       inclusion thresholds is that inclusion thresholds control which  hits  actually  get  used  in  the  next
       iteration (or the final output multiple alignment if the -A option is used), whereas reporting thresholds
       control  what  you see in output. Reporting thresholds are generally more loose so you can see borderline
       hits in the top of the noise that might be of interest.

       --incE <x>
              Include sequences with E-values <= <x> in subsequent iteration or final alignment  output  by  -A.
              The default is 0.001.

       --incT <x>
              Use  a bit score threshold for per-sequence inclusion instead of an E-value threshold (any setting
              of --incE is ignored). Include sequences with a bit score of >= <x>.  By default  this  option  is
              unset.

       --incdomE <x>
              Include domains with conditional E-values <= <x> in subsequent iteration or final alignment output
              by -A, in addition to the top-scoring domain per significant sequence hit.  The default is 0.001.

       --incdomT <x>
              Use a bit score threshold for per-domain inclusion instead of an E-value threshold (any setting of
              --incdomE  is  ignored).  Include  domains  with a bit score of >= <x>.  By default this option is
              unset.

OPTIONS CONTROLLING ACCELERATION HEURISTICS

       HMMER3 searches are accelerated in a three-step filter pipeline: the MSV filter, the Viterbi filter,  and
       the  Forward  filter.  The first filter is the fastest and most approximate; the last is the full Forward
       scoring algorithm, slowest but most accurate. There is also a bias filter step between MSV  and  Viterbi.
       Targets  that  pass  all  the  steps in the acceleration pipeline are then subjected to postprocessing --
       domain identification and scoring using the Forward/Backward algorithm.

       Essentially the only free parameters that control HMMER's heuristic filters are  the  P-value  thresholds
       controlling  the  expected fraction of nonhomologous sequences that pass the filters. Setting the default
       thresholds higher will pass a higher proportion of nonhomologous sequence, increasing sensitivity at  the
       expense of speed; conversely, setting lower P-value thresholds will pass a smaller proportion, decreasing
       sensitivity  and  increasing speed. Setting a filter's P-value threshold to 1.0 means it will passing all
       sequences, and effectively disables the filter.

       Changing filter  thresholds  only  removes  or  includes  targets  from  consideration;  changing  filter
       thresholds  does  not  alter  bit  scores, E-values, or alignments, all of which are determined solely in
       postprocessing.

       --max  Maximum  sensitivity.   Turn  off  all  filters,  including  the  bias  filter,   and   run   full
              Forward/Backward  postprocessing  on every target. This increases sensitivity slightly, at a large
              cost in speed.

       --F1 <x>
              First filter threshold; set the P-value threshold for the MSV filter step.  The default  is  0.02,
              meaning  that  roughly  2%  of  the highest scoring nonhomologous targets are expected to pass the
              filter.

       --F2 <x>
              Second filter threshold; set the P-value threshold for the Viterbi filter step.   The  default  is
              0.001.

       --F3 <x>
              Third  filter  threshold;  set  the P-value threshold for the Forward filter step.  The default is
              1e-5.

       --nobias
              Turn off the bias filter. This increases sensitivity somewhat, but can come  at  a  high  cost  in
              speed,  especially  if  the  query  has  biased residue composition (such as a repetitive sequence
              region, or if it is a membrane protein with large regions of  hydrophobicity).  Without  the  bias
              filter,  too  many  sequences  may  pass  the  filter  with biased queries, leading to slower than
              expected performance as the computationally  intensive  Forward/Backward  algorithms  shoulder  an
              abnormally heavy load.

OPTIONS CONTROLLING PROFILE CONSTRUCTION (LATER ITERATIONS)

       jackhmmer  always  includes  your original query sequence in the alignment result at every iteration, and
       consensus positions are always defined by that query sequence. That is, a jackhmmer profile is always the
       same length as your original query, at every iteration.  Therefore jackhmmer gives you less control  over
       profile  construction  than  hmmbuild does; it does not have the --fast, or --hand, or --symfrac options.
       The only profile construction option available in jackhmmer is --fragthresh:

       --fragthresh <x>
              We only want to count terminal gaps as deletions if the aligned sequence  is  known  to  be  full-
              length,  not if it is a fragment (for instance, because only part of it was sequenced). HMMER uses
              a simple rule to infer fragments: if the sequence length L is less than or equal to a fraction <x>
              times the alignment length in columns, then the sequence is handled as a fragment. The default  is
              0.5.   Setting  --fragthresh 0 will define no (nonempty) sequence as a fragment; you might want to
              do this if you know you've got a carefully curated alignment of  full-length  sequences.   Setting
              --fragthresh  1 will define all sequences as fragments; you might want to do this if you know your
              alignment is entirely composed of fragments, such as translated short reads in metagenomic shotgun
              data.

OPTIONS CONTROLLING RELATIVE WEIGHTS

       Whenever a profile is built from a multiple alignment, HMMER uses an ad hoc sequence weighting  algorithm
       to  downweight  closely  related  sequences  and  upweight distantly related ones. This has the effect of
       making models less biased by uneven phylogenetic representation. For  example,  two  identical  sequences
       would  typically  each  receive  half the weight that one sequence would (and this is why jackhmmer isn't
       concerned about always including your original query sequence in each iteration's alignment, even  if  it
       finds it again in the database you're searching). These options control which algorithm gets used.

       --wpb  Use  the  Henikoff  position-based sequence weighting scheme [Henikoff and Henikoff, J. Mol. Biol.
              243:574, 1994].  This is the default.

       --wgsc Use the Gerstein/Sonnhammer/Chothia weighting algorithm [Gerstein et al, J. Mol.  Biol.  235:1067,
              1994].

       --wblosum
              Use  the  same  clustering  scheme that was used to weight data in calculating BLOSUM substitution
              matrices [Henikoff and Henikoff, Proc. Natl. Acad. Sci  89:10915,  1992].  Sequences  are  single-
              linkage  clustered at an identity threshold (default 0.62; see --wid) and within each cluster of c
              sequences, each sequence gets relative weight 1/c.

       --wnone
              No relative weights. All sequences are assigned uniform weight.

       --wid <x>
              Sets the identity threshold used by single-linkage clustering when using --wblosum.  Invalid  with
              any other weighting scheme. Default is 0.62.

OPTIONS CONTROLLING EFFECTIVE SEQUENCE NUMBER

       After  relative  weights are determined, they are normalized to sum to a total effective sequence number,
       eff_nseq.  This number may be the actual number of sequences in the alignment, but it  is  almost  always
       smaller  than  that.  The default entropy weighting method (--eent) reduces the effective sequence number
       to reduce the information content (relative entropy, or average expected  score  on  true  homologs)  per
       consensus  position. The target relative entropy is controlled by a two-parameter function, where the two
       parameters are settable with --ere and --esigma.

       --eent Adjust effective sequence number to achieve a specific relative entropy per position (see  --ere).
              This is the default.

       --eclust
              Set  effective  sequence  number  to  the number of single-linkage clusters at a specific identity
              threshold (see --eid).  This option is not recommended; it's for experiments evaluating  how  much
              better --eent is.

       --enone
              Turn  off effective sequence number determination and just use the actual number of sequences. One
              reason you might want to do this is to try to  maximize  the  relative  entropy/position  of  your
              model, which may be useful for short models.

       --eset <x>
              Explicitly set the effective sequence number for all models to <x>.

       --ere <x>
              Set the minimum relative entropy/position target to <x>.  Requires --eent.  Default depends on the
              sequence alphabet; for protein sequences, it is 0.59 bits/position.

       --esigma <x>
              Sets the minimum relative entropy contributed by an entire model alignment, over its whole length.
              This  has  the  effect of making short models have higher relative entropy per position than --ere
              alone would give. The default is 45.0 bits.

       --eid <x>
              Sets the fractional pairwise identity cutoff used by single linkage clustering with  the  --eclust
              option. The default is 0.62.

OPTIONS CONTROLLING PRIORS

       In  profile  construction,  by  default,  weighted  counts  are  converted  to mean posterior probability
       parameter estimates using mixture Dirichlet priors.   Default  mixture  Dirichlet  prior  parameters  for
       protein models and for nucleic acid (RNA and DNA) models are built in. The following options allow you to
       override the default priors.

       --pnone
              Don't  use  any  priors.  Probability  parameters  will  simply be the observed frequencies, after
              relative sequence weighting.

       --plaplace
              Use a Laplace +1 prior in place of the default mixture Dirichlet prior.

OPTIONS CONTROLLING E-VALUE CALIBRATION

       Estimating the location parameters for the expected score distributions for MSV  filter  scores,  Viterbi
       filter scores, and Forward scores requires three short random sequence simulations.

       --EmL <n>
              Sets  the sequence length in simulation that estimates the location parameter mu for MSV filter E-
              values. Default is 200.

       --EmN <n>
              Sets the number of sequences in simulation that estimates the location parameter mu for MSV filter
              E-values. Default is 200.

       --EvL <n>
              Sets the sequence length in simulation that estimates the location parameter mu for Viterbi filter
              E-values. Default is 200.

       --EvN <n>
              Sets the number of sequences in simulation that estimates the location parameter  mu  for  Viterbi
              filter E-values. Default is 200.

       --EfL <n>
              Sets  the  sequence  length in simulation that estimates the location parameter tau for Forward E-
              values. Default is 100.

       --EfN <n>
              Sets the number of sequences in simulation that estimates the location parameter tau  for  Forward
              E-values. Default is 200.

       --Eft <x>
              Sets the tail mass fraction to fit in the simulation that estimates the location parameter tau for
              Forward evalues. Default is 0.04.

OTHER OPTIONS

       --nonull2
              Turn off the null2 score corrections for biased composition.

       -Z <x> Assert  that the total number of targets in your searches is <x>, for the purposes of per-sequence
              E-value calculations, rather than the actual number of targets seen.

       --domZ <x>
              Assert that the total number of targets in your searches is <x>, for the  purposes  of  per-domain
              conditional  E-value  calculations,  rather  than  the number of targets that passed the reporting
              thresholds.

       --seed <n>
              Seed the random number generator with <n>, an  integer  >=  0.   If  <n>  is  >0,  any  stochastic
              simulations  will  be reproducible; the same command will give the same results.  If <n> is 0, the
              random number generator is seeded arbitrarily, and stochastic simulations will vary  from  run  to
              run of the same command.  The default seed is 42.

       --qformat <s>
              Assert  that input query seqfile is in format <s>, bypassing format autodetection.  Common choices
              for <s> include: fasta, embl, genbank.  Alignment  formats  also  work;  common  choices  include:
              stockholm,  a2m, afa, psiblast, clustal, phylip.  jackhmmer always uses a single sequence query to
              start its search, so when the input seqfile is an alignment,  jackhmmer  reads  it  one  unaligned
              query  sequence at a time, not as an alignment.  For more information, and for codes for some less
              common formats, see main documentation.  The string <s> is case-insensitive (fasta or  FASTA  both
              work).

       --tformat <s>
              Assert  that  the  input target sequence seqdb is in format <s>.  See --qformat above for accepted
              choices for <s>.

       --cpu <n>
              Set the number of parallel worker threads to <n>.  On multicore machines, the default is  2.   You
              can  also  control  this  number  by setting an environment variable, HMMER_NCPU.  There is also a
              master thread, so the actual number of threads that HMMER spawns is <n>+1.

              This option is not available if HMMER was compiled with POSIX threads support turned off.

       --stall
              For debugging the MPI master/worker version: pause after start, to enable the developer to  attach
              debuggers to the running master and worker(s) processes. Send SIGCONT signal to release the pause.
              (Under  gdb: (gdb) signal SIGCONT) (Only available if optional MPI support was enabled at compile-
              time.)

       --mpi  Run  under  MPI  control  with  master/worker  parallelization  (using  mpirun,  for  example,  or
              equivalent). Only available if optional MPI support was enabled at compile-time.

SEE ALSO

       See  hmmer(1) for a master man page with a list of all the individual man pages for programs in the HMMER
       package.

       For complete documentation, see the user guide that came with your HMMER distribution (Userguide.pdf); or
       see the HMMER web page (http://hmmer.org/).

COPYRIGHT

       Copyright (C) 2023 Howard Hughes Medical Institute.
       Freely distributed under the BSD open source license.

       For additional information on copyright and licensing, see the file called COPYRIGHT in your HMMER source
       distribution, or see the HMMER web page (http://hmmer.org/).

AUTHOR

       http://eddylab.org

HMMER 3.4                                           Aug 2023                                        jackhmmer(1)