Skip to main content

ProPhyle metagenomic classifier

Project description

ProPhyle – accurate and resource-frugal phylogeny-based metagenomic classification

.. image::

.. image::

.. image::

.. image::

.. image::

.. image::


ProPhyle is a *k*-mer based metagenomic classifier using Burrows-Wheeler Transform.
Its indexing strategy relies on a bottom-up propagation of *k*-mers in the tree,
assembling contigs at each node, and matching using a standard full-text search using BWT-index.
The analysis of shared *k*-mers between NGS reads and the genomes in the index determines
which nodes are the best candidates for their classification.
More information about the indexing scheme
can be found in our `poster <>`_.

Compared to other state-of-the-arts classifiers, ProPhyle provides several unique features:

* **Low memory requirements.** Compared to `Kraken <>`_, ProPhyle has 9x smaller memory footprint for index construction and 5x smaller footprint for querying.
* **Flexibility.** ProPhyle is easy to use with any user-provided phylogenetic trees and reference genomes.
* **Standard bioinformatics formats.** `Newick/NHX <>`_ is used for representing phylogenetic trees and `SAM <>`_ for reporting the assignments.
* **Lossless k-mer indexing.** ProPhyle stores a list of *all* genomes containing a *k*-mer. It can be, therefore, accurate even with trees containing similar genomes (e.g, phylogenetic trees for a single species).
* **Deterministic behavior.** ProPhyle is a fully deterministic classifier with a mathematically well-defined behavior.

Quick example

1. Install ProPhyle using `Bioconda <>`_:

.. code-block:: bash

conda config --add channels defaults
conda config --add channels conda-forge
conda config --add channels bioconda
conda install prophyle

2. Download the `RefSeq <>`_ bacterial database:

.. code-block:: bash

prophyle download bacteria

3. To quickly test ProPhyle functionality, create an index for randomly sampled 10% genomes from the E.coli subtree of the NCBI taxonomy with k-mer size 31: ::

.. code-block:: bash

prophyle index -s 0.1 ~/prophyle/bacteria.nw@561 _index_ecoli

4. Classify your reads:

.. code-block:: bash

prophyle classify _index_ecoli reads.fq > result.sam


See `ProPhyle Documentation <>`_.

Algorithm description

Břinda K, Salikhov K, Pignotti S, and Kucherov G.
**ProPhyle: a phylogeny-based metagenomic classifier using the Burrows-Wheeler Transform.**
Poster at HiTSeq 2017. |hitseq2017|

Břinda K.
**Novel computational techniques for mapping and classifying Next-Generation Sequencing data.**
PhD Thesis, Université Paris-Est, 2016. |karel_phd|

.. |karel_phd| image::

.. |hitseq2017| image::


Please use `Github issues <>`_.


See `Releases <>`_.


`MIT <>`_


`Karel Brinda <>`_ <>

Kamil Salikhov <>

Simone Pignotti <>

`Gregory Kucherov <>`_ <>

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for prophyle, version
Filename, size File type Python version Upload date Hashes
Filename, size prophyle- (1.1 MB) File type Wheel Python version 3.6 Upload date Hashes View
Filename, size prophyle- (1.1 MB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page