PyFAMSA Stars

Cython bindings and Python interface to FAMSA, an algorithm for ultra-scale multiple sequence alignments.

Actions Coverage PyPI Bioconda AUR Wheel Versions Implementations License Source Mirror Issues Docs Changelog Downloads

Overview

FAMSA is a method published in 2016 by Deorowicz et al. for large-scale multiple sequence alignments. It uses state-of-the-art time and memory optimizations as well as a fast guide tree heuristic to reach very high performance and accuracy.

pyfamsa is a Python module that provides bindings to FAMSA using the Cython language. It implements a user-friendly, Pythonic interface to align protein sequences using different parameters and access results directly. It interacts with the FAMSA library interface, which has the following advantages:

  • single dependency: pyfamsa is distributed as a Python package, so you can add it as a dependency to your project, and stop worrying about the FAMSA binary being present on the end-user machine.

  • no intermediate files: Everything happens in memory, in a Python object you control, so you don’t have to invoke the FAMSA CLI using a sub-process and temporary files.

  • friendly interface: The different guide tree build methods and heuristics can be selected from the Python code with a simple keyword argument when configuring a new Aligner.

Setup

Run pip install pyfamsa in a shell to download the latest release and all its dependencies from PyPi, or have a look at the Installation page to find other ways to install pyfamsa.

Library

License

This library is provided under the GNU General Public License v3.0.

FAMSA is developed by the REFRESH Bioinformatics Group and is distributed under the terms of the GPLv3 as well.

This project is in no way not affiliated, sponsored, or otherwise endorsed by the original FAMSA authors. It was developed by Martin Larralde during his PhD project at the European Molecular Biology Laboratory in the Zeller team.