Mercurial > repos > blankenberglab > data_manager_refgenie_pull
annotate data_manager/data_manager_refgenie_pull.py @ 3:b2fa406276e7 draft default tip
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
| author | blankenberglab | 
|---|---|
| date | Fri, 01 Apr 2022 16:14:13 +0000 | 
| parents | 2cb1863cd236 | 
| children | 
| 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 | 
| 
3
 
b2fa406276e7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
 
blankenberglab 
parents: 
2 
diff
changeset
 | 
7 from html import escape | 
| 
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
 | 
8 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
 | 
9 | 
| 
 
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 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
 | 
11 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
 | 
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 | 
| 
 
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 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
 | 
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 | 
| 
 
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
 | 
17 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
 | 
18 try: | 
| 
3
 
b2fa406276e7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
 
blankenberglab 
parents: 
2 
diff
changeset
 | 
19 rval = [] | 
| 
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
 | 
20 rgc = refgenconf.RefGenConf(refgenie_config_file, writable=False, skip_read_lock=True) | 
| 
3
 
b2fa406276e7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
 
blankenberglab 
parents: 
2 
diff
changeset
 | 
21 for urlname, genomes in rgc.listr().items(): | 
| 
 
b2fa406276e7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
 
blankenberglab 
parents: 
2 
diff
changeset
 | 
22 urlname_64 = urlsafe_b64encode(bytes(urlname, 'utf8')).decode('utf8') | 
| 
 
b2fa406276e7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
 
blankenberglab 
parents: 
2 
diff
changeset
 | 
23 ul = [] | 
| 
 
b2fa406276e7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
 
blankenberglab 
parents: 
2 
diff
changeset
 | 
24 for genome, assets in genomes.items(): | 
| 
 
b2fa406276e7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
 
blankenberglab 
parents: 
2 
diff
changeset
 | 
25 al = [] | 
| 
 
b2fa406276e7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
 
blankenberglab 
parents: 
2 
diff
changeset
 | 
26 for name in assets: | 
| 
 
b2fa406276e7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
 
blankenberglab 
parents: 
2 
diff
changeset
 | 
27 al.append({'name': name, 'value': '%s/%s/%s' % (urlname_64, genome, name), 'options': [], 'selected': False}) | 
| 
 
b2fa406276e7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
 
blankenberglab 
parents: 
2 
diff
changeset
 | 
28 ul.append({'name': genome, 'value': genome, 'options': al, 'selected': False}) | 
| 
 
b2fa406276e7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
 
blankenberglab 
parents: 
2 
diff
changeset
 | 
29 rval.append({'name': urlname, 'value': urlname_64, 'options': ul, 'selected': False}) | 
| 
 
b2fa406276e7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
 
blankenberglab 
parents: 
2 
diff
changeset
 | 
30 return rval | 
| 
 
b2fa406276e7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
 
blankenberglab 
parents: 
2 
diff
changeset
 | 
31 except Exception as e: | 
| 
 
b2fa406276e7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
 
blankenberglab 
parents: 
2 
diff
changeset
 | 
32 log.debug("Failed to access refgenie server: %s", e) | 
| 
 
b2fa406276e7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
 
blankenberglab 
parents: 
2 
diff
changeset
 | 
33 return[{'name': escape(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
 | 
34 | 
| 
 
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 | 
| 
 
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 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
 | 
37 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
 | 
38 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
 | 
39 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
 | 
40 parser.add_argument('-k', '--key', dest='key', action='store', default=None, help='Galaxy API Key') | 
| 
3
 
b2fa406276e7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
 
blankenberglab 
parents: 
2 
diff
changeset
 | 
41 parser.add_argument('-g', '--graceful', dest='graceful', action='store_true', help='Fail gracefully') | 
| 
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
 | 
42 | 
| 
 
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 = parser.parse_args() | 
| 
3
 
b2fa406276e7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
 
blankenberglab 
parents: 
2 
diff
changeset
 | 
44 try: | 
| 
 
b2fa406276e7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
 
blankenberglab 
parents: 
2 
diff
changeset
 | 
45 if not args.names: | 
| 
 
b2fa406276e7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
 
blankenberglab 
parents: 
2 
diff
changeset
 | 
46 tables = requests.get(urljoin(args.url, "api/tool_data"), params={'key': args.key}).json() | 
| 
 
b2fa406276e7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
 
blankenberglab 
parents: 
2 
diff
changeset
 | 
47 args.names = [d.get('name') for d in tables] | 
| 
 
b2fa406276e7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
 
blankenberglab 
parents: 
2 
diff
changeset
 | 
48 for name in args.names: | 
| 
 
b2fa406276e7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
 
blankenberglab 
parents: 
2 
diff
changeset
 | 
49 print(requests.get(urljoin(args.url, "api/tool_data/%s/reload" % (name)), params={'key': args.key}).json()) | 
| 
 
b2fa406276e7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
 
blankenberglab 
parents: 
2 
diff
changeset
 | 
50 except Exception as e: | 
| 
 
b2fa406276e7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
 
blankenberglab 
parents: 
2 
diff
changeset
 | 
51 if args.graceful: | 
| 
 
b2fa406276e7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
 
blankenberglab 
parents: 
2 
diff
changeset
 | 
52 print("Failed to reload data tables:\n%s" % (e)) | 
| 
 
b2fa406276e7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
 
blankenberglab 
parents: 
2 
diff
changeset
 | 
53 else: | 
| 
 
b2fa406276e7
"planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
 
blankenberglab 
parents: 
2 
diff
changeset
 | 
54 raise e | 
