# HG changeset patch # User pimarin # Date 1667576766 0 # Node ID 718080c30a76a26e48cf6ca64ec74e2433569a2a # Parent ac4d5e1d1421c913fd015c6c1ea6fe85635c73f0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit e7c35e529ae95a2c9f2ecd87a3716e6866feabfa diff -r ac4d5e1d1421 -r 718080c30a76 data_manager/bakta_build_database.py --- a/data_manager/bakta_build_database.py Wed Nov 02 16:21:11 2022 +0000 +++ b/data_manager/bakta_build_database.py Fri Nov 04 15:46:06 2022 +0000 @@ -2,13 +2,14 @@ import hashlib import json import os -import subprocess as sp import sys import tarfile from datetime import datetime from pathlib import Path import requests + + class GetBaktaDatabaseInfo: """ Extract bakta database information to make a json file for data_manager @@ -64,7 +65,6 @@ for db_dic in versions: db_date_list.append(datetime.strptime(db_dic["date"], '%Y-%m-%d').date()) - max(db_date_list) filtered_version = next(item for item in versions if max(db_date_list)) elif db_version == "test": @@ -96,17 +96,16 @@ def get_data_manager(self, bakta_database_info, output_path): self.bakta_table_list = self.get_data_table_format() - bakta_value = f"bakta_{bakta_database_info['major']}." \ - f"{bakta_database_info['minor']}" - data_info = dict(value=bakta_value, - dbkey=bakta_database_info['date'], - database_record=bakta_database_info['record'], - bakta_version=str( - f"{bakta_database_info['software-min']['major']}." - f"{bakta_database_info['software-min']['minor']}" - ), - path=output_path) - self.bakta_table_list["data_tables"][self.data_table_name] = data_info + bakta_value = f"V{bakta_database_info['major']}." \ + f"{bakta_database_info['minor']}_" \ + f"{bakta_database_info['date']}" + tool_version = str(f"{bakta_database_info['software-min']['major']}." + f"{bakta_database_info['software-min']['minor']}") + data_info = dict(value=bakta_database_info['record'], + dbkey=bakta_value, + bakta_version=tool_version, + path="db") + self.bakta_table_list["data_tables"][self.data_table_name] = [data_info] return self.bakta_table_list @@ -148,13 +147,13 @@ f' url={self.db_url}, path={self.tarball_name}') def untar(self): - db_path = Path(self.db_dir).joinpath(self.db_name) + db_path = Path(self.db_dir).as_posix() try: with self.tarball_path.open('rb') as fh_in, \ tarfile.open(fileobj=fh_in, mode='r:gz') as tar_file: - tar_file.extractall(path=str(db_path)) + tar_file.extractall(path=db_path) print(f'Untar the database in {db_path}') - return db_path.as_posix() + return db_path except OSError: sys.exit(f'ERROR: Could not extract {self.tarball_name} ' f'to {self.db_name}') @@ -175,6 +174,10 @@ f"calculated md5 = {md5.hexdigest()}" f" different from {self.md5} ") + +""" +This is the method to download the amrfinderplus database need by bakta. +Deprecated to use the amrfinderplus data_manager def update_amrfinderplus_db(self): amrfinderplus_db_path = f"{self.db_dir}/{self.db_name}/db/amrfinderplus-db" if self.db_version == "test": @@ -200,6 +203,7 @@ f" --database {amrfinderplus_db_path}'") else: print("AMRFinderPlus database download") +""" def parse_arguments(): @@ -221,11 +225,9 @@ all_args = parse_arguments() with open(all_args.data_manager_json) as fh: - data_manager_input = json.load(fh) - - target_dir = data_manager_input['output_data'][0]['extra_files_path'] + params = json.load(fh) + target_dir = params['output_data'][0]['extra_files_path'] os.makedirs(target_dir) - # init the class to download bakta db bakta_upload = InstallBaktaDatabase() # extract the version @@ -242,11 +244,9 @@ # check md5 sum bakta_upload.calc_md5_sum() # untar db - bakta_extracted_path = bakta_upload.untar() - # update for amrfinderplus - bakta_upload.update_amrfinderplus_db() + bakta_upload.untar() # make the data_manager metadata - bakta_data_manager = bakta_upload.get_data_manager(bakta_database_info=bakta_db, output_path=bakta_extracted_path) + bakta_data_manager = bakta_upload.get_data_manager(bakta_database_info=bakta_db, output_path=target_dir) with open(all_args.data_manager_json, 'w') as fh: json.dump(bakta_data_manager, fh, sort_keys=True) diff -r ac4d5e1d1421 -r 718080c30a76 data_manager/bakta_build_database.xml --- a/data_manager/bakta_build_database.xml Wed Nov 02 16:21:11 2022 +0000 +++ b/data_manager/bakta_build_database.xml Fri Nov 04 15:46:06 2022 +0000 @@ -33,7 +33,7 @@ - + 0 21.05 - + w python - requests + requests diff -r ac4d5e1d1421 -r 718080c30a76 data_manager_conf.xml --- a/data_manager_conf.xml Wed Nov 02 16:21:11 2022 +0000 +++ b/data_manager_conf.xml Fri Nov 04 15:46:06 2022 +0000 @@ -4,15 +4,14 @@ - ${path} - bakta_database/${dbkey}/${path} + bakta_database/${value} - ${GALAXY_DATA_MANAGER_DATA_PATH}/bakta_database/${dbkey}/${path} - abspath + ${GALAXY_DATA_MANAGER_DATA_PATH}/bakta_database/${value} + abspath diff -r ac4d5e1d1421 -r 718080c30a76 test-data/bakta_test.loc --- a/test-data/bakta_test.loc Wed Nov 02 16:21:11 2022 +0000 +++ b/test-data/bakta_test.loc Fri Nov 04 15:46:06 2022 +0000 @@ -1,7 +1,7 @@ # this is a tab separated file describing the location of bakta database # # the columns are: -# value, dbkey, database_record, bakta_version, path +# value, dbkey, bakta_version, path # # for example -bakta_0.0 date_test 7197299 0.0 ${__HERE__} +7197299 V0.0_date_test 0.0 ${__HERE__} diff -r ac4d5e1d1421 -r 718080c30a76 test-data/bakta_test_data_manager.json --- a/test-data/bakta_test_data_manager.json Wed Nov 02 16:21:11 2022 +0000 +++ b/test-data/bakta_test_data_manager.json Fri Nov 04 15:46:06 2022 +0000 @@ -1,1 +1,1 @@ -{"data_tables":{"bakta_database": [{"bakta_version": "0.0","database_record": "7197299","dbkey": "date_test","path": "/tmp/tmpu_ccwfs9/job_working_directory/000/1/working/dataset_fb48f154-bf1b-4974-8759-e4f0e230e917_files/bakta_test","value": "bakta_0.0"}]}} +{"data_tables": {"bakta_database": [{"bakta_version": "0.0", "dbkey": "V0.0_date_test", "path": "db", "value": "7197299"}]}} diff -r ac4d5e1d1421 -r 718080c30a76 tool-data/bakta_database.loc --- a/tool-data/bakta_database.loc Wed Nov 02 16:21:11 2022 +0000 +++ b/tool-data/bakta_database.loc Fri Nov 04 15:46:06 2022 +0000 @@ -1,7 +1,7 @@ # this is a tab separated file describing the location of bakta database # # the columns are: -# value, dbkey, database_record, bakta_version, path +# value, dbkey, bakta_version, path # # for example -#bakta_0.0 date_test 7197299 0.0 path/to/db +#7197299 V0.0_date_test 0.0 ${__HERE__} diff -r ac4d5e1d1421 -r 718080c30a76 tool_data_table_conf.xml.sample --- a/tool_data_table_conf.xml.sample Wed Nov 02 16:21:11 2022 +0000 +++ b/tool_data_table_conf.xml.sample Fri Nov 04 15:46:06 2022 +0000 @@ -1,7 +1,7 @@ - value, dbkey, database_record, bakta_version, path + value, dbkey, bakta_version, path
diff -r ac4d5e1d1421 -r 718080c30a76 tool_data_table_conf.xml.test --- a/tool_data_table_conf.xml.test Wed Nov 02 16:21:11 2022 +0000 +++ b/tool_data_table_conf.xml.test Fri Nov 04 15:46:06 2022 +0000 @@ -1,7 +1,7 @@ - value, dbkey, database_record, bakta_version, path + value, dbkey, bakta_version, path