jglamine / phamdb

Quickly create and modify Phamerator databases.
GNU General Public License v3.0
5 stars 5 forks source link

PhamDB

A web application for creating and modifying Phamerator databases.

Get started

For installation instructions, see the wiki.

Help and documentation

Help and documentation are available on the wiki.

Support

PhamDB was created by James Lamine as his computer science senior project. His advisors for this project were Serita Nelesen and Randal DeJong. For support questions, please contact Serita Nelesen - snelesen (at) calvin (dot) edu

Features

Screenshots

Upload genbank files

Upload genbank

See detailed error messages of invalid phages

Genbank validation

Analyze your database in Phamerator

Create database

Minimum system requirements

Linux
Windows and Mac OSX
Recommended

For developers

PhamDB is a Python Flask application. It uses Python 2.7, MySQL and RabbitMQ, and calls several Linux command line programs to process gene data.

The easiest way to see how the application is set up is to read the Dockerfile (docker/Dockerfile). It contains information on the various dependencies required. Note that nginx and uwsgi are only needed for production, not development.

Setup

Read the Dockerfile (docker/Dockerfile) to see the basics of how the application is set up.

Among other things, be sure to clone the repository, install the required linux packages, create a python virtual environment, install python packages from requirements.txt, add the project to the virtual environment's PYTHONPATH, run the database creation script, download the conserved domain database using the included makefile (pham/data/conserved-domain-database/Makefile), and verify that all of the tests pass.

Running PhamDB locally

Once you have installed the dependencies and required python packages, you will have to run two commands:

Run the application server with:

python webphamerator/run.py

Run the Celery background job processor with:

celery -A webphamerator.app.celery worker

Testing

From the project's root directory, run the tests with:

nosetests

License

PhamDB is licensed under the GNU GPL, version 3. See license.txt for the full license.