aboutsummaryrefslogtreecommitdiff
path: root/INSTALL.md
blob: b8c9c977165c233498c9570481c0164bb1defe65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# INSTALL Genenetwork2 (GN2)

## Use a Docker image

A Docker image can be generated from
[here](https://github.com/lomereiter/gn2-docker).

## Fetch GN2 from github

Clone the repository (currently ~800Mb) to local

    git clone git@github.com:genenetwork2/genenetwork2.git

## Dependencies

GN2 requires

* python
* redis-server
* mysql-server

## Required python modules

Install the following python modules (it is probably wise to use a local
Python with environment for this)

* Flask
* pyyaml
* redis
* qtlreaper
* numarray
* pp
* Flask-SQLAlchemy

## Set up local file settings.py

```python
LOGFILE = """/tmp/flask_gn_log"""

#This is needed because Flask turns key errors into a
#400 bad request response with no exception/log
TRAP_BAD_REQUEST_ERRORS = True

DB_URI = """mysql://gn2:password@localhost/db_webqtl"""
SQLALCHEMY_DATABASE_URI = 'mysql://gn2:password@localhost/db_webqtl'

# http://pythonhosted.org/Flask-Security/configuration.html
SECURITY_CONFIRMABLE = True
SECURITY_TRACKABLE = True
SECURITY_REGISTERABLE = True
SECURITY_RECOVERABLE = True

SECURITY_EMAIL_SENDER = "no-reply@genenetwork.org"
SECURITY_POST_LOGIN_VIEW = "/thank_you"
SQLALCHEMY_POOL_RECYCLE = 3600

SERVER_PORT = 5051

SECRET_HMAC_CODE = '*'
```

```sh
# Use a working copy of python
export python=$HOME/ve27/bin/python
export WQFLASK_SETTINGS=$HOME/settings.py
source /home/pjotr/ve27/bin/activate  
cd genenetwork2/wqflask
$python ./runserver.py

or

$python ./secure_server.py
```

## Running tools

### pylmm

To run pylmm check out the repository at https://github.com/genenetwork/pylmm_gn2.

Next update the setting.py file to point at the tree

GN2 can locate PYLMM through PYLMM_PATH in setting.py (or in ENV)

    PYLMM_PATH = '/home/test/opensource/python/pylmm_gn2'

## Other information

Check also the ./misc/ directory for settings