A web application for creating and modifying Phamerator databases.
For installation instructions, see the wiki.
Help and documentation are available on the wiki.
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
- Create and manage multiple Phamerator databases
- Upload genbank files to create a database
- Add and remove phages from existing databases
- Analyze your databases in Phamerator
- See live status of running jobs
- Queue multiple jobs
- Search NCBI's conserved domain database
- Docker
- 2GB of RAM (4GB recommended)
- 6GB of hard drive space
- Docker toolbox
- 4GB of ram
- 6GB of hard drive space
- Dual core processor
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.
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.
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
From the project's root directory, run the tests with:
nosetests
PhamDB is licensed under the GNU GPL, version 3. See license.txt
for the full license.