Mercurial > repos > matthias > data_manager_megan_tools
comparison data_manager/data_manager.py @ 1:f7ad11d31098 draft
planemo upload for repository https://github.com/bernt-matthias/mb-galaxy-tools/tree/master/data_managers/data_manager_megan_tools commit 0e93d2fb8e3c10949811b19ec3329bd1abbb73bf-dirty
author | matthias |
---|---|
date | Thu, 01 Nov 2018 14:40:23 -0400 |
parents | 1f839ba466da |
children | 24c02af5fd77 |
comparison
equal
deleted
inserted
replaced
0:1f839ba466da | 1:f7ad11d31098 |
---|---|
45 "gi2seed-May2015X.bin.zip":"gi2seed-", | 45 "gi2seed-May2015X.bin.zip":"gi2seed-", |
46 "gi2kegg-Aug2016X-ue.bin.zip":"gi2kegg" | 46 "gi2kegg-Aug2016X-ue.bin.zip":"gi2kegg" |
47 } | 47 } |
48 | 48 |
49 def url_download(fname, workdir): | 49 def url_download(fname, workdir): |
50 file_path = os.path.join(workdir, 'download.dat') | 50 """ |
51 download http://ab.inf.uni-tuebingen.de/data/software/megan6/download/FNAME | |
52 to workdir | |
53 and unzip zip file (not gz) | |
54 | |
55 return the name of the resulting file | |
56 ie gz-file of extracted file in zip-file | |
57 """ | |
58 file_path = os.path.join(workdir, fname) | |
51 if not os.path.exists(workdir): | 59 if not os.path.exists(workdir): |
52 os.makedirs(workdir) | 60 os.makedirs(workdir) |
53 src = None | 61 src = None |
54 dst = None | 62 dst = None |
55 try: | 63 try: |
66 if src: | 74 if src: |
67 src.close() | 75 src.close() |
68 if zipfile.is_zipfile(file_path): | 76 if zipfile.is_zipfile(file_path): |
69 fh = zipfile.ZipFile(file_path, 'r') | 77 fh = zipfile.ZipFile(file_path, 'r') |
70 else: | 78 else: |
71 return | 79 return fname |
72 fh.extractall(workdir) | 80 fh.extractall(workdir) |
73 os.remove(file_path) | 81 os.remove(file_path) |
74 | 82 unzipped = os.listdir(workdir) |
83 assert len(unzipped) == 1 | |
84 return unzipped[0] | |
75 | 85 |
76 def main(fname, outjson): | 86 def main(fname, outjson): |
77 workdir = os.path.join(os.getcwd(), 'megan_tools') | 87 workdir = os.path.join(os.getcwd(), 'megan_tools') |
78 url_download(fname, workdir) | 88 path = url_download(fname, workdir) |
79 | 89 |
80 data_manager_entry = {} | 90 data_manager_entry = {} |
81 data_manager_entry['value'] = fname.split(".")[0] | 91 data_manager_entry['value'] = fname.split(".")[0] |
82 data_manager_entry['name'] = FILE2NAME[fname] | 92 data_manager_entry['name'] = FILE2NAME[fname] |
83 data_manager_entry['type'] = FILE2TYPE[fname] | 93 data_manager_entry['type'] = FILE2TYPE[fname] |
84 data_manager_entry['path'] = '.' | 94 data_manager_entry['path'] = path |
85 | 95 |
86 data_manager_json = dict(data_tables=dict(megan_tools=data_manager_entry)) | 96 data_manager_json = dict(data_tables=dict(megan_tools=data_manager_entry)) |
87 | 97 |
88 params = json.loads(open(outjson).read()) | 98 params = json.loads(open(outjson).read()) |
89 target_directory = params['output_data'][0]['extra_files_path'] | 99 target_directory = params['output_data'][0]['extra_files_path'] |