![]() |
Ultra-fast alignment of large-scale DNA and protein sequences |
In 2017, we released the first version of MUMmer4, MUMmer4.0beta, which is now hosted on github at github.com/gmarcais/mummer. The manual page is currently here, though we plan to move it soon. The major changes in MUMmer4 primarily affect nucmer, which can now handle genomes of unlimited size and now runs multi-threaded. A paper is in preparation; stay tuned.
MUMmer is a system for rapidly aligning entire genomes, whether in complete or draft form. For example, MUMmer 3.0 can find all 20-basepair or longer exact matches between a pair of 5-megabase genomes in 13.7 seconds, using 78 MB of memory, on a 2.4 GHz Linux desktop computer. MUMmer can also align incomplete genomes; it can easily handle the 100s or 1000s of contigs from a shotgun sequencing project, and will align them to another set of contigs or a genome using the NUCmer program included with the system. If the species are too divergent for a DNA sequence alignment to detect similarity, then the PROmer program can generate alignments based upon the six-frame translations of both input sequences. The original MUMmer system, version 1.0, is described in our 1999 Nucleic Acids Research paper. Version 2.1 appeared a few years later and is described in our 2002 Nucleic Acids Research paper, and MUMmer 3.0 is described in our 2004 Genome Biology paper. We also developed a GPU-accelerated version of MUMmer called MUMmerGPU.
For more information regarding the MUMmer package, please refer to the:
DistributionTo receive software update notices, please join the users'
mailing list. This list will only be used to announce major
version releases:
Please send questions and all other correspondence directly to
the help list:
MUMmer is an open source project hosted at Sourceforge.net. This means free access to all the source code for both non-profit and for-profit users! Please refer to the LICENSE file included in the package for a description of the Artistic License, the same OSI-certified open source licensed used by Perl and countless other packages. We encourage you to contact us (though you are not required to) if you wish to contribute to our ongoing improvement and development of the software.
Residing at the core of the MUMmer package is the 'mummer' matching algorithm, which builds and searches a suffix tree data structure. Suffix trees can be built and searched in linear time using linear space. In creating this structure, MUMmer 3.0 uses approximately 17 bytes for each basepair in the reference sequence. Furthermore, the query sequence is "streamed" past the reference suffix tree, so that the memory requirements do not at all depend on the size of the query sequences.
Critical to the improvements in MUMmer 3.0 is a complete re-write of the core suffix tree library, implemented by Stefan Kurtz and explained in his various publications. The improvements resulting from the use of this library can be seen in the table below. All statistics are from test runs on a 3.0 GHz Pentium 4 computer running Linux. Resulting output includes both forward and reverse matches.
MUMmer 2.1 | MUMmer 3.0 | |
E.coli K12 vs. E.coli O157:H7 |
102 MB / 18 s | 77 MB / 17 s |
S.cerevisiae vs. S.pombe |
261 MB / 51 s | 204 MB / 47 s |
A.fumigatus vs. A.nidulans |
578 MB / 128 s | 459 MB / 120 s |
NUCmer 2.1 | NUCmer 3.0 | |
D.melanogaster arm 2L vs. D.pseudoobscura |
684 MB / 879 s | 485 MB / 835 s |
PROmer 2.1 | PROmer 3.0 | |
P.falciparum vs. P.yoelii |
752 MB / 1109 s | 522 MB / 975 s |
MUMmer 1 was used to detect numerous large-scale inversions in bacterial genomes, leading to a new model of chromosome inversions, reported in this 2000 Genome Biology paper. It was also used to discover evidence for a recent whole-genome duplication in Arabidopsis thaliana, reported in "Analysis of the genome sequence of the flowering plant Arabidopsis thaliana." The Arabidopsis Genome Initiative, Nature 408 (2000), 796-815.
MUMmer 2 was used to align all human chromosomes to one another and to detect numerous large-scale, ancient segmental duplications in the human genome, as reported in "The sequence of the human genome." Venter et al., Science 291 (2001), 1304-1351. PROmer was used to compare the human and mouse malaria parasites P.falciparium and P.yoelii, as described in "Genome sequence and comparative analysis of the model rodent malaria parasite Plasmodium yoelii yoelii." J.M. Carlton et al., Nature 419 (2002), 512-519.
MUMmer 3 is the latest version, and is downloaded roughly 300 times every month. That's over 7,000 users in the 2 years after its release. In addition, the three versions of MUMmer have a combined citation count of over 700 papers.
For a list of published genomes suitable for whole genome comparison and a timing analysis for the whole genome alignment of Human vs. Human, please refer to our supplemental applications page. Please note that this page is somewhat dated.
MUMmer is a modular package with many components that can interact with one another to produce a desired output. There are a few basic scripts that encapsulate different sets of modules, and for most applications, typical users need only familiarize themselves with the 'mummer' program and these wrapper scripts. The 'mummer' program can find exact matches of a specified length in a matter of seconds, and sometimes this information in itself is sufficient. The scripts 'run-mummer1', 'run-mummer3', 'nucmer' and 'promer' go much further, clustering the matches and aligning the non-exact regions between the matches via a modified Smith-Waterman algorithm. Refer to the documentation of each of these scripts in the "docs/" subdirectory of the MUMmer package for more information.
MUMmer 3.0 is now an OSI certified, open source package. You can download the current source distribution from our SourceForge.net project page.
To install the software on your machine, type 'tar -xvzf MUMmer3.0.tar.gz' on the Unix command line to create the MUMmer 3.0 directory. Once inside the newly created directory, please read the "INSTALL" file for further instructions. The "README" file explains all the executable files that will be built in the base directory, while the files in the "docs/" subdirectory go into greater detail about the individual scripts and algorithms.
Open source MUMmer 3.0 is described in "Versatile and open software for comparing large genomes." S. Kurtz, A. Phillippy, A.L. Delcher, M. Smoot, M. Shumway, C. Antonescu, and S.L. Salzberg, Genome Biology (2004), 5:R12.
MUMmer 2.1, NUCmer, and PROmer are described in "Fast Algorithms for Large-scale Genome Alignment and Comparision." A.L. Delcher, A. Phillippy, J. Carlton, and S.L. Salzberg, Nucleic Acids Research (2002), Vol. 30, No. 11 2478-2483.
MUMmer 1.0 is described in "Alignment of Whole Genomes." A.L. Delcher, S. Kasif, R.D. Fleischmann, J. Peterson, O. White, and S.L. Salzberg, Nucleic Acids Research, 27:11 (1999), 2369-2376.
Space efficent suffix trees are described in "Reducing the Space Requirement of Suffix Trees." S. Kurtz, Software-Practice and Experience, 29(13): 1149-1171, 1999.
Thanks to SourceForge for the fantastic service!
MUMmer3.0 is a joint development effort by Stefan Kurtz of the University of Hamburg and Adam Phillippy, Art Delcher and Steven Salzberg at TIGR. Stefan's contribution of the new suffix tree code was essential to making MUMmer 3.0 an open source project. Also thanks to Corina Antonescu for the development of mapview.
VERSION 3.20 - July 2007