HMMER:
Overview
Documentation
Download
Contributions
Old versions
Support
Reporting bugs
Acknowledgements

Commercial versions:
Accelrys
Southwest Parallel

The Pfam Consortium:
Janelia Farm
Cambridge
Stockholm
Paris
South Korea

Hardware support:
IBM
Silicon Graphics
Hewlett/Packard
Sun Microsystems
Intel
Paracel

Past funding:
HHMI
NIH NHGRI
Monsanto
Eli Lilly

HHMI Janelia Farm:
Eddy lab
Janelia Farm
HHMI

 

Overview

Profile hidden Markov models (profile HMMs) can be used to do sensitive database searching using statistical descriptions of a sequence family's consensus. HMMER is a freely distributable implementation of profile HMM software for protein sequence analysis.

The current version is HMMER 2.3.2 (3 Oct 2003), containing minor bugfixes and updates for the May 2003 release of HMMER 2.3.


Documentation

Text files associated with the HMMER 2.3.2 release: [README] [Installation] [Release notes] [License summary] [GNU General Public License].

The HMMER User's Guide: [PDF, 94 pages].

The theory behind profile HMMs: R. Durbin, S. Eddy, A. Krogh, and G. Mitchison, Biological sequence analysis: probabilistic models of proteins and nucleic acids, Cambridge University Press, 1998.

Other publications from the Eddy group.


Download

The current source code version: hmmer-2.3.2.tar.gz.

For precompiled binaries, see the table below. All distributions below come with full source code, the User's Guide (PDF format), UNIX man pages, and other documentation. Once you download, uncompress (gunzip), and un-tar (tar xf), see the file INSTALL for quick installation instructions.

HMMER should compile cleanly on any UNIX platform, including Mac OS/X. It should also compile on Microsoft Windows platforms, but you would have to work around the GNU configure script and UNIX makefiles. Porting to other non UNIX operating systems such as VAX/VMS should not be difficult. The code is standard ANSI/POSIX C.

All binary distros are compiled with posix threads support for multiprocessors (--enable-threads), and support for 64-bit filesystems (--enable-lfs). Details on the host machine, OS, configuration options, compiler, and compiler options are provided below each link. PVM support for clusters (--enable-pvm) is only compiled into the GNU/Linux distribution; build from source code if you want PVM support for other platforms.

If you are compiling on a host that we don't have a binary distro for, and you want to contribute a binary distro for us to post here, please see these notes on how to do it.

AMD Opteron/Linux
Download: hmmer-2.3.2.bin.amd-opteron-64-suse-linux.tar.gz
Opteron 242, 2x1.6 GHz; SUSE Linux; GCC 3.3.3; --enable-threads --enable-lfs
[Contributed by Martin Gollery, University of Nevada, Reno.]
RPMs built with the Portland Group C compiler are also available from Joe Landman and Scalable Informatics, LLC:
you can download hmmer-2.3.2-5pgi.x86_64_pgi.rpm from their site.

AMD Opteron/Solaris
Download: hmmer-2.3.2.bin.amd64-solaris.tar.gz
SunOS 5.10; Sun /opt/SUNWspro/bin/cc -fast -xtarget=opteron -xarch=amd64 -x05
Contributed by Mithun Sridharan, Sun Microsystems GmbH, Walldorf Germany.

Apple Macintosh PowerPC OS/X
Download: hmmer-2.3.2.bin.powerpc-apple-osx.tar.gz
Apple PowerPC; 2x G4/1.25Ghz; OS/X Darwin 6.8; --enable-threads --enable-lfs --enable-altivec; CFLAGS="-O"
Includes Altivec optimizations contributed by Erik Lindahl, Stanford University.

Compaq Alpha Tru64
Download: hmmer-2.3.2.bin.alpha-tru64.tar.gz
Compaq Alpha ES40; Tru64 5.1B; --enable-threads --enable-lfs; CC=cc CFLAGS=-O

Compaq Alpha Linux
Download: hmmer-2.3.2.bin.alpha-linux.tar.gz
Compaq Alpha ES40; Red Hat Alpha Linux 7.1; --enable-threads --enable-lfs; CFLAGS=-O

Hewlett/Packard IA64 (Itanium2), Linux
Download: hmmer-2.3.2.bin.ia64-hp-linux.tar.gz
HP rx2600; 2xItanium2/900/1.5; Linux 2.4.18-e.12; --enable-threads --enable-lfs; CFLAGS="-O2"

Hewlett/Packard IA64 (Itanium2), HP/UX
Download: hmmer-2.3.2.bin.ia64-hp-hpux.tar.gz
HP rx2600; 2xItanium2/900/1.5; HP/UX 11.22; --enable-threads --enable-lfs; CC=cc CFLAGS="-O"

IBM Power4, Linux
Download: hmmer-2.3.2.bin.ibm-pwr4-suse-linux.tar.gz
IBM pSeries; Power4; SusE Linux 8 (SLES8); --enable-threads --enable-lfs; CC=xlc_r CFLAGS="-O -q64 -qtune=pwr4 -qcache=auto"
[Provided by Bob Arenburg and IBM Life Sciences.]

IBM Power4, AIX
Download: hmmer-2.3.2.bin.ibm-aix.tar.gz
IBM pSeries 630; 4xPower4/1.2GHz; AIX 5.2; --enable-threads --enable-lfs; CC=xlc_r CFLAGS="-O2"
On large multiprocessor systems (8 cpus or more), you want to add "-bmaxdata:0x80000000" to CFLAGS and recompile to enable AIX's "Large Program Support"; otherwise, AIX only allows a program to allocate 256 MB of RAM by default.

IBM Power5, AIX
Download: hmmer-2.3.2.bin.ibm-pwr5-aix.tar.gz
unknown IBM system; AIX 5.3; with pthreads support, IBM xlc 8.0, CC=xlc_r CFLAGS="-O3 -q64 -qtune=pwr5 -qarch=pwr5"
[Contributed by Yinhe Cheng, IBM Systems Group, Austin TX].

IBM Power6, AIX
Download: hmmer-2.3.2-altivec_gen2.bin.ibm-pwr6-aix.tar.gz
IBM Power6 JS22 blade; AIX 5.3; with threads and Altivec support;
IBM xlc 9.0, CC=xlc_r CFLAGS="-O5 -q64 -qarch=ppc970 -qtune=ppc970 -qaltivec -qenablevmx"
[Contributed by Yinhe Cheng, IBM Systems Group, Austin TX].

Intel FreeBSD
Download: hmmer-2.3.2.bin.intel-freebsd.tar.gz
Dell 1550/VMWare; 2xPIII/1.27/512K; FreeBSD 4.7; --enable-threads --enable-lfs; CFLAGS="-O2 -static"

Intel GNU/Linux
Download: hmmer-2.3.2.bin.intel-linux.tar.gz
Or, as an RPM: hmmer-2.3.2-1static_pvm.i686.rpm
Dell 6450; 4xPIII/700/2; Red Hat Linux 7.2; --enable-threads --enable-lfs --enable-pvm; CC=icc CFLAGS="-O3 -axMKW -static"
the RPM spec file is available: hmmer-pvm.spec

Intel OpenBSD
Download: hmmer-2.3.2.bin.intel-openbsd.tar.gz
Dell 1550/VMWare; 2xPIII/1.27/512K; OpenBSD 3.2; --enable-threads --enable-lfs; CFLAGS="-O2 -static"

Intel Solaris
Download: hmmer-2.3.2.bin.intel-solaris.tar.gz
Dell 1550/VMWare; 2xPIII/1.27/512K; x86 Solaris 9; --enable-threads --enable-lfs; CFLAGS="-O2"

Silicon Graphics IA64 (Itanium2), Linux
Download: hmmer-2.3.2.bin.ia64-sgi-linux.tar.gz
Silicon Graphics Altix 3000; 16xItanium2/900/1.5; Linux 2.4.19; --enable-threads --enable-lfs; CFLAGS="-O2 -static"

Silicon Graphics MIPS IRIX
Download: hmmer-2.3.2.bin.sgi-irix64.tar.gz
Silicon Graphics Origin200; 4xMIPS R10K/180,195/2; IRIX 6.5.12; --enable-threads --enable-lfs; CFLAGS="-O2 -static"

Sun Sparc Solaris
[The Solaris box in our compile farm died a few years ago, after years of faithful service. For now, build from the source release instead. We have one report that 2.3.2 does not compile cleanly on Solaris 8: you may need to manually add -lnsl to LIBS in src/Makefile, after running ./configure. We will resolve this in a subsequent release, as soon as we have access to Solaris again.]

Contributions, extensions, and other HMMER-related tools

These are other ports and contributions that have been sent to me, or links to HMMER-related tools and information. Not all contributions are necessarily up to date with the current release; check the notes with each item. Additional contributions or links are welcome.

Extensions for current HMMER2 releases:

HMMER is in Debian Linux
Nelson de Oliveira packages HMMER for Debian. See: [debian.org].

MPI-HMMER
JP Walters and Scalable Informatics, LLC have added MPI parallelization to 2.3.2, to create a version called MPI-HMMER. MPI support will be incorporated into the main HMMER codebase, likely based on the Walters implementation.

Microsoft Windows ports
The Computational Biology Service Unit (CBSU) at Cornell University has ported HMMER to MS Windows:
Executables (Windows Installer format): hmmer-2.3.2.bin.i686-Win32.msi
Executables (zip format): hmmer-2.3.2.bin.i686-Win32.zip
Source (Visual Studio 2005): hmmer-2.3.2.VS2005.Win32.zip

CBSU has also made an MPI-parallelized version of hmmpfam called P-HMMER available:
Description and installation instructions : PHMMER.pdf
Executables (.zip format) : CBSU_PHMMER.zip

Microsoft Windows under PC/Cygwin environment
Download: hmmer-2.3.2.bin.i686-pc-cygwin.tar.gz
Contributed by Matt Yoder (Texas A&M University), Oct 2004.

Optimized RPMs for multiple systems, including Athlon
Scalable Informatics, LLC has made a variety of optimized RPMs available at this FTP site.

IBM DB2 support for HMMER, in DB2 Information Integrator.
See: [ibm.com].
Developed by Robert Wilson (IBM).

HMMVE visualization tool for profile HMMs.
By Jianyong Dai and Jianlin Cheng.
Download from hmmve web site;
a paper describing HMMVE is BMC Genomics. 9(S1):S8, 2008.

Aging contributions:

HMMER 2.2g binaries for Apple OS/X.
README: 00README_macosx
Download: hmmer-2.2g.bin.apple-osx.tar.gz
Contributed by Greg Gloor (U. Western Ontario).

HMMER 2.2g binaries for DOS/Cygwin environment.
README: 00README.dos-cygwin
Download: hmmer-2.2g.bin.dos-cygwin.zip
Contributed by David Mathog (Caltech).

HMMER 2.2g in the FreeBSD ports tree.
See: [freebsd.org].
Developed by Johann Visagie at Electric Genetics. A FreeBSD user can install HMMER with "# cd /usr/ports/biology/hmmer && make install". HMMER is also apparently available on FreeBSD CD distros.

HMMER 2.1 package from Apple Computer.
See: [apple.com].


Archived versions

Older versions of HMMER are available from the HMMER anonymous FTP site. One version in particular may be of more than historical interest:
HMMER 1.8.5 (ftp download, source version only)
The 1.8 lineage (1995-1998) was closer to the original Krogh/Haussler conception of profile HMMs. It includes two features that are still missing in HMMER2. First, it has the hmmt program for training HMMs from initially unaligned sequences (and hence creating multiple alignments). Second, HMMER1 was used extensively for DNA sequence analysis, in addition to protein analysis, whereas HMMER2 has not been; HMMER2 is very much optimized for Pfam/Interpro, and may have drifted away from being good for DNA -- no testing has been done. Note, however, that neither HMMER1 nor HMMER2 can handle chromosome-sized DNA sequences unless you have a lot of RAM. Chromosome scale analysis is not a design goal of HMMER at this time.

Support (lack thereof)

HMMER is not intended to be commercial software. In particular, it comes with no promise of support whatsoever. Because I receive more email than is humanly possible to answer, unfortunately I am not able to respond individually to requests for help with the package, beyond the help already provided in HMMER's general documentation. I do respond gratefully to useful suggestions for improved documentation, and to bug reports. If you find that you need more help, you may wish to consider one of the several commercial versions of HMMER; see the "Commercial versions" links on the left of this page.

Reporting bugs

Email me. Please give me enough information (concisely) that I can reproduce the problem. A good bug report is:.

Hi, I'm running hmmsearch 2.3.2 on an Intel/RedHat Linux 7.1 platform, and when I type hmmsearch my.hmm my.seq (my HMM and sequence are attached to this email), hmmsearch gives the following error: "FATAL: Plan 7 activated. Back slowly away from the computer." What's up?

Only a complete outsider could ask your question. Are there control authorities? There are nothing but control authorities. Of course, their purpose is not to uncover errors in the ordinary meaning of the word, since errors do not occur and even when an error does in fact occur, as in your case, who can say conclusively that it is an error?
- Franz Kafka

Acknowledgements and thanks

Work on HMMER was supported for eleven years (1995-2006) by R01-HG01363 from the NIH National Human Genome Research Institute, and from 2000-2006 by the Howard Hughes Medical Institute.

Past support has also included generous gifts from Paracel, Monsanto Life Sciences, Pangea Systems (DoubleTwist), and Eli Lilly. Significant technical assistance and equipment has been provided by Silicon Graphics, Inc.. The HMMER compile farm is also supported by donations from IBM, Hewlett-Packard, Sun Microsystems and Compaq. Shocking amounts of coffee have been instrumental in the development process.

A mathematician is a device for turning coffee into theorems.
- Paul Erdos