This project, a summer project at the GMC lab, is a remake of their GETevidence page. It utitlizes django and celery and is designed to compare .vcf files to a ClinVar database.
These instructions were written for Ubuntu Linux 13.10 or 14.04.
Navigate to the directory you want to have the code in, and clone the
repository with: git clone git://github.com/emilysa/Genevieve
.
Genevieve needs the following data to enable interpretion of Complete Genomics var files:
- Go to the
data_files/
directory - Add the
hg19.2bit
file to this directory by typing:wget http://hgdownload-test.cse.ucsc.edu/goldenPath/hg19/bigZips/hg19.2bit
.
(Other ways of adding this file are fine.)
Copy genevieve/settings_local_example.py
to genevieve/settings_local.py
and
replace the stub variables with your own local/secret values.
- (Root user action) Install pip:
sudo apt-get install python-pip
- (Root user action) Use pip to install virtualenv and
virtualenvwrapper:
sudo pip install virtualenv virtualenvwrapper
.
- Make a directory to store your virtual environments:
mkdir ~/.virtualenvs
- To make virtualenv and virtualenvwrapper commands work in future
terminals, add the following to your bashrc (or zshrc, as appropriate):
export WORKON_HOME=$HOME/.virtualenvs
andsource /usr/local/bin/virtualenvwrapper.sh
.
If you open a new terminal you should now be able to access the virtualenvwrapper commands listed below.
If you aren't familiar with pip and virtualenv: these are standard tools in Python development, greatly facilitating package management. Whenever working on this software you should do so within the virtual environment (e.g. after performing step 2 below).
- Create a new virtual environment for working on this code:
mkvirtualenv genevieve
- Start using this virtual environment:
workon genevieve
- Navigate to top directory in this project. (One of the subdirectories
should be
file_process
.) Install the Python packages required for development withpip install -r requirements.txt
.
Celery requires a message broker. This broker acts a middleman sending and receiving messages to Celery workers who in turn process tasks as they receive them. Celery recommends using RabbitMQ, an open source tool.
- (Root user action) Install RabbitMQ:
sudo apt-get install rabbitmq-server
- Ubuntu automatically begins running a rabbit server in the background once this is installed.
- (Root user action) Starting the server is as simple as:
sudo rabbitmq-server
(runs in the foreground), or you can start it in the background withsudo rabbitmq-server -detached
. To stop the server usesudo rabbitmqctl stop
.
To launch Celery, from the project's base directory run:
celery -A genevieve worker -l info
(this runs in the foreground)
In a new terminal, start your virtual environment (with
workon genevieve
) and run the following in the
project's base directory to initialize the database and then run a
local Django server.
python manage.py migrate
python manage.py runserver
If you're running this locally, you'll be able to navigate to
http://127.0.0.1:8000
in a web browser. This demo will allow you to
upload a file to the site, it will then asynchronously create a
gzipped version of that file. Once the gzip is done, a link to the
gzipped file will appear.