Skip to content
byron wallace edited this page Apr 21, 2014 · 18 revisions

Note: if you use docker, see these instructions: https://gist.github.com/gertvv/8319889, helpfully provided by Gert van Valkenhoef. Otherwise, continue on.

General abstrackr Setup Instructions

Please ensure that you have the following programs installed

  • Git (link)
  • virtualenv (optional, but highly recommended) (link)
  • virtualenvwrapper (optional, but highly recommended) (link)

I will be covering installation that has been tested in a Linux environment. Windows installations will be similar but will require some modifications to the commands. The order of operations should be identical for the most part.

Create a virtualenv with python2

mkvirtualenv --python=python2 abstrackr

Create a root folder for the app. I will refer to this folder as 'project root' from now on

mkdir abstrackr
cd abstrackr

Eutils, Pygooglechart, Biopython and numpy cannot be build with easy_install and thus are not included as prerequisites in the egg. The next steps describe how to install these manually.

With the new environment activated, run the following commands from within the 'project root' folder

git clone https://github.com/hpiwowar/eutils
cd eutils
python setup.py build
python setup.py install
cd ..

Install PyGoogleChart

pip install pygooglechart

Install Numpy

pip install numpy

Install Biopython

pip install "biopython==1.57"

Install Abstrackr

easy_install abstrackr

Make a copy of the sample.ini (call it development.ini for example) and place it inside the 'project root' folder. Then on the line with 'sqlalchemy.url' modify the parts pertaining to your database name, username and password:

  .
  .
[app:main]
  .
  .
# SQLAlchemy database URL
sqlalchemy.url = mysql://<username>:<password>@127.0.0.1:3306/<database>

Next look for "# Mailing configurations" within the [app:main] section of the development.ini file and modify the following lines accordingly

  .
  .
[app:main]
  .
  .
# Mailing configurations  
smtp_host = localhost
smtp_port = 25
sender = [email protected]

Prepare the database

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON <database>.* TO 'username'@'localhost';
CREATE SCHEMA <database>;

Remove the following comment in the .ini file when you are ready for production

set debug = false

The next command will build your database tables, provided the database has been setup correctly and the user has the proper rights

Run the following command from the 'project root' directory

paster setup-app development.ini

Start the server

paster serve developement.ini