|
Ultra-fast alignment
of large-scale DNA and protein sequences |
Overview
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,
while MUMmer 3.0 was recently described in our 2004 Genome Biology paper. For more
information regarding the MUMmer package, please refer to the:
Distribution
Online manual
Online tutorials
To 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:
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.
Collaborative projects that utilize MUMmer's open source license include:
- Insignia - A web
service for the identification of DNA signatures suitable for
real-time pathogen detection assays.
- AMOS - A genome
assembly toolkit including AMOScmp, a comparative genome assembler
built with MUMmer.
- SyntenyMiner -
A visualization tool for interrogation of multiple whole genome
alignments.
- Tandemizer - A
visualization tool for the analysis of tandem array blocks across
multiple genomes.
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
Suffix Trees
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 |
Applications
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.
Components
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.
Download
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.
References
MUMmer 3 user manual
MUMmer 3 examples
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.
Acknowledgments
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
of mapview.
VERSION 3.20 - July 2007
|