/reneo

🦠🧬 Unraveling Viral Genomes from Metagenomes

Primary LanguagePythonMIT LicenseMIT

reneo logo

Reneo: Unraveling Viral Genomes from Metagenomes

DOI GitHub Code style: black GitHub last commit (by committer)

Reneo means to unravel or untangle in Latin. Reneo is a software developed to unravel or untangle high-quality genomes from viral communities (including both prokaryotic and eukaryotic viruses) found within metagenomes using assembly graphs. Reneo identifies viral components in the metagenomic assembly using virus orthologous groups from VOGDB, models as flow networks and solves a minimum flow decomposition (MFD) problem to resolve genomic paths. Reneo was motivated based on a bacteriophage recover tool named Phables, specifically to extend the capabilities of Phables to all viruses.

Setting up Reneo

Downloading Reneo

Clone the Reneo GitHub repository to your machine using the following command.

git clone https://github.com/Vini2/reneo.git

Move into the reneo folder.

# Move into reneo folder
cd reneo

Setting up Reneo environment

We recommend to use conda for the setup. Run the following commands to setup and activate the conda environment.

# Setup conda environment
conda env create -f build/environment.yml

# Activate reneo environment
conda activate reneo

Now run the following command to install Reneo to the created environment.

# Setup reneo
pip install -e .

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

Setting up Gurobi

The MFD implementation uses the linear programming solver Gurobi. The reneo conda environment does not include Gurobi. You have to install Gurobi using the following command.

conda install -c gurobi gurobi

To handle large models without any model size limitations, once you have installed Gurobi, you have to activate the (academic) license and add the key using the following command. You only have to do this once.

grbgetkey <KEY>

You can refer to further instructions at https://www.gurobi.com/academia/academic-program-and-licenses/.

Quick Start Guide

Setting up databases

reneo install

Testing the setup

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

reneo --help

Running Reneo

# Run Reneo
# locally: using 8 threads (default is 1 thread)
reneo run --input assembly_graph.gfa --reads fastq/ --threads 8

Issues and Questions

Reneo is still under testing. Please report any issues and suggestions under Reneo Issues.

Acknowledgement

Reneo uses the Gurobi implementation of MFD-ILP and code snippets from Phables. The Reneo logo was designed by Laura Inglis.

Citation

The Reneo manuscript is currently in preparation. In the meantime, please cite Reneo as

V Mallawaarachchi, MJ Roach, P Decewicz, B Papudeshi, SR Grigson, G Bouras, LK Inglis, SK Giles, EA Dinsdale and RA Edwards (2023). Reneo: Unraveling Viral Genomes from Metagenomes. DOI: 10.5281/zenodo.8263066