Mercurial > repos > iuc > data_manager_fetch_plasmidfinder
annotate data_manager/plasmidfinder_fetch_database.py @ 2:8a3955d56000 draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 509c2b92ecc3845f761fd7b6b6ba07ca50aa76b0
author | iuc |
---|---|
date | Thu, 06 Jun 2024 07:21:29 +0000 |
parents | 3542cd220bc3 |
children |
rev | line source |
---|---|
0
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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: |
b56071bdecad
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 """ |
b56071bdecad
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 |
b56071bdecad
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 """ |
b56071bdecad
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 |
b56071bdecad
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, |
b56071bdecad
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
3542cd220bc3
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
b56071bdecad
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"): |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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): |
b56071bdecad
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 """ |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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 """ |
b56071bdecad
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 = { |
b56071bdecad
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": { |
b56071bdecad
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: {} |
b56071bdecad
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 } |
b56071bdecad
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 } |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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): |
b56071bdecad
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 """ |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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 """ |
b56071bdecad
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() |
b56071bdecad
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": |
b56071bdecad
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 |
b56071bdecad
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: |
b56071bdecad
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 |
b56071bdecad
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}" \ |
b56071bdecad
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}" |
b56071bdecad
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}" \ |
b56071bdecad
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}" |
b56071bdecad
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, |
b56071bdecad
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, |
b56071bdecad
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, |
b56071bdecad
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) |
b56071bdecad
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] |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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): |
b56071bdecad
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 """ |
b56071bdecad
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. |
b56071bdecad
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 |
b56071bdecad
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 """ |
b56071bdecad
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 |
b56071bdecad
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, |
b56071bdecad
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(), |
b56071bdecad
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
3542cd220bc3
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
b56071bdecad
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", |
b56071bdecad
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", |
b56071bdecad
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, |
b56071bdecad
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): |
b56071bdecad
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 |
b56071bdecad
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__() |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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' |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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
3542cd220bc3
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}' |
3542cd220bc3
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) |
3542cd220bc3
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
b56071bdecad
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 |
b56071bdecad
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): |
b56071bdecad
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 |
b56071bdecad
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) |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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): |
b56071bdecad
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)) |
b56071bdecad
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 |
b56071bdecad
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): |
b56071bdecad
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 """ |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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 """ |
b56071bdecad
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) |
b56071bdecad
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() |
b56071bdecad
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": |
b56071bdecad
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) |
b56071bdecad
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() |
b56071bdecad
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() |
b56071bdecad
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 |
b56071bdecad
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): |
b56071bdecad
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 """ |
b56071bdecad
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 |
b56071bdecad
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 """ |
b56071bdecad
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: |
b56071bdecad
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) |
b56071bdecad
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'] |
b56071bdecad
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) |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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): |
b56071bdecad
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 """ |
b56071bdecad
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 |
b56071bdecad
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 """ |
b56071bdecad
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: |
b56071bdecad
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) |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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(): |
b56071bdecad
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 """ |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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 """ |
b56071bdecad
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 |
b56071bdecad
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() |
b56071bdecad
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", |
b56071bdecad
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") |
b56071bdecad
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", |
b56071bdecad
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)") |
b56071bdecad
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() |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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(): |
b56071bdecad
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() |
b56071bdecad
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) |
b56071bdecad
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() |
b56071bdecad
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() |
b56071bdecad
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() |
b56071bdecad
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 |
b56071bdecad
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 |
b56071bdecad
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__': |
b56071bdecad
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() |