More information on the data models, commands, and loader can be found on the varify-data-warehouse repository.
Need some help?
Join our chat room and speak with our dev team: http://www.hipchat.com/gZcKr0p3y
Listed are the download links to each dependency, however most OSes have a package manager or binaries that can be easily installed. Most of the below links describe alternate download and install methods.
On Mac OS X, Homebrew is the recommended way to install most of these of these libraries.
- Python 2.6+
- Ruby 1.8.7+
- RubyGems 1.3+
- NodeJS 0.8+
- Redis 2.6+
- PostgreSQL 9.2+
- Ruby Sass gem
Install the Sass gem:
gem install sass
Install the Bourbon gem:
gem install bourbon
INSTALL file contains instructions for setting up a server running
RedHat Enterprise Linux Server 6.3.
Optional Dependencies (SolveBio)
SolveBio provides easy integration with external datasets such as ClinVar, OMIM, dbSNP, and PubMed. It is currently integrated into the variant resource, and populates a portion of the variant details view in the Varify web client.
SolveBio is currently in Private Beta, but Varify users can get access by signing up at solvebio.com.
To enable SolveBio within Varify, first install the Python package:
pip install solvebio
Then, make sure that the
SOLVEBIO_API_KEY Django setting is set either
via an environment variable (see
global_settings.py) or explicitly in your
local_settings.py. You can find your API key from your account page on the
Setup & Install
Distribute, Pip and virtualenv are required. To check if you have them:
which pip easy_install virtualenv
If nothing prints out, install the libraries corresponding to the commands below:
Watch out for sudo! The root user
$PATH most likely does not include
/usr/local/bin. If you did not install Python through your distro's package
manager, use the absolute path to the new Python binary to prevent installing
the above libraries with the wrong version (like Python 2.4 on CentOS 5),
curl http://python-distribute.org/distribute_setup.py | python curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python pip install virtualenv
Create your virtualenv:
virtualenv varify-env cd varify-env . bin/activate
Clone the repo:
git clone https://github.com/cbmi/varify.git cd varify
Install the requirements:
pip install -r requirements.txt
Under Mac OS X 10.8 or later, with XCode 5.1 or later, the following may be necessary in order for pip to install requirements:
Start the postgres server. This may look something like:
initdb /usr/local/var/postgres -E utf8 pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
Create the varify database, you might first want to make sure you are a user
createuser --user postgres -s -r yourusername createdb varify
If you are on a Mac, you will need to start postfix to allow SMTP:
sudo postfix start
Initialize the Django and Varify schemas
./bin/manage.py syncdb ./bin/manage.py migrate
Then either start the built-in Django server:
or run a
uwsgi --ini server/uwsgi/local.ini --protocol http --socket 127.0.0.1:8000 --check-static _site
watch- watches the SCSS files in the background for changes and automatically recompiles the files
unwatch- stops watching the SCSS files
sass- one-time explicit recompilation of SCSS files
deploy:[<branch>@]<commit>- deploy a specific Git commit or tag
local_settings.py is intentionally not versioned (via
.gitignore). It should
contain any environment-specific settings and/or sensitive settings such as
SECRET_KEY and other information that should not be in version
local_settings.py is not mandatory but will warn if it does
Sass is awesome. SCSS is a superset of CSS so you can use as much or as little SCSS syntax as you want. It is recommended to write all of your CSS rules as SCSS, since at the very least the Sass minifier can be taken advantage of.
Execute the following commands to begin watching the static files and collect the files (using Django's collectstatic command):
make sass collect watch
sass target is called first to ensure the compiled files exist before attempting to collect them.