Probabilistic Phage Protein Functions: Phage genomes and their annotations

# Probabilistic Phage Protein Families

Rob Edwards

## Synopsis

We are exploring different ways of annotating phage proteins (because it never gets old), and this is a database of complete phage genomes and their annotations.

It also includes some phage protein clustering and tools associated with those clusters.

At the moment this is very much a pre-alpha project. We are defining the tables and relations, building the code base to access those tables, and trying to explore what we should do next.

However, we have made all our data, and the code to recreate it, available for everyone in case it is of use to anyone.

## Installation

### PIP installation

pip install pppf


### Getting started

The [download_databases](python scripts/download_databases.py) script will download the two databases phages.sql [2.6 GB] and clusters.sql [1.8 GB] to the default location (currently PPPF/data/databases/) or to a location of your choosing.

Most of the code in scripts requires that you provide a phage or clusters database as a command line option, but we are implementing code in pppfdb that will use the default location. If you use a different location, you may need to change the location in that code.

### Building from scratch

If you want to build the databases from scratch, you can do so using snakemake and the snakefiles that we provide.

Then, you can use snakemake to start making it better. Probably.

You will need a process_phages.json file, and then you can update the databases with the latest phage genomes like this:

snakemake -s PPPF/snakefiles/download_phages.snakefile --configfile process_phages.json


if you are running on Edwards' local compute resources, you can use this command to run the download on the cluster.

snakemake -s ~/GitHubs/PPPF/snakefiles/download_phages.snakefile --cluster 'qsub -cwd -o sge_download.out -e sge_download.err -V' -j 200 --latency-wait 60


It will download a new set of accessions, and then check the database to see what needs to be added. Note that currently we do not delete anything from the database.

## Using PPPF

The basic structure is that each of the directories is a library, and the scripts directory contains scripts that use those libraries.

Take a look at the database schema for a more detailed discussion of the schema we designed.

## Information

PPPF is released under the MIT License

### Issues

Please use the issue tracker for any bugs, enhancements, suggestions, or comments

## Project details

Uploaded source
Uploaded py3