Installation#
Note
Wheels are provided for Linux and OSX x86-64, but other machines will
have to build the wheel from the source distribution. Building pyfastani
involves compiling fastANI, which requires a C++ compiler to be available
on the local machine.
PyPi#
pyfastani is hosted on GitHub, but the easiest way to install it is to download
the latest release from its PyPi repository.
It will install all dependencies then install pyfastani either from a wheel if
one is available, or from source after compiling the Cython code :
$ pip install --user pyfastani
Conda#
pyfastani is also available as a recipe
in the bioconda channel. To install, simply
use the conda installer:
$ conda install -c bioconda pyfastani
Arch User Repository#
A package recipe for Arch Linux can be found in the Arch User Repository under the name python-pyfastani. It will always match the latest release from PyPI.
Steps to install on ArchLinux depend on your AUR helper
(yaourt, aura, yay, etc.). For aura, you’ll need to run:
$ aura -A python-pyfastani
BioArchLinux#
The BioArchLinux project provides pre-compiled packages
based on the AUR recipe. Add the BioArchLinux package repository to /etc/pacman.conf:
[bioarchlinux]
Server = https://repo.bioarchlinux.org/$arch
Then install the latest version of the package and its dependencies with pacman:
$ pacman -S python-pyfastani
Piwheels#
PyFastANI works on Raspberry Pi platforms (with NEON vectorization enabled!), and
pre-built wheels are made available for armv7l platforms. Run the following
command to install them instead of compiling from source:
$ pip3 install pyfastani --extra-index-url https://www.piwheels.org/simple
Check the piwheels documentation for more information.
GitHub + pip#
If, for any reason, you prefer to download the library from GitHub, you can clone the repository and install the repository by running (with the admin rights):
$ git clone --recursive https://github.com/althonos/pyfastani
$ pip install --user ./pyfastani
Caution
Keep in mind this will install always try to install the latest commit, which may not even build, so consider using a versioned release instead.