Skip to main content

Phables: Phage bubbles resolve bacteriophage genomes in viral metagenomic samples

Project description

phables logo

Phables: Phage bubbles resolve bacteriophage genomes in viral metagenomic samples

CI GitHub Code style: black Anaconda-Server Badge PyPI version Documentation Status

Phables is a tool developed using Snaketool to resolve bacteriophage genomes using phage bubbles in viral metagenomic data. It models cyclic phage-like components in the viral metagenomic assembly as flow networks, models as a minimum flow decomposition problem and resolves genomic paths corresponding to flow paths determined. Phables uses the Minimum Flow Decomposition via Integer Linear Programming implementation to obtain the flow paths.

For detailed instructions on installation and usage, please refer to the documentation hosted at Read the Docs.

NEW: Phables is now available on at and on PyPI at Feel free to pick your package manager.

phables workflow

Setting up Phables

Option 1: Installing Phables from

You can install Phables from at Make sure you have conda installed.

# add channels
conda config --add channels defaults
conda config --add channels bioconda
conda config --add channels conda-forge
conda config --add channels gurobi

# create conda environment and install phables
conda create -n phables -c vijinim phables

# activate environment
conda activate phables

Now you can go to Setting up Gurobi to configure Gurobi.

Option 2: Installing Phables from PyPi

You can install Phables from PyPI at Make sure you have pip installed.

pip install phables

Now you can go to Setting up Gurobi to configure Gurobi.

Setting up Gurobi

The MFD implementation uses the linear programming solver Gurobi. We chose Gurobi over open source solvers as Gurobi is fast and can solve large models (check the performance comparison at

The phables conda environment and pip setup already include Gurobi. To handle large models without any model size limitations, you have to activate the (academic) license and add the key using the following command.

grbgetkey <KEY>

You can refer to further instructions at Please note that this academic lisence is a file-based host-locked license, meaning that you can only run Gurobi on the machine that the license was obtained for. If you want to run on a cluster, you will have to contact your system admin and setup a floating network license. You can find more details at

Test the setup

After setting up, run the following command to print out the Phables help message.

phables --help

Then run the following command to launch the test run and ensure that Phables is working.

phables test

Quick Start Guide

Setup databases

Run the following command to download and setup the required databases.

phables install

Preprocess data

Next, run the following command to preprocess your data. You have to provide the output from Hecatomb and the path to the directory containing the raw paired-end reads.

phables preprocess --input hecatomb.out/ --reads reads_dir/ --threads 16

Run Phables

Now you can run Phables as follows.

phables --input hecatomb.out/

Please refer to the documentation hosted at Read the Docs for further information on how to run Phables.

Reporting Issues

Phables is still under testing. If you want to test (or break) Phables give it a try and report any issues and suggestions under Phables Issues.


Phables uses the Gurobi implementation of MFD-ILP and code snippets from STRONG, METAMVGL, GraphBin and MetaCoAG.

Project details

Download files

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

Source Distribution

phables-0.1.0b6.tar.gz (335.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page