MSAProbs is a new and practical multiple 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. Furthermore, MSAProbs is optimized for multi-core CPUs by employing a multi-threaded design, leading to a competitive execution time compared to other aligners.



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 contact Liu Yongchao (Email: yliu860 (at) gatech (dot) edu).