msa: An R Package for Multiple Sequence Alignment

The msa provides a unified R/Bioconductor interface to the multiple sequence alignment algorithms ClustalW, ClustalOmega, and MUSCLE. All three algorithms are integrated in the package, therefore, they do not depend on any external software tools and are available for all major platforms. The multiple sequence alignment algorithms are complemented by a function for pretty-printing multiple sequence alignments using the LaTeX ackage TeXshade.


The R package msa is available from Bioconductor. The first version of the package has been released as part of Bioconductor 3.1 on April 17, 2015. The current version of the package is 1.18.0 (released on October 30, 2019, as part of Bioconductor 3.10). To install msa, follow the simple standard procedure for installing Bioconductor packages i.e. enter the following into your R session:
if (!requireNamespace("BiocManager", quietly = TRUE))

Please note that Bioconductor 3.10 requires R version 3.6.1.

The current development version of the package is 1.19.0.


  1. User Manual: PDF
  2. Reference Manual: PDF

Getting started

  1. To load the package, enter "library(msa)" in your R session.
  2. To view the user manual, enter "vignette("msa")".
  3. To do a first example, enter "example(msa)".

User support

If you encounter any issues or if you have any question that might be of interest also for other users, before writing a private message to the package developers/maintainers, please consider posting on Bioconductor Support or StackOverflow. For all other matters regarding the package, please contact

Citing this package

If you use this package for research that is published later, you are kindly asked to cite it as follows:

U. Bodenhofer, E. Bonatesta, C. Horejš-Kainrath, and S. Hochreiter (2015). msa: an R package for multiple sequence alignment. Bioinformatics 31(24):3997-3999. DOI: 10.1093/bioinformatics/btv494.

R source code for example alignment presented in paper: Example.R (0.7 KB)

Moreover, we insist that, any time you use/cite the package, you also cite the original paper in which the algorithm/method/package that you have been using has been introduced:

J. D. Thompson, D. G. Higgins, and T. J. Gibson (1994).CLUSTAL W: improving the sensitivity of progressive multiple sequence alignment through sequence weighting, position-specific gap penalties and weight matrix choice. Nucleic Acids Res., 22(22):4673 4680. DOI: 10.1093/nar/22.22.4673.
F. Sievers, A. Wilm, D. Dineen, T. J. Gibson, K. Karplus, W. Li, R. Lopez, H. McWilliam, M. Remmert, J. Söding, J. D. Thompson, and D. G. Higgins (2011) Fast, scalable generation of high-quality protein multiple sequence alignments using Clustal Omega. Mol. Syst. Biol., 7:539. DOI: 10.1038/msb.2011.75.
R. C. Edgar (2004) MUSCLE: a multiple sequence alignment method with reduced time and space complexity. BMC Bioinformatics, 5(5):113. DOI: 10.1186/1471-2105-5-113.

R. C. Edgar (2004) MUSCLE: multiple sequence alignment with high accuracy and high throughput. Nucleic Acids Res., 32(5):1792 1797. DOI: 10.1093/nar/gkh340.

E. Beitz (2000) TeXshade: shading and labeling of multiple sequence alignments using LaTeX2e. Bioinformatics, 16(2):135-139. DOI: 10.1093/bioinformatics/16.2.135.