|
14 | 14 | - name: Install yum dependencies
|
15 | 15 | yum:
|
16 | 16 | name:
|
| 17 | + - bzip2-devel |
17 | 18 | - curl
|
18 | 19 | - gcc
|
| 20 | + - gcc-c++ |
19 | 21 | - git
|
20 | 22 | - libaio
|
| 23 | + - libffi-devel |
| 24 | + - make |
21 | 25 | - openssl
|
22 | 26 | - openssl-devel
|
| 27 | + - postgresql.x86_64 |
23 | 28 | - tar
|
24 | 29 | - unzip
|
25 | 30 | - wget
|
26 | 31 | - zlib-devel
|
27 |
| - - gcc-c++ |
28 |
| - - make |
29 |
| - - python36 |
30 |
| - - python36-devel |
31 |
| - - python36-setuptools |
32 |
| - - postgresql.x86_64 |
33 | 32 | tags: [ install-deps ]
|
34 | 33 |
|
35 |
| - - name: Install pip3 |
36 |
| - shell: easy_install-3.6 pip |
37 |
| - args: |
38 |
| - creates: /usr/local/bin/pip |
| 34 | + - name: Install build tools |
| 35 | + yum: |
| 36 | + name: "@Development tools" |
| 37 | + state: present |
39 | 38 | tags: [ install-deps ]
|
40 | 39 |
|
| 40 | + - name: Install Python 3.7 |
| 41 | + shell: | |
| 42 | + curl -OL https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tgz |
| 43 | + tar -xzf Python-3.7.7.tgz |
| 44 | + cd Python-3.7.7 |
| 45 | + ./configure --enable-optimizations |
| 46 | + make altinstall |
| 47 | + args: |
| 48 | + creates: /usr/local/bin/python3.7 |
| 49 | + tags: [ install-deps ] |
41 | 50 |
|
42 | 51 |
|
43 | 52 | - name: Install nhmmer
|
|
52 | 61 | args:
|
53 | 62 | creates: /usr/local/bin/nhmmer
|
54 | 63 |
|
| 64 | + - name: Install Infernal |
| 65 | + shell: | |
| 66 | + curl -OL http://eddylab.org/infernal/infernal-1.1.3.tar.gz |
| 67 | + tar xf infernal-1.1.3.tar.gz |
| 68 | + cd infernal-1.1.3 |
| 69 | + ./configure --prefix /usr/local |
| 70 | + make |
| 71 | + make install |
| 72 | +
|
| 73 | + - name: Delete rfam directory |
| 74 | + file: |
| 75 | + path: /srv/sequence_search/consumer/rfam |
| 76 | + state: absent |
| 77 | + ignore_errors: yes |
| 78 | + tags: [ rfam ] |
| 79 | + |
| 80 | + - name: Create rfam directory |
| 81 | + file: |
| 82 | + path: /srv/sequence_search/consumer/rfam |
| 83 | + state: directory |
| 84 | + owner: centos |
| 85 | + group: centos |
| 86 | + mode: 0755 |
| 87 | + tags: [ rfam ] |
| 88 | + |
| 89 | + - name: Install Rfam |
| 90 | + shell: |
| 91 | + chdir: /srv/sequence_search/consumer/rfam |
| 92 | + cmd: curl -OL ftp://ftp.ebi.ac.uk/pub/databases/Rfam/CURRENT/Rfam.cm.gz && gunzip Rfam.cm.gz |
| 93 | + tags: [ rfam ] |
| 94 | + |
| 95 | + - name: Create the cm binaries |
| 96 | + shell: /usr/local/bin/cmpress /srv/sequence_search/consumer/rfam/Rfam.cm |
| 97 | + tags: [ rfam ] |
| 98 | + |
| 99 | + - name: Delete cmsearch_tblout_deoverlap directory |
| 100 | + file: |
| 101 | + path: /srv/sequence_search/consumer/cmsearch_tblout_deoverlap |
| 102 | + state: absent |
| 103 | + ignore_errors: yes |
| 104 | + tags: [ deoverlap ] |
| 105 | + |
| 106 | + - name: Install cmsearch_tblout_deoverlap |
| 107 | + shell: |
| 108 | + chdir: /srv/sequence_search/consumer |
| 109 | + cmd: git clone https://github.com/nawrockie/cmsearch_tblout_deoverlap.git |
| 110 | + tags: [ deoverlap ] |
55 | 111 |
|
56 | 112 |
|
57 | 113 | - name: Rsync aiohttp code
|
|
62 | 118 | - "--exclude=/sequence_search/consumer/databases"
|
63 | 119 | - "--exclude=/sequence_search/consumer/queries/*.fasta"
|
64 | 120 | - "--exclude=/sequence_search/consumer/results/*.fasta"
|
| 121 | + - "--exclude=/sequence_search/consumer/infernal-queries" |
| 122 | + - "--exclude=/sequence_search/consumer/infernal-results" |
| 123 | + - "--exclude=/sequence_search/consumer/cmsearch_tblout_deoverlap" |
| 124 | + - "--exclude=/sequence_search/consumer/rfam" |
65 | 125 | - "--exclude=/sequence_search/producer/static/node_modules"
|
66 | 126 | tags: [ rsync, quick ]
|
67 | 127 |
|
68 | 128 |
|
69 |
| - |
70 | 129 | - name: Delete logs directory
|
71 | 130 | file:
|
72 | 131 | path: /var/log/gunicorn
|
|
84 | 143 | tags: [ logs ]
|
85 | 144 |
|
86 | 145 |
|
87 |
| - |
88 | 146 | - name: Delete queries directory
|
89 | 147 | file:
|
90 | 148 | path: /srv/sequence_search/consumer/queries
|
|
101 | 159 | tags: [ queries, quick ]
|
102 | 160 |
|
103 | 161 |
|
104 |
| - |
105 | 162 | - name: Delete results directory
|
106 | 163 | file:
|
107 | 164 | path: /srv/sequence_search/consumer/results
|
|
118 | 175 | tags: [ results, quick ]
|
119 | 176 |
|
120 | 177 |
|
121 |
| -# Ansible chown is slow, cause it checks ownership before assigning it - so just run chown imperatively |
122 |
| -# https://groups.google.com/forum/#!topic/ansible-project/2O5u8GIZ5Rw |
| 178 | + - name: Delete infernal queries directory |
| 179 | + file: |
| 180 | + path: /srv/sequence_search/consumer/infernal-queries |
| 181 | + state: absent |
| 182 | + tags: [ infernal-queries, quick ] |
| 183 | + |
| 184 | + - name: Create infernal queries directory |
| 185 | + file: |
| 186 | + path: /srv/sequence_search/consumer/infernal-queries |
| 187 | + state: directory |
| 188 | + owner: centos |
| 189 | + group: centos |
| 190 | + mode: 0755 |
| 191 | + tags: [ infernal-queries, quick ] |
| 192 | + |
| 193 | + |
| 194 | + - name: Delete infernal results directory |
| 195 | + file: |
| 196 | + path: /srv/sequence_search/consumer/infernal-results |
| 197 | + state: absent |
| 198 | + tags: [ infernal-results, quick ] |
| 199 | + |
| 200 | + - name: Create infernal results directory |
| 201 | + file: |
| 202 | + path: /srv/sequence_search/consumer/infernal-results |
| 203 | + state: directory |
| 204 | + owner: centos |
| 205 | + group: centos |
| 206 | + mode: 0755 |
| 207 | + tags: [ infernal-results, quick ] |
123 | 208 |
|
124 |
| -# Alternatively: |
125 |
| -# file: |
126 |
| -# path: /srv/sequence_search |
127 |
| -# owner: centos |
128 |
| -# group: centos |
129 |
| -# mode: 0755 |
130 |
| -# recurse: yes |
131 | 209 |
|
132 | 210 | - name: Chown aiohttp code
|
133 | 211 | command: "chown -R centos:centos /srv/sequence_search"
|
|
140 | 218 |
|
141 | 219 |
|
142 | 220 | - name: Install pip3 requirements
|
143 |
| - shell: /usr/local/bin/pip install -r requirements.txt |
| 221 | + shell: /usr/local/bin/pip3.7 install -r requirements.txt |
144 | 222 | args:
|
145 | 223 | chdir: /srv/sequence_search
|
| 224 | + tags: [ pip-requirements ] |
146 | 225 |
|
147 | 226 |
|
148 | 227 | - name: Create a symbolic link to sequence databases
|
|
189 | 268 | shell:
|
190 | 269 | chdir: /srv
|
191 | 270 | # cmd: /usr/local/bin/gunicorn consumer.main:app --daemon --bind 0.0.0.0:8000 --worker-class aiohttp.worker.GunicornWebWorker --access-logfile /var/log/gunicorn/access_log --error-logfile /var/log/gunicorn/error_log --env ENVIRONMENT=PRODUCTION --log-level=DEBUG
|
192 |
| - cmd: ENVIRONMENT=PRODUCTION nohup python3 -m sequence_search.consumer &> /var/log/gunicorn/access_log & |
| 271 | + cmd: ENVIRONMENT=PRODUCTION nohup /usr/local/bin/python3.7 -m sequence_search.consumer &> /var/log/gunicorn/access_log & |
193 | 272 | tags: [ restart, quick ]
|
0 commit comments