User's Guide

| Dept. of Genetics | WashU | Medical School | Sequencing Center | CGM | IBC|
| Eddy lab | Internal (lab only) | HMMER | PFAM | tRNAscan-SE | Software | Publications |

next up previous contents
Next: Bibliography Up: HMMER 2.1 User's Guide Previous: ``Manifesto''

Acknowledgements and history

It must be remembered that there is nothing more difficult to plan, more doubtful of success, nor more dangerous to manage, than the creation of a new system. For the initiator has the emnity of all who would profit by the preservation of the old institutions and merely lukewarm defenders in those who would gain by the new ones.
- Niccolo Machiavelli

HMMER 1 was developed at the MRC Laboratory of Molecular Biology, Cambridge UK, while I was a postdoc with Dr. Richard Durbin. I thank the Human Frontier Science Program and the National Institutes of Health for their support.

HMMER 1.8 (and subsequent minor releases) was the first public release of HMMER in April 1995. A number of modifications and improvements went into HMMER 1.9 code, but 1.9 was never released. Some versions of HMMER 1.9 did inadvertently escape St. Louis and make it to other sites, but it was never documented or supported. HMMER 1.9 collapsed under its own weight in 1996, when the number of ugly hacks increased to a critical mass.

HMMER 2 is a nearly complete rewrite, based on a new model architecture dubbed ``Plan 7''. Implementation was begun in November 1996 at Washington University in St. Louis. I thank the Washington University Dept. of Genetics, the NIH National Human Genome Research Institute, and Monsanto for their support during this (extremely stressful) time. There is nothing like throwing four years of work away and starting fresh to make you question your sanity. Working on a book [Durbin et al., 1998] and starting up a lab at the same time made it all doubly ``exciting''. If you are so bored as to actually read the code, you will run across inexplicable comments that note where I was when I wrote various parts, making up a sort of disjointed diary of this period; amongst other places, parts of HMMER 2 were written in airport lounges, on TWA flights 720 and 721 to and from London, in Graeme Mitchison's kitchen in Cambridge, and on vacations while my (ex-)wife wasn't watching. I therefore owe special thanks (I think) to the Biochemistry Academic Contacts Committee at Eli Lilly & Co. for a gift that paid for the trusty Linux laptop on which much of HMMER 2 was written.

The MRC-LMB computational molecular biology discussion group has contributed many ideas to HMMER. In particular, I thank Richard Durbin, Graeme Mitchison, Erik Sonnhammer, Alex Bateman, Ewan Birney, Gos Micklem, Tim Hubbard, Roger Sewall, David MacKay, and Cyrus Chothia. Any errors in the code, though, are my fault alone, of course.

Sequence format parsing (sqio.c) in HMMER is derived from an early release of the READSEQ package by Don Gilbert, Indiana University. Thanks to Don for an excellent piece of software; and apologies for the mangling I've put it through since. The file hsregex.c is a derivative of Henry Spencer's regular expression library; thanks, Henry. Several miscellaneous functions in sre_math.c are taken from public domain sources and are credited in the code's comments. masks.c includes a modified copy of the XNU source code from David States and Jean-Michel Claverie.

In many other places, I've reimplemented algorithms described in the literature. These are too numerous to credit and thank here. The original references are given in the comments of the code. However, I've borrowed (stolen?) more than once from the following folks that I'd like to be sure to thank: Steve Altschul, Pierre Baldi, Phillip Bucher, Warren Gish, David Haussler, Steve and Jorja Henikoff, Richard Hughey, Kevin Karplus, Anders Krogh, Bill Pearson, and Kimmen Sjolander.

HMMER is developed on Silicon Graphics and Linux machines in my lab. Richard Durbin at the Sanger Centre (Hinxton UK) and LaDeana Hillier and Warren Gish at the WashU Genome Sequencing Center have generously donated time on Sun, Intel/Solaris, and DEC Alpha platforms for additional development work. I thank Silicon Graphics, especially Juli Nash and Wade McLain, for their continued support and assistance. Dave Cortesi at SGI contributed much useful advice on the POSIX threads implementation. I am proud to acknowledge a tremendous debt to the development tools that I use from the free software community: an incomplete list includes GNU gcc, gdb, emacs, and autoconf; Cygnus' and others' egcs compiler; Conor Cahill's dbmalloc library; Bruce Perens' ElectricFence; Walter Tichy's RCS; Larry Wall's perl; LaTeX and TeX from Leslie Lamport and Don Knuth; Nikos Drakos' latex2html; Thomas Phelps' PolyglotMan; Linus Torvalds' Linux operating system; and the folks at Red Hat Linux.

Finally, I'd like to cryptically thank Dave ``Mr. Frog'' Pare and Tom ``Chainsaw'' Ruschak for a totally unrelated free software product that was historically instrumental in HMMER's development, for reasons that are best not discussed while sober.

next up previous contents
Next: Bibliography Up: HMMER 2.1 User's Guide Previous: ``Manifesto''

Direct comments and questions to <eddy@genetics.wustl.edu>