MSAProbs is a well-established state-of-the-art multiple sequence alignment algorithm for protein sequences. The design of MSAProbs is based on a combination of pair hidden Markov models and partition functions to calculate posterior probabilities. Assessed using the popular benchmarks: BAliBASE, PREFAB, SABmark and OXBENCH, MSAProbs achieves statistically significant accuracy improvements over the existing top performing aligners, including ClustalW, MAFFT, MUSCLE, ProbCons and Probalign. In addition, MSAProbs is optimized for shared-memory CPUs by employing a multi-threaded design, and further parallelized for distributed-memory systems using MPI to overcome high memory overhead barrier and achieve good parallel and data-size scalability.



Other related papers


Installation and Usage

Compile on Windows and Linux

  1. Linux and Windows are supported, with a Makefile and a Visual Studio 2005 project co-existing in the source code tarball.
  2. On Linux, change to sub-directory MSAProbs and then type command "make" to compile the program.
  3. The default compiling options enable OpenMP support to fully utlized the compute capability of multi-core CPUs, as multi-core CPUs have been commonplace.

Compile on Mac OS X

The solution to compile MSAProbs on Mac OS X Mavericks is described step-by-step in the following.

  1. Install gcc49 using MacPorts (require the installataion of MacPorts), by executing the command sudo port install gcc49. This will install the latest GCC 4.9 compiler into the directory /opt/local/bin
  2. Modify the Makefile provided for Linux (as mentioned above) to point to GCC 4.9, which has support for OpenMP. Two macros should be modified as follows.
    • Change the macro CXX to CXX = /opt/local/bin/g++-mp-4.9.
    • Add -I /opt/local/include to the macro COMMON_FLAGS.

Users can download an example Makefile for Mac OS X from here. We thank Andrei LIHU for contributing such a solution.

Typical Usage

  1. "msaprobs -help" or "msaprobs -?"

    Get the command line options

  2. "msaprobs infile >outfile" or "msaprobs infile -o outfile"

    Output the multiple alignments in FASTA format to file "outfile"

  3. msaprobs -o outfile -num_threads 4 infile1.fa infile2.fa

    Use 4 threads to accelerate the multiple alignment execution

BioPerl usage

MSAProbs has been supported by BioPerl. How to use this program in BioPerl? Click here for details.

Change Log


If any questions or improvements, please feel free to contact Liu, Yongchao.