PyFAMSA ¶
Cython bindings and Python interface to FAMSA, an algorithm for ultra-scale multiple sequence alignments.
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.