annotate data_manager/data_manager_refgenie_pull.py @ 5:0445344b7c3f 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:02:32 +0000
parents c60d0cbdc01a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
659bfadcd8c6 "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit 8d3537d4a138f34f831a629d6be37e3ee6581bc2"
blankenberglab
parents:
diff changeset
1 #!/usr/bin/env python
659bfadcd8c6 "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit 8d3537d4a138f34f831a629d6be37e3ee6581bc2"
blankenberglab
parents:
diff changeset
2
659bfadcd8c6 "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit 8d3537d4a138f34f831a629d6be37e3ee6581bc2"
blankenberglab
parents:
diff changeset
3
659bfadcd8c6 "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit 8d3537d4a138f34f831a629d6be37e3ee6581bc2"
blankenberglab
parents:
diff changeset
4 import argparse
659bfadcd8c6 "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit 8d3537d4a138f34f831a629d6be37e3ee6581bc2"
blankenberglab
parents:
diff changeset
5 import logging
659bfadcd8c6 "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit 8d3537d4a138f34f831a629d6be37e3ee6581bc2"
blankenberglab
parents:
diff changeset
6 from base64 import urlsafe_b64encode
5
0445344b7c3f "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
blankenberglab
parents: 4
diff changeset
7 from html import escape
0
659bfadcd8c6 "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit 8d3537d4a138f34f831a629d6be37e3ee6581bc2"
blankenberglab
parents:
diff changeset
8 from urllib.parse import urljoin
659bfadcd8c6 "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit 8d3537d4a138f34f831a629d6be37e3ee6581bc2"
blankenberglab
parents:
diff changeset
9
659bfadcd8c6 "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit 8d3537d4a138f34f831a629d6be37e3ee6581bc2"
blankenberglab
parents:
diff changeset
10 import refgenconf
659bfadcd8c6 "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit 8d3537d4a138f34f831a629d6be37e3ee6581bc2"
blankenberglab
parents:
diff changeset
11 import requests
659bfadcd8c6 "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit 8d3537d4a138f34f831a629d6be37e3ee6581bc2"
blankenberglab
parents:
diff changeset
12
659bfadcd8c6 "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit 8d3537d4a138f34f831a629d6be37e3ee6581bc2"
blankenberglab
parents:
diff changeset
13
659bfadcd8c6 "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit 8d3537d4a138f34f831a629d6be37e3ee6581bc2"
blankenberglab
parents:
diff changeset
14 log = logging.getLogger("tools.iuc.data_managers.data_manager_refgenie_pull")
659bfadcd8c6 "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit 8d3537d4a138f34f831a629d6be37e3ee6581bc2"
blankenberglab
parents:
diff changeset
15
659bfadcd8c6 "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit 8d3537d4a138f34f831a629d6be37e3ee6581bc2"
blankenberglab
parents:
diff changeset
16
659bfadcd8c6 "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit 8d3537d4a138f34f831a629d6be37e3ee6581bc2"
blankenberglab
parents:
diff changeset
17 def galaxy_code_get_refgenie_assets(refgenie_config_file):
4
c60d0cbdc01a "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:
5
0445344b7c3f "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
blankenberglab
parents: 4
diff changeset
19 rval = []
4
c60d0cbdc01a "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)
5
0445344b7c3f "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
blankenberglab
parents: 4
diff changeset
21 for urlname, genomes in rgc.listr().items():
0445344b7c3f "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
blankenberglab
parents: 4
diff changeset
22 urlname_64 = urlsafe_b64encode(bytes(urlname, 'utf8')).decode('utf8')
0445344b7c3f "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
blankenberglab
parents: 4
diff changeset
23 ul = []
0445344b7c3f "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
blankenberglab
parents: 4
diff changeset
24 for genome, assets in genomes.items():
0445344b7c3f "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
blankenberglab
parents: 4
diff changeset
25 al = []
0445344b7c3f "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
blankenberglab
parents: 4
diff changeset
26 for name in assets:
0445344b7c3f "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
blankenberglab
parents: 4
diff changeset
27 al.append({'name': name, 'value': '%s/%s/%s' % (urlname_64, genome, name), 'options': [], 'selected': False})
0445344b7c3f "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
blankenberglab
parents: 4
diff changeset
28 ul.append({'name': genome, 'value': genome, 'options': al, 'selected': False})
0445344b7c3f "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
blankenberglab
parents: 4
diff changeset
29 rval.append({'name': urlname, 'value': urlname_64, 'options': ul, 'selected': False})
0445344b7c3f "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
blankenberglab
parents: 4
diff changeset
30 return rval
0445344b7c3f "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
blankenberglab
parents: 4
diff changeset
31 except Exception as e:
0445344b7c3f "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
blankenberglab
parents: 4
diff changeset
32 log.debug("Failed to access refgenie server: %s", e)
0445344b7c3f "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
blankenberglab
parents: 4
diff changeset
33 return[{'name': escape(str(e)), 'value': 'ERROR', 'options': [], 'selected': False}]
0
659bfadcd8c6 "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit 8d3537d4a138f34f831a629d6be37e3ee6581bc2"
blankenberglab
parents:
diff changeset
34
659bfadcd8c6 "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit 8d3537d4a138f34f831a629d6be37e3ee6581bc2"
blankenberglab
parents:
diff changeset
35
659bfadcd8c6 "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit 8d3537d4a138f34f831a629d6be37e3ee6581bc2"
blankenberglab
parents:
diff changeset
36 if __name__ == '__main__':
659bfadcd8c6 "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit 8d3537d4a138f34f831a629d6be37e3ee6581bc2"
blankenberglab
parents:
diff changeset
37 parser = argparse.ArgumentParser()
659bfadcd8c6 "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit 8d3537d4a138f34f831a629d6be37e3ee6581bc2"
blankenberglab
parents:
diff changeset
38 parser.add_argument('-n', '--names', dest='names', action='store', default=None, help='Table names to reload')
659bfadcd8c6 "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit 8d3537d4a138f34f831a629d6be37e3ee6581bc2"
blankenberglab
parents:
diff changeset
39 parser.add_argument('-u', '--url', dest='url', action='store', default=None, help='Base url for reload')
659bfadcd8c6 "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit 8d3537d4a138f34f831a629d6be37e3ee6581bc2"
blankenberglab
parents:
diff changeset
40 parser.add_argument('-k', '--key', dest='key', action='store', default=None, help='Galaxy API Key')
5
0445344b7c3f "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
blankenberglab
parents: 4
diff changeset
41 parser.add_argument('-g', '--graceful', dest='graceful', action='store_true', help='Fail gracefully')
0
659bfadcd8c6 "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit 8d3537d4a138f34f831a629d6be37e3ee6581bc2"
blankenberglab
parents:
diff changeset
42
659bfadcd8c6 "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/master/data_managers/data_manager_refgenie_pull commit 8d3537d4a138f34f831a629d6be37e3ee6581bc2"
blankenberglab
parents:
diff changeset
43 args = parser.parse_args()
5
0445344b7c3f "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
blankenberglab
parents: 4
diff changeset
44 try:
0445344b7c3f "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
blankenberglab
parents: 4
diff changeset
45 if not args.names:
0445344b7c3f "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
blankenberglab
parents: 4
diff changeset
46 tables = requests.get(urljoin(args.url, "api/tool_data"), params={'key': args.key}).json()
0445344b7c3f "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
blankenberglab
parents: 4
diff changeset
47 args.names = [d.get('name') for d in tables]
0445344b7c3f "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
blankenberglab
parents: 4
diff changeset
48 for name in args.names:
0445344b7c3f "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
blankenberglab
parents: 4
diff changeset
49 print(requests.get(urljoin(args.url, "api/tool_data/%s/reload" % (name)), params={'key': args.key}).json())
0445344b7c3f "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
blankenberglab
parents: 4
diff changeset
50 except Exception as e:
0445344b7c3f "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
blankenberglab
parents: 4
diff changeset
51 if args.graceful:
0445344b7c3f "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
blankenberglab
parents: 4
diff changeset
52 print("Failed to reload data tables:\n%s" % (e))
0445344b7c3f "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
blankenberglab
parents: 4
diff changeset
53 else:
0445344b7c3f "planemo upload for repository https://github.com/blankenberglab/galaxy-tools-blankenberg/tree/main/data_managers/data_manager_refgenie_pull commit 793d970b919fcfd5f21a2d6e03e825b05dd56b69"
blankenberglab
parents: 4
diff changeset
54 raise e