annotate data_manager/plasmidfinder_fetch_database.py @ 1:bcd29b6662c2 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 1fa130238d58da20df9eee4e960dd794224400a5
author iuc
date Fri, 25 Aug 2023 23:33:53 +0000
parents cc7bbfc5fd16
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
1 import argparse
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
2 import json
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
3 import os
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
4 import time
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
5 from pathlib import Path
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
6
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
7
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
8 import git
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
9
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
10
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
11 class GetPlasmidfinderDataManager:
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
12 """
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
13 Create the json file with database information for galaxy data manager
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
14 """
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
15
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
16 def __init__(self,
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
17 plasmidfinder_database="plasmidfinder_database",
1
bcd29b6662c2 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 1fa130238d58da20df9eee4e960dd794224400a5
iuc
parents: 0
diff changeset
18 db_name="plasmidfinder-db",
0
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
19 plasmidfinder_version="latest"):
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
20 self.data_table_name = plasmidfinder_database
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
21 self._db_name = db_name
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
22 self._plasmidfinder_version = plasmidfinder_version
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
23 self._plasmidfinder_date_version = None
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
24 self.data_table_entry = None
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
25 self.plasmidfinder_table_list = None
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
26 self._commit_number = None
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
27
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
28 def get_data_table_format(self):
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
29 """
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
30 Skeleton of a data_table format
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
31 return: a data table formatted for json output
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
32 """
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
33 self.data_table_entry = {
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
34 "data_tables": {
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
35 self.data_table_name: {}
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
36 }
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
37 }
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
38 return self.data_table_entry
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
39
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
40 def get_data_manager(self):
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
41 """
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
42 Create the empty data table format and add all the information into
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
43 Commit number is added if latest is required instead of version number
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
44 return: The data table with database information
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
45 """
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
46 self.plasmidfinder_table_list = self.get_data_table_format()
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
47 if self._plasmidfinder_version == "latest":
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
48 version_value = self._commit_number
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
49 else:
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
50 version_value = self._plasmidfinder_version
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
51 plasmidfinder_value = f"plasmidfinder_{self._commit_number}" \
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
52 f"_{self._plasmidfinder_date_version}"
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
53 plasmidfinder_name = f"{version_value}" \
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
54 f"_{self._plasmidfinder_date_version}"
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
55 data_info = dict(value=plasmidfinder_value,
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
56 name=plasmidfinder_name,
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
57 date=self._plasmidfinder_date_version,
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
58 path=self._db_name)
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
59 self.plasmidfinder_table_list["data_tables"][self.data_table_name] = [data_info]
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
60 return self.plasmidfinder_table_list
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
61
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
62
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
63 class DownloadPlasmidfinderDatabase(GetPlasmidfinderDataManager):
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
64 """
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
65 Download the plasmidfinder database from the bitbucket repository.
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
66 Build the data manager info for galaxy
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
67 """
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
68
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
69 def __init__(self,
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
70 output_dir=Path.cwd(),
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
71 plasmidfinder_url="https://bitbucket.org/genomicepidemiology/plasmidfinder_db/src/master",
1
bcd29b6662c2 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 1fa130238d58da20df9eee4e960dd794224400a5
iuc
parents: 0
diff changeset
72 db_name="plasmidfinder-db",
0
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
73 db_tmp="tmp_database",
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
74 plasmidfinder_version="latest",
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
75 json_file_path=None,
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
76 date_version=None):
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
77
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
78 super().__init__()
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
79 self.json_file_path = json_file_path
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
80 self._output_dir = output_dir
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
81 self._plasmidfinder_url = plasmidfinder_url
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
82 self._temporary_folder = db_tmp
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
83 self._db_name = db_name
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
84 self._db_name_tar = f'{db_name}.gz'
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
85 self._plasmidfinder_version = plasmidfinder_version
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
86 self._plasmidfinder_date_version = date_version
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
87 self._commit_number = None
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
88
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
89 def git_clone(self):
1
bcd29b6662c2 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 1fa130238d58da20df9eee4e960dd794224400a5
iuc
parents: 0
diff changeset
90 self.plasmidfinder_db_path = f'{self._output_dir}/{self._db_name}'
bcd29b6662c2 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 1fa130238d58da20df9eee4e960dd794224400a5
iuc
parents: 0
diff changeset
91 git.Repo.clone_from(url=self._plasmidfinder_url, to_path=self.plasmidfinder_db_path)
bcd29b6662c2 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 1fa130238d58da20df9eee4e960dd794224400a5
iuc
parents: 0
diff changeset
92 self._plasmidfinder_repository = git.Repo(path=self.plasmidfinder_db_path)
0
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
93
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
94 def get_commit_number(self):
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
95 sha = self._plasmidfinder_repository.head.commit.hexsha
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
96 short_sha = self._plasmidfinder_repository.git.rev_parse(sha, short=7)
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
97 self._commit_number = short_sha
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
98
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
99 def get_commit_date(self):
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
100 self._plasmidfinder_date_version = time.strftime("%Y_%m_%d", time.gmtime(self._plasmidfinder_repository.head.commit.committed_date))
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
101
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
102 def download_database(self):
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
103 """
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
104 Download the plasmidfinder database using git lib
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
105 Extract commit and commit date
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
106 """
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
107 self._output_dir = Path(self._output_dir)
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
108 self.git_clone()
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
109 if self._plasmidfinder_version != "latest":
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
110 self._plasmidfinder_repository.git.checkout(self._plasmidfinder_version)
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
111 self.get_commit_number()
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
112 self.get_commit_date()
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
113
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
114 def read_json_input_file(self):
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
115 """
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
116 Import the json file
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
117 """
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
118 with open(self.json_file_path) as fh:
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
119 params = json.load(fh)
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
120 target_dir = params['output_data'][0]['extra_files_path']
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
121 os.makedirs(target_dir)
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
122 self._output_dir = target_dir
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
123
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
124 def write_json_infos(self):
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
125 """
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
126 Write in the imported json file
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
127 """
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
128 with open(self.json_file_path, 'w') as fh:
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
129 json.dump(self.get_data_manager(), fh, sort_keys=True)
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
130
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
131
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
132 def parse_arguments():
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
133 """
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
134 List of arguments provided by the user
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
135 return: parsed arguments
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
136 """
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
137 # parse options and arguments
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
138 arg_parser = argparse.ArgumentParser()
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
139 arg_parser.add_argument("data_manager_json",
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
140 help="json file from galaxy")
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
141 arg_parser.add_argument("-v", "--db_version",
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
142 help="version of the plasmidfinder (latest or 2.1)")
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
143 return arg_parser.parse_args()
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
144
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
145
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
146 def main():
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
147 all_args = parse_arguments()
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
148 plasmidfinder_download = DownloadPlasmidfinderDatabase(json_file_path=all_args.data_manager_json, plasmidfinder_version=all_args.db_version)
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
149 plasmidfinder_download.read_json_input_file()
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
150 plasmidfinder_download.download_database()
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
151 plasmidfinder_download.write_json_infos()
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
152
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
153
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
154 if __name__ == '__main__':
cc7bbfc5fd16 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f6d40bf94e015c2690e97c4b3533517b812f3bfb
iuc
parents:
diff changeset
155 main()