Compiling mauveAligner from source on Linux
Although Mauve is provided as a pre-compiled binary for Windows, Linux, and Mac OS X, we also make the source code available so that users can modify Mauve and compile it on other platforms. This chapter describes the procedure for compiling the command-line mauveAligner and progressiveMauve tools from source code on a unix system. Project files for Microsoft Visual studio are included to compile Mauve in a Windows environment.
Brief instructions for the lazy
The resulting GUI build will be located in
The following command will install all prerequisites on debian and ubuntu:
1. Obtain Mauve source code
The command-line aligner tools are contained in a source package called “mauveAligner”. mauveAligner depends on several additional software packages. Each of these packages must be downloaded and installed in order to compile mauveAligner successfully. The easiest way to obtain the code is to check it out directly from the sourceforge subversion repository, especially if the code will be modified and changes will be committed back to the repository. To do so, execute the following series of commands inside a development directory:
The developers make no guarantee that the latest source code will compile or otherwise work.
1. Installing Boost
Boost may be installed as a package on Linux systems using apt-get or yum, or from source on Windows and Mac OS X. We recommend building boost from source on all platforms. To do so it is necessary to ensure zlib-devel and bzip2-devel packages are already installed. A default build of the boost source may be done using the commands:
2. Installing libGenome
Once downloaded and untarred, libGenome can be compiled and installed using the following commands from within the libGenome directory:
libGenome is installed by default in the /usr/local directory. The –prefix argument to ./configure is optional and specifies the location where libGenome gets installed.
3. Installing muscle
The installation procedure for the muscle library is similar to that for libGenome. From the software package’s directory, execute the following commands:
An error usually occurs after running the ‘make’ command. It is safe to ignore and simply continue with ‘make install’. Again, the –prefix is an optional argument to ./configure which specifies the location where the library gets installed.
4. Installing libMems
Since libMems depends on the functionality provided by libGenome, muscle, and boost these packages must be installed before libMems. Also, libMems requires the pkg-config software to determine the location of libGenome and muscle during the installation process. From the libMems directory, execute the following commands:
5. Compiling mauveAligner
Once libGenome, muscle, and libMems are installed, the aligner software can be compiled. From the mauveAligner directory, issue the following commands:
In addition to mauveAligner and progressiveMauve, several supporting applications will be compileld. We do not have explicit documentation for them. Many of them are self-explanatory and give their usage instructions when run without arguments.
The statically linked version of mauveAligner is called mauveStatic. It includes the necessary part of the support libraries directly in the program and can be used on other systems without first installing the support libraries. Note that Mac OS X doesn’t support static linking and any applications built on OS X will be dynamically linked.
Compiling from a source snapshot
The development code in the source code repositories do not have a complete build system. In order to build these, the build system must be regenerated using a recent version of the autotools software. To prepare the source for a build, execute the following command:
You will need GNU autotools installed, including autoconf, automake, and libtool. The source directory will now be ready for a build with the usual configure, make, make install procedure.
A complete example
The following series of commands will build all libraries and source code from the latest source snapshots on an x86 Linux system, installing software to the user’s home directory:
If you will be building the source more than once, or especially if you will be editing and recompiling the source, it will be desirable to have
To build the GUI, execute the following additional commands:
The Mauve GUI build will reside in