hmmer3.3
-E $E
--domE $domE
#if str($T):
-T $T
#end if
#if str($domT):
--domT $domT
#end if
#if str($incE):
--incE $incE
#end if
#if str($incdomE):
--incdomE $incdomE
#end if
#if str($incT):
--incT $incT
#end if
#if str($incdomT):
--incdomT $incdomT
#end if
-E $E
#if str($T):
-T $T
#end if
#if str($incE):
--incE $incE
#end if
#if str($incT):
--incT $incT
#end if
$max
--F1 $F1
--F2 $F2
--F3 $F3
$nobias
--EmL $EmL
--EmN $EmN
--EvL $EvL
--EvN $EvN
--EfL $EfL
--EfN $EfN
--Eft $Eft
#if $oformat:
#for o in str($oformat).split(','):
--$o '$getVar($o, 'MISSING_OUTPUT'+$o)'
#end for
#end if
$acc $noali $notextw
oformat and 'tblout' in oformatoformat and 'domtblout' in oformatoformat and 'pfamtblout' in oformatoformat and 'dfamtblout' in oformatoformat and 'aliscoresout' in oformat
#if $hssi.hssi_select == "singlemx":
--popen $hssi.popen
--pextend $hssi.pextend
#end if
--cpu \$addthreads
--seed $seed
$nonull2
#if str($Z):
-Z $Z
#end if
#if str($domZ):
--domZ $domZ
#end if
$input_format_select
$arsws.arsws_select
#if $arsws.arsws_select == "--wblosum":
--wid $arsws.wid
#end if
#if $aeews.aeews_select != "":
--$aeews.aeews_select
#if $aeews.aeews_select == "eent":
--eset $aeews.eset
--ere $aeews.ere
--esigma $aeews.esigma
#elif $aeews.aeews_select == "eclust":
--eset $aeews.eset
--eid $aeews.eid
#end if
#end if
$cut_ga
$cut_nc
$cut_tc
--$mcs.model_construction_strategy_select
#if $mcs.model_construction_strategy_select == "fast":
--symfrac $mcs.symfrac
#end if
#if str($fragthresh)
--fragthresh $fragthresh
#end if
$aps_select
10.1093/nar/gkr367
#if str($w_beta):
--w_beta $w_beta
#end if
#if str($w_length):
--w_length $w_length
#end if
would pass 5% of the comparisons, making a search more sensitive
but slower. Setting the threshold to ≥ 1.0 (--F1 99 for example) assures
that all comparisons will pass. Shutting off the MSV filter may be
worthwhile if you want to make sure you don’t miss comparisons that have
a lot of scattered insertions and deletions. Alternatively, the --max
option causes the MSV filter step (and all other filter steps) to be
bypassed.
The MSV bit score is calculated as a log-odds score using the null model
for comparison. No correction for a biased composition or repetitive
sequence is done at this stage. For comparisons involving biased
sequences and/or profiles, more than 2% of comparisons will pass the MSV
filter. At the end of search output, there is a line like:
Passed MSV filter: 107917 (0.020272); expected 106468.8 (0.02)
which tells you how many and what fraction of comparisons passed the MSV
filter, versus how many (and what fraction) were expected.
**Viterbi filter**
The sequence is now aligned to the profile using a fast Viterbi algorithm for
optimal gapped alignment.
This Viterbi implementation is specialized for speed. It is implemented in
8-way parallel SIMD vector instructions, using reduced precision scores that
have been scaled to 16-bit integers. Only one row of the dynamic programming
matrix is stored, so the routine only recovers the score, not the optimal
alignment itself. The reduced representation has limited range; local alignment
scores will not underflow, but high scoring comparisons can overflow and return
infinity, in which case they automatically pass the filter.
The final Viterbi filter bit score is then computed using the appropriate null
model log likelihood (by default the biased composition filter model score, or
if the biased filter is off, just the null model score). If the P-value of this
score passes the Viterbi filter threshold, the sequence passes on to the next
step of the pipeline.
The --F2 option controls the P-value threshold for passing the Viterbi
filter score. The default is 0.001. The --max option bypasses all filters in
the pipeline. At the end of a search output, you will see a line like:
Passed Vit filter: 2207 (0.00443803); expected 497.3 (0.001)
which tells you how many and what fraction of comparisons passed the Viterbi
filter, versus how many were expected.
**Forward filter/parser**
The sequence is now aligned to the profile using the full Forward algorithm,
which calculates the likelihood of the target sequence given the profile,
summed over the ensemble of all possible alignments.
This is a specialized time- and memory-efficient Forward implementation called
the “Forward parser”. It is implemented in 4-way parallel SIMD vector
instructions, in full precision (32-bit floating point). It stores just enough
information that, in combination with the results of the Backward parser
(below), posterior probabilities of start and stop points of alignments
(domains) can be calculated in the domain definition step (below), although the
detailed alignments themselves cannot be.
The Forward filter bit score is calculated by correcting this score using the
appropriate null model log likelihood (by default the biased composition filter
model score, or if the biased filter is off, just the null model score). If the
P-value of this bit score passes the Forward filter threshold, the sequence
passes on to the next step of the pipeline.
The bias filter score has no further effect in the pipeline. It is only used in
filter stages. It has no effect on final reported bit scores or P-values.
Biased composition compensation for final bit scores is done by a more complex
domain-specific algorithm, described below.
The --F3 option controls the P-value threshold for passing the Forward
filter score. The default is 1e-5. The --max option bypasses all filters in the
pipeline. At the end of a search output, you will see a line like:
Passed Fwd filter: 1076 (0.00216371); expected 5.0 (1e-05)
which tells you how many and what fraction of comparisons passed the Forward
filter, versus how many were expected.
**Bias Filter Options**
The --max option bypasses all filters in the pipeline, including the bias
filter.
The --nobias option turns off (bypasses) the biased composition filter. The
simple null model is used as a null hypothesis for MSV and in subsequent filter
steps. The biased composition filter step compromises a small amount of
sensitivity. Though it is good to have it on by default, you may want to shut
it off if you know you will have no problem with biased composition hits.
**Advanced Documentation**
A more detailed look at the internals of the various filter pipelines was
posted on the `developer's blog `__.
The information posted there may be useful to those who are struggling with
poor-scoring sequences.
]]>, for the
purposes of per-domain conditional E-value calculations, rather than the number
of targets that passed the reporting thresholds.
**Z**
Assert that the total number of targets in your searches is , for the
purposes of per-sequence E-value calculations, rather than the actual number of
targets seen.
]]>.
**--ere**
Set the minimum relative entropy/position target to . Requires --eent. Default
depends on the sequence alphabet. For protein sequences, it is 0.59 bits/position;
for nucleotide sequences, it is 0.45 bits/position.
**--esigma**
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**
Sets the fractional pairwise identity cutoff used by single linkage clustering
with the --eclust option. The default is 0.62.
]]> and the per-domain threshold These act as if
-T --incT --domT --incdomT has been applied specifically using
each model’s curated thresholds.
**--cut_ga**
Use the GA (gathering) bit scores in the model to set per-sequence (GA1) and
per-domain (GA2) reporting and inclusion thresholds. GA thresholds are
generally considered to be the reliable curated thresholds defining family
membership; for example, in Pfam, these thresholds define what gets included in
Pfam Full alignments based on searches with Pfam Seed models.
**--cut_nc**
Use the NC (noise cutoff) bit score thresholds in the model to set
per-sequence (NC1) and per-domain (NC2) reporting and inclusion thresholds. NC
thresholds are generally considered to be the score of the highest-scoring
known false positive.
**--cut_tc**
Use the NC (trusted cutoff) bit score thresholds in the model to set
per-sequence (TC1) and per-domain (TC2) reporting and inclusion thresholds. TC
thresholds are generally considered to be the score of the lowest-scoring known
true positive that is above all known false positives.
]]>
**Gap Extend (--pextend)**
Set the gap extend probability for a single sequence query model to .
**--mx/--mxfile**
These options are not currently supported
]]>= W is less than . The default is 1e-7.
**Model instance length upper bound (--w length)**
Override the model instance length upper bound, W, which is otherwise
controlled by --w beta. It should be larger than the model length. The value of
W is used deep in the acceleration pipeline, and modest changes are not
expected to impact results (though larger values of W do lead to longer run
time).
]]>= symfrac of residues
as opposed to gaps. (See below for the --symfrac option.) This is the default.
**--hand**
Define consensus columns in next profile using reference annotation to the multiple
alignment. This allows you to define any consensus columns you like.
**--symfrac**
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 0.0 means that every
alignment column will be assigned as consensus, which may be useful in some
cases. Setting it to 1.0 means that only columns that include 0 gaps (internal
insertions/deletions) will be assigned as consensus.
**--fragthresh**
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 times the alignment
length in columns, then the sequence is handled as a fragment. The default is
0.5. Setting --fragthresh0 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 --fragthresh1 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.
]]>, an integer >= 0. If is nonzero,
any stochastic simulations will be reproducible; the same command will give the
same results. If is 0, the random number generator is seeded arbitrarily,
and stochastic simulations will vary from run to run of the same command.
]]>. The
default is 10.0, meaning that on average, about 10 false positives will be
reported per query, so you can see the top of the noise and decide for yourself
if it’s really noise.
**Bit score (-T)**
Instead of thresholding per-profile output on E-value, instead report target profiles
with a bit score of >= .
**domain E-value (--domE)**
In the per-domain output, for target profiles that have already satisfied the
per-profile reporting threshold, report individual domains with a conditional
E-value of <= . The default is 10.0. A conditional E-value means the
expected number of additional false positive domains in the smaller search
space of those comparisons that already satisfied the per-profile reporting
threshold (and thus must have at least one homologous domain already).
**domain Bit scores (--domT)**
Instead of thresholding per-domain output on E-value, instead report domains
with a bit score of >= .
Options for Inclusion Thresholds
--------------------------------
Inclusion thresholds are stricter than reporting thresholds. Inclusion
thresholds control which hits are considered to be reliable enough to be
included in an output alignment or a subsequent search round. In hmmscan, which
does not have any alignment output (like hmmsearch or phmmer) nor any iterative
search steps (like jackhmmer), inclusion thresholds have little effect. They
only affect what domains get marked as significant (!) or questionable (?) in
domain output.
**E-value of per target inclusion threshold**
Use an E-value of <= as the per-target inclusion threshold. The default is
0.01, meaning that on average, about 1 false positive would be expected in
every 100 searches with different query sequences.
**Bit score of per target inclusion threshold**
Instead of using E-values for setting the inclusion threshold, instead use a
bit score of >= as the per-target inclusion threshold. It would be unusual
to use bit score thresholds with hmmscan, because you don’t expect a single
score threshold to work for different profiles; different profiles have
slightly different expected score distributions.
**domain E-value per target inclusion treshold**
Use a conditional E-value of <= as the per-domain inclusion threshold, in
targets that have already satisfied the overall per-target inclusion threshold.
**domain Bit score per target inclusion treshold**
Instead of using E-values, instead use a bit score of >= as the per-domain
inclusion threshold. As with --incT above, it would be unusual to use a single
bit score threshold in hmmscan.
]]>. The
default is 10.0, meaning that on average, about 10 false positives will be
reported per query, so you can see the top of the noise and decide for yourself
if it’s really noise.
**Bit score (-T)**
Instead of thresholding per-profile output on E-value, instead report target profiles
with a bit score of >= .
Options for Inclusion Thresholds
--------------------------------
Inclusion thresholds are stricter than reporting thresholds. Inclusion
thresholds control which hits are considered to be reliable enough to be
included in an output alignment or a subsequent search round. In hmmscan, which
does not have any alignment output (like hmmsearch or phmmer) nor any iterative
search steps (like jackhmmer), inclusion thresholds have little effect. They
only affect what domains get marked as significant (!) or questionable (?) in
domain output.
**E-value of per target inclusion threshold**
Use an E-value of <= as the per-target inclusion threshold. The default is
0.01, meaning that on average, about 1 false positive would be expected in
every 100 searches with different query sequences.
**Bit score of per target inclusion threshold**
Instead of using E-values for setting the inclusion threshold, instead use a
bit score of >= as the per-target inclusion threshold. It would be unusual
to use bit score thresholds with hmmscan, because you don’t expect a single
score threshold to work for different profiles; different profiles have
slightly different expected score distributions.
]]>