Mercurial > repos > pimarin > data_manager_fetch_plasmidfinder
annotate data_manager/plasmidfinder_fetch_database.py @ 3:5ffc68b4ec04 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
author | pimarin |
---|---|
date | Fri, 17 Feb 2023 14:03:19 +0000 |
parents | bd56ac4cca16 |
children | e05fd47bcca6 |
rev | line source |
---|---|
0
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
1 import argparse |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
2 import json |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
3 import os |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
4 import tarfile |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
5 from datetime import datetime |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
6 from pathlib import Path |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
7 |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
8 import requests |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
9 |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
10 |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
11 class GetPlasmidfinderDataManager: |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
12 """ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
13 Create the json file with database information for galaxy data manager |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
14 """ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
15 |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
16 def __init__(self, |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
17 plasmidfinder_database="plasmidfinder_database", |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
18 db_name="plasmidfinder-db", |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
19 plasmidfinder_version="latest"): |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
20 self.data_table_name = plasmidfinder_database |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
21 self._db_name = db_name |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
22 self._plasmidfinder_version = plasmidfinder_version |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
23 self._plasmidfinder_date_version = None |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
24 self.data_table_entry = None |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
25 self.plasmidfinder_table_list = None |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
26 self._commit_number = None |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
27 |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
28 def get_data_table_format(self): |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
29 """ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
30 Skeleton of a data_table format |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
31 return: a data table formatted for json output |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
32 """ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
33 self.data_table_entry = { |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
34 "data_tables": { |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
35 self.data_table_name: {} |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
36 } |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
37 } |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
38 return self.data_table_entry |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
39 |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
40 def get_data_manager(self): |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
41 """ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
42 Create the empty data table format and add all the information into |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
43 Commit number is added if latest is required instead of version number |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
44 return: The data table with database information |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
45 """ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
46 self.plasmidfinder_table_list = self.get_data_table_format() |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
47 if self._plasmidfinder_version == "latest": |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
48 version_value = self._commit_number |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
49 else: |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
50 version_value = self._plasmidfinder_version |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
51 plasmidfinder_value = f"plasmidfinder_{self._commit_number}" \ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
52 f"_{self._plasmidfinder_date_version}" |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
53 plasmidfinder_name = f"{version_value}" \ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
54 f"_{self._plasmidfinder_date_version}" |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
55 data_info = dict(value=plasmidfinder_value, |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
56 name=plasmidfinder_name, |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
57 date=self._plasmidfinder_date_version, |
3
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
pimarin
parents:
2
diff
changeset
|
58 path=self._db_name) |
0
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
59 self.plasmidfinder_table_list["data_tables"][self.data_table_name] = [data_info] |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
60 return self.plasmidfinder_table_list |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
61 |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
62 |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
63 class DownloadPlasmidfinderDatabase(GetPlasmidfinderDataManager): |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
64 """ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
65 Download the plasmidfinder database from the bitbucket repository. |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
66 Build the data manager info for galaxy |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
67 """ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
68 |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
69 def __init__(self, |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
70 output_dir=Path.cwd(), |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
71 plasmidfinder_url="https://bitbucket.org/genomicepidemiology/plasmidfinder_db/get/", |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
72 db_name="plasmidfinder-db", |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
73 db_tmp="tmp_database", |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
74 plasmidfinder_version="latest", |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
75 json_file_path=None, |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
76 date_version=datetime.now().strftime("%Y-%m-%d")): |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
77 |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
78 super().__init__() |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
79 self.json_file_path = json_file_path |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
80 self._output_dir = output_dir |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
81 self._plasmidfinder_url = plasmidfinder_url |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
82 self._temporary_folder = db_tmp |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
83 self._db_name = db_name |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
84 self._db_name_tar = f'{db_name}.gz' |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
85 self._plasmidfinder_version = plasmidfinder_version |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
86 self._plasmidfinder_date_version = date_version |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
87 self._commit_number = None |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
88 |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
89 def extract_db_commit(self, request_header, title_name="content-disposition"): |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
90 """ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
91 Extract the commit if to add the information as identifier of the download |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
92 @request_header: a request object obtained from requests.get() |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
93 @title_name: the tag to search in the header of the requests object |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
94 return: the value of the commit |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
95 """ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
96 db_info = request_header.headers[title_name] |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
97 commit_number = db_info.split("-")[2].split(".")[0] |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
98 return commit_number |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
99 |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
100 def untar_files(self, file_path: Path, extracted_path_output: Path): |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
101 """ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
102 untar the download archive |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
103 @file_path: input path of the tar.gz file |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
104 @extracted_path_output: output path of the extract folder |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
105 return: the path of the output |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
106 """ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
107 try: |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
108 with file_path.open('rb') as fh_in, \ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
109 tarfile.open(fileobj=fh_in, mode='r:gz') as tar_file: |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
110 tar_file.extractall(path=extracted_path_output) |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
111 print(f'Untar the database in {extracted_path_output}') |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
112 return extracted_path_output |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
113 except OSError: |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
114 os.sys.exit(f'ERROR: Could not extract {file_path}') |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
115 |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
116 def choose_db_version(self): |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
117 """ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
118 Update the url link depending on the version choosen by user. |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
119 This method could be upgraded simply by adding the new versions |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
120 """ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
121 if self._plasmidfinder_version == "latest": |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
122 self._plasmidfinder_url = f"{self._plasmidfinder_url}master.gz" |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
123 elif self._plasmidfinder_version == "2.1": |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
124 self._plasmidfinder_url = f"{self._plasmidfinder_url}1307168.gz" |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
125 |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
126 def download_database(self): |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
127 """ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
128 Download the plasmidfinder database using requests lib |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
129 Make the directory and temporary directory for download |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
130 Untar the download files |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
131 """ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
132 self._output_dir = Path(self._output_dir) |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
133 self.choose_db_version() |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
134 try: |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
135 request_info = requests.get(self._plasmidfinder_url) |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
136 request_info.raise_for_status() |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
137 self._commit_number = self.extract_db_commit(request_info) |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
138 output_tar_path = self._output_dir.joinpath(self._temporary_folder) |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
139 output_tar_path_file = output_tar_path.joinpath(self._db_name_tar) |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
140 output_path = self._output_dir.joinpath(self._db_name) |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
141 os.makedirs(output_tar_path) |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
142 os.makedirs(output_path) |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
143 with open(output_tar_path_file, 'wb') as output_dir: |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
144 output_dir.write(request_info.content) |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
145 untar_output = self.untar_files(file_path=output_tar_path_file, extracted_path_output=output_tar_path.joinpath(self._db_name)) |
1
9ef108e34063
planemo upload commit 32f035f6404452fc8a1cf01d71be3c0b46548338
pimarin
parents:
0
diff
changeset
|
146 self.moove_download_files(source=untar_output, destination=output_path) |
0
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
147 except requests.exceptions.HTTPError as http_error: |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
148 print(f"Requests Error: {http_error}") |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
149 print(f"Fail to import Plasmidfinder database from {self._plasmidfinder_url}") |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
150 |
1
9ef108e34063
planemo upload commit 32f035f6404452fc8a1cf01d71be3c0b46548338
pimarin
parents:
0
diff
changeset
|
151 def moove_download_files(self, source, destination, expression_search="*"): |
0
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
152 """ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
153 Clean downloaded data by mooving fasta files in the final folder |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
154 @older_path: previous path where the files are located |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
155 @new_path: final path where files will be mooved |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
156 @expression_search: keep only file with this expression |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
157 """ |
1
9ef108e34063
planemo upload commit 32f035f6404452fc8a1cf01d71be3c0b46548338
pimarin
parents:
0
diff
changeset
|
158 fasta_files = Path(source).rglob(expression_search) |
0
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
159 file_list_paths = [file for file in fasta_files if file.is_file()] |
1
9ef108e34063
planemo upload commit 32f035f6404452fc8a1cf01d71be3c0b46548338
pimarin
parents:
0
diff
changeset
|
160 [self.keep_filename(pathname=path, output_path=destination) for path in file_list_paths] |
0
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
161 |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
162 def keep_filename(self, pathname, output_path): |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
163 """ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
164 Moove files |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
165 @pathname: previous path |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
166 @output_path: final path |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
167 """ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
168 Path.replace(pathname, output_path.joinpath(pathname.name)) |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
169 |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
170 def read_json_input_file(self): |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
171 """ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
172 Import the json file |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
173 """ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
174 with open(self.json_file_path) as fh: |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
175 params = json.load(fh) |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
176 target_dir = params['output_data'][0]['extra_files_path'] |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
177 os.makedirs(target_dir) |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
178 self._output_dir = target_dir |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
179 |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
180 def write_json_infos(self): |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
181 """ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
182 Write in the imported json file |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
183 """ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
184 with open(self.json_file_path, 'w') as fh: |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
185 json.dump(self.get_data_manager(), fh, sort_keys=True) |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
186 |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
187 |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
188 def parse_arguments(): |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
189 """ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
190 List of arguments provided by the user |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
191 return: parsed arguments |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
192 """ |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
193 # parse options and arguments |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
194 arg_parser = argparse.ArgumentParser() |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
195 arg_parser.add_argument("data_manager_json", |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
196 help="json file from galaxy") |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
197 arg_parser.add_argument("-v", "--db_version", |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
198 help="version of the plasmidfinder (latest or 2.1)") |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
199 return arg_parser.parse_args() |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
200 |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
201 |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
202 def main(): |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
203 all_args = parse_arguments() |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
204 plasmidfinder_download = DownloadPlasmidfinderDatabase(json_file_path=all_args.data_manager_json, plasmidfinder_version=all_args.db_version) |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
205 plasmidfinder_download.read_json_input_file() |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
206 plasmidfinder_download.download_database() |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
207 plasmidfinder_download.write_json_infos() |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
208 |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
209 |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
210 if __name__ == '__main__': |
8ad77a9dc91d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit f3383fdb9a17d1b69d05547cdb96534a5f762bec-dirty
pimarin
parents:
diff
changeset
|
211 main() |
3
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
pimarin
parents:
2
diff
changeset
|
212 |
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
pimarin
parents:
2
diff
changeset
|
213 plasmidfinder_download = DownloadPlasmidfinderDatabase() |
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
pimarin
parents:
2
diff
changeset
|
214 plasmidfinder_download.download_database() |
5ffc68b4ec04
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_plasmidfinder commit 5c04f6f49deca3735a752e5ac29027ba9d5ff000-dirty
pimarin
parents:
2
diff
changeset
|
215 plasmidfinder_download.write_json_infos() |