Mercurial > repos > blankenberglab > data_manager_refgenie_pull
annotate data_manager/data_manager_refgenie_pull.py @ 2:2cb1863cd236 draft
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 2b81f6b9cadf15796ef7f1f6a0d12f05d3f405d7"
author | blankenberglab |
---|---|
date | Fri, 01 Oct 2021 14:40:21 +0000 |
parents | aec9bc48cdb7 |
children | b2fa406276e7 |
rev | line source |
---|---|
0
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
1 #!/usr/bin/env python |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
2 |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
3 |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
4 import argparse |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
5 import logging |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
6 from base64 import urlsafe_b64encode |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
7 from urllib.parse import urljoin |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
8 |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
9 import refgenconf |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
10 import requests |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
11 |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
12 |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
13 log = logging.getLogger("tools.iuc.data_managers.data_manager_refgenie_pull") |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
14 |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
15 |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
16 def galaxy_code_get_refgenie_assets(refgenie_config_file): |
2
2cb1863cd236
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 2b81f6b9cadf15796ef7f1f6a0d12f05d3f405d7"
blankenberglab
parents:
0
diff
changeset
|
17 try: |
2cb1863cd236
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 2b81f6b9cadf15796ef7f1f6a0d12f05d3f405d7"
blankenberglab
parents:
0
diff
changeset
|
18 rgc = refgenconf.RefGenConf(refgenie_config_file, writable=False, skip_read_lock=True) |
2cb1863cd236
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 2b81f6b9cadf15796ef7f1f6a0d12f05d3f405d7"
blankenberglab
parents:
0
diff
changeset
|
19 except refgenconf.exceptions.RefgenconfError as e: |
2cb1863cd236
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 2b81f6b9cadf15796ef7f1f6a0d12f05d3f405d7"
blankenberglab
parents:
0
diff
changeset
|
20 return[{'name': str(e), 'value': 'ERROR', 'options': [], 'selected': False}] |
0
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
21 rval = [] |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
22 for urlname, genomes in rgc.listr().items(): |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
23 urlname_64 = urlsafe_b64encode(bytes(urlname, 'utf8')).decode('utf8') |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
24 ul = [] |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
25 for genome, assets in genomes.items(): |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
26 al = [] |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
27 for name in assets: |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
28 al.append({'name': name, 'value': '%s/%s/%s' % (urlname_64, genome, name), 'options': [], 'selected': False}) |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
29 ul.append({'name': genome, 'value': genome, 'options': al, 'selected': False}) |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
30 rval.append({'name': urlname, 'value': urlname_64, 'options': ul, 'selected': False}) |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
31 return rval |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
32 |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
33 |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
34 if __name__ == '__main__': |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
35 parser = argparse.ArgumentParser() |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
36 parser.add_argument('-n', '--names', dest='names', action='store', default=None, help='Table names to reload') |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
37 parser.add_argument('-u', '--url', dest='url', action='store', default=None, help='Base url for reload') |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
38 parser.add_argument('-k', '--key', dest='key', action='store', default=None, help='Galaxy API Key') |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
39 |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
40 args = parser.parse_args() |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
41 if not args.names: |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
42 tables = requests.get(urljoin(args.url, "api/tool_data"), params={'key': args.key}).json() |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
43 args.names = [d.get('name') for d in tables] |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
44 for name in args.names: |
aec9bc48cdb7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit da4cbfcb158b1cf283c5736434fa88b645783306"
blankenberglab
parents:
diff
changeset
|
45 print(requests.get(urljoin(args.url, "api/tool_data/%s/reload" % (name)), params={'key': args.key}).json()) |