OnWorks favicon

hmmbuild - Online in the Cloud

Run hmmbuild in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command hmmbuild that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



hmmbuild - construct profile HMM(s) from multiple sequence alignment(s)


hmmbuild [options] <hmmfile_out> <msafile>


For each multiple sequence alignment in <msafile> build a profile HMM and save it to a new
file <hmmfile_out>.

<msafile> may be '-' (dash), which means reading this input from stdin rather than a file.
To use '-', you must also specify the alignment file format with --informat <s>, as in
--informat stockholm (because of a current limitation in our implementation, MSA file
formats cannot be autodetected in a nonrewindable input stream.)

<hmmfile_out> may not be '-' (stdout), because sending the HMM file to stdout would
conflict with the other text output of the program.


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

-n <s> Name the new profile <s>. The default is to use the name of the alignment (if one
is present in the msafile, or, failing that, the name of the hmmfile. If msafile
contains more than one alignment, -n doesn't work, and every alignment must have a
name annotated in the msafile (as in Stockholm #=GF ID annotation).

-o <f> Direct the summary output to file <f>, rather than to stdout.

-O <f> After each model is constructed, resave annotated, possibly modified source
alignments to a file <f> in Stockholm format. The alignments are annotated with a
reference annotation line indicating which columns were assigned as consensus, and
sequences are annotated with what relative sequence weights were assigned. Some
residues of the alignment may have been shifted to accommodate restrictions of the
Plan7 profile architecture, which disallows transitions between insert and delete


The alphabet type (amino, DNA, or RNA) is autodetected by default, by looking at the
composition of the msafile. Autodetection is normally quite reliable, but occasionally
alphabet type may be ambiguous and autodetection can fail (for instance, on tiny toy
alignments of just a few residues). To avoid this, or to increase robustness in automated
analysis pipelines, you may specify the alphabet type of msafile with these options.

Specify that all sequences in msafile are proteins.

--dna Specify that all sequences in msafile are DNAs.

--rna Specify that all sequences in msafile are RNAs.


These options control how consensus columns are defined in an alignment.

--fast Define consensus columns as those that have a fraction >= 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 <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 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 <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 range of a
sequence in the alignment (the number of alignment columns between the first and
last positions of the sequence) 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 --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.


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. 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].

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

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.


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.

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.

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;
for nucleotide sequences, it is 0.45 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.


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.

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

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


The location parameters for the expected score distributions for MSV filter scores,
Viterbi filter scores, and Forward scores require 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.


--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,

This option is only available if HMMER was compiled with POSIX threads support.
This is the default, but it may have been turned off for your site or machine for
some reason.

--informat <s>
Declare that the input msafile is in format <s>. Currently the accepted multiple
alignment sequence file formats include Stockholm, Aligned FASTA, Clustal, NCBI
PSI-BLAST, PHYLIP, Selex, and UCSC SAM A2M. Default is to autodetect the format of
the file.

--seed <n>
Seed the random number generator with <n>, an integer >= 0. If <n> is nonzero, 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.

--w_beta <x>
Window length tail mass. The upper bound, W, on the length at which nhmmer expects
to find an instance of the model is set such that the fraction of all sequences
generated by the model with length >= W is less than <x>. The default is 1e-7.

--w_length <n>
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).

--mpi Run as a parallel MPI program. Each alignment is assigned to a MPI worker node for
construction. (Therefore, the maximum parallelization cannot exceed the number of
alignments in the input msafile.) This is useful when building large profile
libraries. This option is only available if optional MPI capability was enabled at

For debugging MPI parallelization: arrest program execution immediately after
start, and wait for a debugger to attach to the running process and release the

--maxinsertlen <n>
Restrict insert length parameterization such that the expected insert length at
each position of the model is no more than <n>.

Use hmmbuild online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    Alt-F provides a free and open source
    alternative firmware for the DLINK
    DNS-320/320L/321/323/325/327L and
    DNR-322L. Alt-F has Samba and NFS;
    supports ext2/3/4...
    Download Alt-F
  • 2
    Usm is a unified slackware package
    manager that handles automatic
    dependency resolution. It unifies
    various package repositories including
    slackware, slacky, p...
    Download usm
  • 3
    Chart.js is a Javascript library that
    allows designers and developers to draw
    all kinds of charts using the HTML5
    canvas element. Chart js offers a great
    array ...
    Download Chart.js
  • 4
    iReport-Designer for JasperReports
    iReport-Designer for JasperReports
    NOTE: iReport/Jaspersoft Studio Support
    Announcement: As of version 5.5.0,
    Jaspersoft Studio will be the official
    design client for JasperReports. iReport
    Download iReport-Designer for JasperReports
  • 5
    PostInstallerF will install all the
    software that Fedora Linux and others
    doesn't include by default, after
    running Fedora for the first time. Its
    easy for...
    Download PostInstallerF
  • 6
    The strace project has been moved to
    https://strace.io. strace is a
    diagnostic, debugging and instructional
    userspace tracer for Linux. It is used
    to monitor a...
    Download strace
  • More »

Linux commands