of large-scale DNA and protein sequences
Open Source Announcement
MUMmer is now 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.
To receive software update notices, please join the MUMmer
mailing list. This list will only be used to announce major version releases
and help us keep track of MUMmer users:
Highlights of Release 3.0
- Open source
- Improved efficiency
- Ability to find non-unique, repetitive matches as well as unique matches
- New graphical output modules
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 handles the 100s or 1000s of contigs from a shotgun
sequencing project with ease, 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 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, while MUMmer 3.0 was recently described
in our 2004 Genome Biology paper.
For more information regarding the MUMmer3.0 package, please refer to the
online manual or the documentation included with the
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
|E.coli K12 vs.
|102 MB / 18 s
||77 MB / 17 s
|261 MB / 51 s
||204 MB / 47 s
|578 MB / 128 s
||459 MB / 120 s
|D.melanogaster arm 2L vs.
|684 MB / 879 s
||485 MB / 835 s
|752 MB / 1109 s
||522 MB / 975 s
MUMmer 1.0 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.1 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.
We are currently using MUMmer 3.0 for numerous applications. Two worth highlighting
- Identifying SNPs and other mutations in a large collection of Bacillus
anthracis strains that we are sequencing as part of an effort to create
a database of species variation that will have great value for genotyping
and forensic uses.
- Comparing different assemblies of the same genome at different stages
of sequencing and finishing. We also use it to compare assemblies of the
same data using different assembly algorithms.
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.
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
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.
The development of MUMmer is supported in part by the National Science Foundation
under grants IIS-9902923 and IIS-9820497, and by the National Institutes of
Health under grants R01-LM06845 and N01-AI-15447.
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
Please address questions and bug reports via Email to:
VERSION 3.17 - May 2005