DragonFly On-Line Manual Pages
jackhmmer(1) HMMER Manual jackhmmer(1)
NAME
jackhmmer - iteratively search sequence(s) against a protein 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 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
<checkpoint file 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.
--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.
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 --domT 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 --incT 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)
These options control how consensus columns are defined in multiple
alignments when building profiles. By default, jackhmmer always
includes your original query sequence in the alignment result at every
iteration, and consensus positions are defined by that query sequence:
that is, a default jackhmmer profile is always the same length as your
original query, at every iteration.
--fast Define consensus columns as those that have a fraction >=
symfrac of residues as opposed to gaps. (See below for the
--symfrac option.) Although this is the default profile
construction option elsewhere (in hmmbuild, in particular), it
may have undesirable effects in jackhmmer, because a profile
could iteratively walk in sequence space away from your original
query, leaving few or no consensus columns corresponding to its
residues.
--hand Define consensus columns in next profile using reference
annotation to the multiple alignment. jackhmmer propagates
reference annotation from the previous profile to the multiple
alignment, and thence to the next profile. This is the default.
--symfrac <x>
Define the residue fraction threshold necessary to define a
consensus column when using the --fast option. The default is
0.5. The symbol fraction in each column is calculated after
taking relative sequence weighting into account, and ignoring
gap characters corresponding to ends of sequence fragments (as
opposed to internal insertions/deletions). Setting this to 1.0
means that every alignment column will be assigned as consensus,
which may be useful in some cases. Setting it to 0.0 is a bad
idea, because no columns will be assigned as consensus, and
you'll get a model of zero length.
--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 a fraction <x> times the mean sequence length of
all the sequences in the alignment, then the sequence is handled
as a fragment. The default is 0.5.
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 subsitution 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 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>
Declare that the input query_seqfile is in format <s>. Accepted
sequence file formats include FASTA, EMBL, Genbank, DDBJ,
Uniprot, Stockholm, and SELEX. Default is to autodetect the
format of the file.
--tformat <s>
Declare that the input target_seqdb is in format <s>. Accepted
sequence file formats include FASTA, EMBL, Genbank, DDBJ,
Uniprot, Stockholm, and SELEX. Default is to autodetect the
format of the file.
--cpu <n>
Set the number of parallel worker threads to <n>. By default,
HMMER sets this to the number of CPU cores it detects in your
machine - that is, it tries to maximize the use of your
available processor cores. Setting <n> higher than the number of
available cores is of little if any value, but you may want to
set it to something less. You can also control this number by
setting an environment variable, HMMER_NCPU.
This option is only available if HMMER was compiled with POSIX
threads support. This is the default, but it may have been
turned off at compile-time for your site or machine for some
reason.
--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 in MPI master/worker mode, using mpirun. (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
(@HMMER_URL@).
COPYRIGHT
@HMMER_COPYRIGHT@
@HMMER_LICENSE@
For additional information on copyright and licensing, see the file
called COPYRIGHT in your HMMER source distribution, or see the HMMER
web page (@HMMER_URL@).
AUTHOR
Eddy/Rivas Laboratory
Janelia Farm Research Campus
19700 Helix Drive
Ashburn VA 20147 USA
http://eddylab.org
HMMER @HMMER_VERSION@ @HMMER_DATE@ jackhmmer(1)