PySylph
#
PyO3 bindings and Python interface to sylph, an ultrafast method for containment ANI querying and taxonomic profiling.
Overview#
sylph is a method developed by Jim Shaw
and Yun William Yu for fast and robust
ANI querying or metagenomic profiling for metagenomic shotgun samples. It uses
a statistical model based on Poisson coverage to compute coverage-adjusted ANI
instead of naive ANI.
pysylph is a Python module, implemented using the PyO3
framework, that provides bindings to sylph. It directly links to the
sylph code, which has the following advantages over CLI wrappers:
Just add pysylph as a pip or conda dependency, no need
for the HMMER binaries or any external dependency.
Create input GenomeSketch and SampleSketch
objects with the API, or load them from a file.
Retrieve nested results as lists of AniResult objects,
write them to a file, or use them for further Python analysis.
Setup#
Run pip install pysylph 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 pysylph.
Citation#
Pysylph is scientific software, and builds on top of sylph. Please cite
sylph if you are using it in
an academic work, for instance as:
pysylph, a Python library binding tosylph(Shaw & Yu, 2024).
Library#
License#
This library is provided under the MIT License.
It contains some code included verbatim from the the sylph source code, which
was written by Jim Shaw and is distributed
under the terms of the MIT License
as well. Source distributions of pysylph vendors additional sources under their
own terms using the cargo vendor command. See the
Copyright Notice section for more information.
This project is in no way not affiliated, sponsored, or otherwise endorsed by the original sylph authors. It was developed by Martin Larralde during his PhD project at the Leiden University Medical Center in the Zeller team.