hmmfetch(1) retrieve profile HMM(s) from a file


hmmfetch [options] <hmmfile> <key>
 (retrieves HMM named <key>)

hmmfetch -f [options] <hmmfile> <keyfile>
 (retrieves all HMMs listed in <keyfile>)

hmmfetch --index [options] <hmmfile>
 (indexes <hmmfile> for fetching)


Quickly retrieves one or more profile HMMs from an <hmmfile> (a large Pfam database, for example).

For maximum speed, the <hmmfile> should be indexed first, using hmmfetch --index. The index is a binary file named <hmmfile>.ssi. However, this is optional, and retrieval will still work from unindexed files, albeit much more slowly.

The default mode is to retrieve a single profile by name or accession, called the <key>. For example:

  % hmmfetch Pfam-A.hmm Caudal_act
  % hmmfetch Pfam-A.hmm PF00045

With the -f option, a <keyfile> containing a list of one or more keys is read instead. The first whitespace-delimited field on each non-blank non-comment line of the <keyfile> is used as a <key>, and any remaining data on the line is ignored. This allows a variety of whitespace delimited datafiles to be used as <keyfile>s.

When using -f and a <keyfile>, if hmmfile has been indexed, the keys are retrieved in the order they occur in the keyfile, but if hmmfile isn't indexed, keys are retrieved in the order they occur in the hmmfile. This is a side effect of an implementation that allows multiple keys to be retrieved even if the <hmmfile> is a nonrewindable stream, like a standard input pipe.

In normal use (without --index or -f options), <hmmfile> may be '-' (dash), which means reading input from stdin rather than a file. With the --index option, <hmmfile> may not be '-'; it does not make sense to index a standard input stream. With the -f option, either <hmmfile> or <keyfile> (but not both) may be '-'. It is often particularly useful to read <keyfile> from standard input, because this allows use to use arbitrary command line invocations to create a list of HMM names or accessions, then fetch them all to a new file, just with one command.

By default, fetched HMMs are printed to standard output in HMMER3 format.


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

The second commandline argument is a <keyfile> instead of a single <key>. The first field on each line of the <keyfile> is used as a retrieval <key> (an HMM name or accession). Blank lines and comment lines (that start with a # character) are ignored.

-o <f>
Output HMM(s) to file <f> instead of to standard output.

Output HMM(s) to individual file(s) named <key> instead of standard output. With the -f option, this can result in many files being created.

Instead of retrieving one or more profiles from <hmmfile>, index the <hmmfile> for future retrievals. This creates a <hmmfile>.ssi binary index file.


Copyright (C) 2015 Howard Hughes Medical Institute.
Freely distributed under the GNU General Public License (GPLv3).

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


Eddy/Rivas Laboratory
Janelia Farm Research Campus
19700 Helix Drive
Ashburn VA 20147 USA