Installation

This is a manual installation guide for the Protein Geometry Database (PGD).

Install dependencies

Certain operating-system packages are required to run the PGD. As an example, here are the additional packages required for a Centos 7 server with EPEL:

  • bzip2
  • cairo-devel
  • gcc
  • gcc-c++
  • libffi
  • libffi-devel
  • mysql
  • mysql-devel
  • nodejs
  • npm
  • python-devel
  • python-setuptools
  • tar

Also required is dsspcmbi, compiled from the DSSP software.

Python 2.7 or greater is required, but Python 3.x is not currently supported.

Get the Code

  1. Make sure you have Git installed.

  2. Check it out from the repository:

    git clone https://github.com/osuosl/pgd
    

Configuration

The easiest way to spin up an instance of the PGD for testing purposes is with Docker. If Docker is unavailable, an instance of the PGD can be spun up locally following these instructions.

  1. Construct a settings.ini file in the top level of the application. This file must contain values for SECRET_KEY, with other values optional. Here is an example:

    [settings]
    MYSQL_ENV_MYSQL_DATABASE=pgd
    MYSQL_ENV_MYSQL_USER=pgd
    MYSQL_ENV_MYSQL_PASSWORD=kjwb_if4hgkujpb3*7(_8
    MYSQL_PORT_3306_TCP_ADDR=mysql.example.org
    MYSQL_PORT_3306_TCP_PORT=3306
    GOOGLE_ID=UA-8675309-1
    SECRET_KEY=2nWoBbgLb1bVbOzM0PaW/q0jScKKcP5j2nWoBbgLb1bVbOzM0P
    MEDIA_ROOT=/opt/django/pgd/media
    STATIC_ROOT=/opt/django/pgd/static
    EMAIL_HOST=smtp.example.org
    DEFAULT_FROM_EMAIL=registration@pgd.example.org
    SERVER_EMAIL=pgd@pgd.example.org
    
  2. Initialize the database:

    $ python manage.py syncdb
    
  3. Collect the static files:

    $ python manage.py collectstatic
    
  4. Now the server can be run:

    $ python manage.py runserver
    

See the importing data section for instructions on how to import data.

More information about deploying with WSGI can be found here.