Mercurial > repos > pimarin > data_manager_amrfinderplus
annotate data_manager/amrfinderplus_data_manager.py @ 2:f1ec3a39ffec draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
author | pimarin |
---|---|
date | Mon, 14 Nov 2022 14:22:02 +0000 |
parents | |
children |
rev | line source |
---|---|
2
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
1 import argparse |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
2 import json |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
3 import os |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
4 import re |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
5 import subprocess as sp |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
6 |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
7 from datetime import datetime |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
8 from pathlib import Path |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
9 |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
10 |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
11 class GetDataManager: |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
12 |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
13 def __init__(self): |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
14 self.data_table_name = "amrfinderplus_database" |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
15 self._db_name = "amrfinderplus-db" |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
16 self._db_path = Path().absolute() |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
17 self._today = datetime.now().strftime("%Y-%m-%d_%H:%M") |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
18 |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
19 def get_data_table_format(self): |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
20 """ |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
21 Skeleton of a data_table format |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
22 return: a data table formatted for json output |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
23 """ |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
24 self.data_table_entry = { |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
25 "data_tables": { |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
26 self.data_table_name: {} |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
27 } |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
28 } |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
29 return self.data_table_entry |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
30 |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
31 def get_data_manager(self, amrfinderplus_version): |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
32 self.amrfinderplus_table_list = self.get_data_table_format() |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
33 |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
34 data_info = dict(value=self._today, |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
35 name=amrfinderplus_version, |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
36 path=self._db_name) |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
37 self.amrfinderplus_table_list["data_tables"][self.data_table_name] = [data_info] |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
38 return self.amrfinderplus_table_list |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
39 |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
40 def update_amrfinderplus_db(self): |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
41 amrfinderplus_db_path = Path(self._db_path).joinpath(self._db_name) |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
42 cmd = [ |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
43 'amrfinder_update', |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
44 '--database', str(amrfinderplus_db_path), |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
45 '--force_update' |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
46 ] |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
47 print(cmd) |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
48 proc = sp.run( |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
49 cmd, |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
50 stdout=sp.PIPE, |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
51 stderr=sp.PIPE, |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
52 universal_newlines=True |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
53 ) |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
54 if (proc.returncode != 0): |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
55 print( |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
56 f"ERROR: AMRFinderPlus failed! command: 'amrfinder_update --force_update --database {amrfinderplus_db_path}', error code: {proc.returncode}") |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
57 else: |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
58 return amrfinderplus_db_path |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
59 |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
60 def get_amrfinderplus_version(self, amrfinderplus_path): |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
61 version_file = Path(f'{amrfinderplus_path}/latest/version.txt') |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
62 with open(version_file, "r") as version: |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
63 version_value = version.read() |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
64 version_value = re.sub("\n", "", version_value) |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
65 return version_value |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
66 |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
67 def parse_arguments(self): |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
68 # parse options and arguments |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
69 arg_parser = argparse.ArgumentParser() |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
70 arg_parser.add_argument("data_manager_json") |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
71 arg_parser.add_argument("-t", "--test", action='store_true', |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
72 help="option to test the script with an lighted database") |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
73 return arg_parser.parse_args() |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
74 |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
75 def read_json_input_file(self, json_file_path): |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
76 with open(json_file_path) as fh: |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
77 params = json.load(fh) |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
78 target_dir = params['output_data'][0]['extra_files_path'] |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
79 os.makedirs(target_dir) |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
80 return Path(target_dir) |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
81 |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
82 def write_json_infos(self, json_file_path, data_manager_infos): |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
83 with open(json_file_path, 'w') as fh: |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
84 json.dump(data_manager_infos, fh, sort_keys=True) |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
85 |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
86 |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
87 def main(): |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
88 # init the class |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
89 amrfinderplus_download = GetDataManager() |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
90 # import the arguments |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
91 all_args = amrfinderplus_download.parse_arguments() |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
92 # read the json input from galaxy to define the db path |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
93 path_to_download = amrfinderplus_download.read_json_input_file(json_file_path=all_args.data_manager_json) |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
94 # change the path to th json information |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
95 amrfinderplus_download._db_path = path_to_download |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
96 # download the last amrfinderplus database |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
97 amrfinder_output = amrfinderplus_download.update_amrfinderplus_db() |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
98 # extract the version number of the database |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
99 amrfinder_version = amrfinderplus_download.get_amrfinderplus_version(amrfinder_output) |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
100 # make a dic with database information |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
101 amrfinderplus_json_output = amrfinderplus_download.get_data_manager(amrfinder_version) |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
102 amrfinderplus_download.write_json_infos(json_file_path=all_args.data_manager_json, |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
103 data_manager_infos=amrfinderplus_json_output) |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
104 |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
105 |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
106 if __name__ == '__main__': |
f1ec3a39ffec
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_amrfinderplus commit 25a0413337c540dc9f26bc7ee097d493f0d148ca-dirty
pimarin
parents:
diff
changeset
|
107 main() |