Mercurial > repos > pimarin > data_manager_bakta
annotate data_manager/bakta_build_database.py @ 14:bcac3aa1f494 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit b082e89a0090f9c4b2a257bb06b7c6f141b42650-dirty
author | pimarin |
---|---|
date | Wed, 02 Nov 2022 16:14:09 +0000 |
parents | c50e8b4f74d7 |
children | ac4d5e1d1421 |
rev | line source |
---|---|
1
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
1 import argparse |
0
9d08486abf8e
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 5f320f165a7f454193df36cc2ec77a87d50ec80f-dirty"
pimarin
parents:
diff
changeset
|
2 import hashlib |
9d08486abf8e
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 5f320f165a7f454193df36cc2ec77a87d50ec80f-dirty"
pimarin
parents:
diff
changeset
|
3 import json |
9d08486abf8e
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 5f320f165a7f454193df36cc2ec77a87d50ec80f-dirty"
pimarin
parents:
diff
changeset
|
4 import os |
9d08486abf8e
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 5f320f165a7f454193df36cc2ec77a87d50ec80f-dirty"
pimarin
parents:
diff
changeset
|
5 import subprocess as sp |
9d08486abf8e
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 5f320f165a7f454193df36cc2ec77a87d50ec80f-dirty"
pimarin
parents:
diff
changeset
|
6 import sys |
9d08486abf8e
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 5f320f165a7f454193df36cc2ec77a87d50ec80f-dirty"
pimarin
parents:
diff
changeset
|
7 import tarfile |
1
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
8 from datetime import datetime |
0
9d08486abf8e
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 5f320f165a7f454193df36cc2ec77a87d50ec80f-dirty"
pimarin
parents:
diff
changeset
|
9 from pathlib import Path |
9d08486abf8e
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 5f320f165a7f454193df36cc2ec77a87d50ec80f-dirty"
pimarin
parents:
diff
changeset
|
10 |
1
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
11 import requests |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
12 from alive_progress import alive_bar |
0
9d08486abf8e
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 5f320f165a7f454193df36cc2ec77a87d50ec80f-dirty"
pimarin
parents:
diff
changeset
|
13 |
1
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
14 class GetBaktaDatabaseInfo: |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
15 """ |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
16 Extract bakta database information to make a json file for data_manager |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
17 """ |
0
9d08486abf8e
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 5f320f165a7f454193df36cc2ec77a87d50ec80f-dirty"
pimarin
parents:
diff
changeset
|
18 |
1
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
19 def __init__(self, |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
20 data_table_name="bakta_database", |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
21 db_name=Path.cwd().joinpath("db"), |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
22 db_version="latest"): |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
23 self.bakta_table_list = None |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
24 self.db_url = None |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
25 self.data_table_entry = None |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
26 self.data_table_name = data_table_name |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
27 self.db_name = db_name |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
28 self.db_version = db_version |
11
c50e8b4f74d7
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 572bbceeba9a22cdb591d526abda362595f8f0c4
pimarin
parents:
10
diff
changeset
|
29 self.DB_VERSIONS_URL = 'https://raw.githubusercontent.com/oschwengers/bakta/master/db-versions.json' |
0
9d08486abf8e
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 5f320f165a7f454193df36cc2ec77a87d50ec80f-dirty"
pimarin
parents:
diff
changeset
|
30 |
1
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
31 def get_data_table_format(self): |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
32 """ |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
33 Build a data table format for galaxy |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
34 using the bakta database information |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
35 @str database_value: string of the database name |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
36 @str database_date: string of the database date of build (YY-M-D) |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
37 @str database_bakta_version: string of the version of bakta tool |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
38 to apply a filter on version compatibility |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
39 @str database_path: string of the database path |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
40 for the database location |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
41 return: a data table formatted for json output |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
42 """ |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
43 self.data_table_entry = { |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
44 "data_tables": { |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
45 self.data_table_name: {} |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
46 } |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
47 } |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
48 return self.data_table_entry |
0
9d08486abf8e
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 5f320f165a7f454193df36cc2ec77a87d50ec80f-dirty"
pimarin
parents:
diff
changeset
|
49 |
1
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
50 def fetch_db_versions(self, db_version="latest"): |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
51 """ |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
52 Use method from bakta tool to extract database info |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
53 db_version: a string of the version number |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
54 in the galaxy wrapper list or just latest |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
55 return: info for the select or the latest bakta db version |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
56 """ |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
57 try: |
11
c50e8b4f74d7
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 572bbceeba9a22cdb591d526abda362595f8f0c4
pimarin
parents:
10
diff
changeset
|
58 with requests.get(self.DB_VERSIONS_URL) as resp: |
1
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
59 versions = json.loads(resp.content) |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
60 except IOError as e: |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
61 print(e, file=sys.stderr) |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
62 raise e |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
63 else: |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
64 if db_version == "latest": |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
65 db_date_list = [] |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
66 for db_dic in versions: |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
67 db_date_list.append(datetime.strptime(db_dic["date"], |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
68 '%Y-%m-%d').date()) |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
69 max(db_date_list) |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
70 filtered_version = next(item for item in versions |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
71 if max(db_date_list)) |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
72 elif db_version == "test": |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
73 filtered_version = {"date": "date_test", |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
74 "major": "0", |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
75 "minor": "0", |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
76 "doi": "10.5281/zenodo.7197299", |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
77 "record": "7197299", |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
78 "md5": "8b0250c17078742fc12207d4efb0fc1a", |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
79 "software-min": {"major": "0", |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
80 "minor": "0"} |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
81 } |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
82 else: |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
83 major_version = str(db_version.split(sep=".")[0]) |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
84 minor_version = str(db_version.split(sep=".")[1]) |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
85 try: |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
86 filtered_version = next( |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
87 item for item in versions |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
88 if str(item["major"]) == major_version |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
89 and str(item["minor"]) == minor_version) |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
90 except StopIteration: |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
91 print("No available version detected in the list") |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
92 filtered_version = None |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
93 if filtered_version is not None: |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
94 self.db_url = f"https://zenodo.org/record/" \ |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
95 f"{filtered_version['record']}/files/db.tar.gz" |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
96 self.db_version = db_version |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
97 return filtered_version |
0
9d08486abf8e
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 5f320f165a7f454193df36cc2ec77a87d50ec80f-dirty"
pimarin
parents:
diff
changeset
|
98 |
1
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
99 def get_data_manager(self, bakta_database_info, output_path): |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
100 self.bakta_table_list = self.get_data_table_format() |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
101 bakta_value = f"bakta_{bakta_database_info['major']}." \ |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
102 f"{bakta_database_info['minor']}" |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
103 data_info = dict(value=bakta_value, |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
104 dbkey=bakta_database_info['date'], |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
105 database_record=bakta_database_info['record'], |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
106 bakta_version=str( |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
107 f"{bakta_database_info['software-min']['major']}." |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
108 f"{bakta_database_info['software-min']['minor']}" |
11
c50e8b4f74d7
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 572bbceeba9a22cdb591d526abda362595f8f0c4
pimarin
parents:
10
diff
changeset
|
109 ), |
c50e8b4f74d7
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 572bbceeba9a22cdb591d526abda362595f8f0c4
pimarin
parents:
10
diff
changeset
|
110 path=output_path) |
1
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
111 self.bakta_table_list["data_tables"][self.data_table_name] = data_info |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
112 return self.bakta_table_list |
0
9d08486abf8e
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 5f320f165a7f454193df36cc2ec77a87d50ec80f-dirty"
pimarin
parents:
diff
changeset
|
113 |
9d08486abf8e
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 5f320f165a7f454193df36cc2ec77a87d50ec80f-dirty"
pimarin
parents:
diff
changeset
|
114 |
1
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
115 class InstallBaktaDatabase(GetBaktaDatabaseInfo): |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
116 """ |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
117 Download the bakta database, |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
118 check md5 sum, |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
119 untar the download db and update for the amrfinderplus database |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
120 """ |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
121 |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
122 def __init__(self, |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
123 db_dir=Path.cwd(), |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
124 db_name="bakta", |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
125 tarball_name="db.tar.gz"): |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
126 super().__init__() |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
127 self.md5 = None |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
128 self.db_dir = db_dir |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
129 self.db_name = db_name |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
130 self.tarball_name = tarball_name |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
131 self.tarball_path = None |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
132 |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
133 def download(self): |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
134 self.db_name = f'{self.db_name}_{self.db_version}' |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
135 bakta_path = Path(self.db_dir).joinpath(self.tarball_name) |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
136 try: |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
137 with bakta_path.open('wb') as fh_out, \ |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
138 requests.get(self.db_url, stream=True) as resp: |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
139 total_length = resp.headers.get('content-length') |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
140 if total_length is None: # no content length header |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
141 with alive_bar() as bar: |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
142 for data in resp.iter_content(chunk_size=1024 * 1024): |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
143 fh_out.write(data) |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
144 bar() |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
145 else: |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
146 total_length = int(int(total_length) / 1024) |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
147 with alive_bar(total=total_length) as bar: |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
148 for data in resp.iter_content(chunk_size=1024 * 1024): |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
149 fh_out.write(data) |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
150 bar(incr=len(data) / 1024) |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
151 print(f'Download bakta database {self.db_version}') |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
152 self.tarball_path = bakta_path |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
153 except IOError: |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
154 print(f'ERROR: Could not download file from Zenodo!' |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
155 f' url={self.db_url}, path={self.tarball_name}') |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
156 |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
157 def untar(self): |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
158 db_path = Path(self.db_dir).joinpath(self.db_name) |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
159 try: |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
160 with self.tarball_path.open('rb') as fh_in, \ |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
161 tarfile.open(fileobj=fh_in, mode='r:gz') as tar_file: |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
162 tar_file.extractall(path=str(db_path)) |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
163 print(f'Untar the database in {db_path}') |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
164 return db_path.as_posix() |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
165 except OSError: |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
166 sys.exit(f'ERROR: Could not extract {self.tarball_name} ' |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
167 f'to {self.db_name}') |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
168 |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
169 def calc_md5_sum(self, buffer_size=1048576): |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
170 tarball_path = Path(self.db_dir).joinpath(self.tarball_name) |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
171 self.md5 = self.fetch_db_versions(db_version=self.db_version)["md5"] |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
172 md5 = hashlib.md5() |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
173 with tarball_path.open('rb') as fh: |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
174 data = fh.read(buffer_size) |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
175 while data: |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
176 md5.update(data) |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
177 data = fh.read(buffer_size) |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
178 if md5.hexdigest() == self.md5: |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
179 print('\t...md5 control database OK') |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
180 else: |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
181 print(f"Error: corrupt database file! " |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
182 f"calculated md5 = {md5.hexdigest()}" |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
183 f" different from {self.md5} ") |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
184 |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
185 def update_amrfinderplus_db(self): |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
186 amrfinderplus_db_path = f"{self.db_dir}/{self.db_name}/db/amrfinderplus-db" |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
187 if self.db_version == "test": |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
188 cmd = [ |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
189 'amrfinder_update', |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
190 '--database', str(amrfinderplus_db_path), |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
191 '--force_update', |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
192 '--help' |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
193 ] |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
194 else: |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
195 cmd = [ |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
196 'amrfinder_update', |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
197 '--database', str(amrfinderplus_db_path), |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
198 '--force_update' |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
199 ] |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
200 proc = sp.run( |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
201 cmd, |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
202 universal_newlines=True |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
203 ) |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
204 if proc.returncode != 0: |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
205 print(f"ERROR: AMRFinderPlus failed! " |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
206 f"command: 'amrfinder_update --force_update" |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
207 f" --database {amrfinderplus_db_path}'") |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
208 else: |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
209 print("AMRFinderPlus database download") |
0
9d08486abf8e
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 5f320f165a7f454193df36cc2ec77a87d50ec80f-dirty"
pimarin
parents:
diff
changeset
|
210 |
9d08486abf8e
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 5f320f165a7f454193df36cc2ec77a87d50ec80f-dirty"
pimarin
parents:
diff
changeset
|
211 |
1
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
212 def parse_arguments(): |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
213 # parse options and arguments |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
214 arg_parser = argparse.ArgumentParser() |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
215 arg_parser.add_argument("data_manager_json") |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
216 arg_parser.add_argument("-d", "--database_version", |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
217 help='Select the database version ' |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
218 '(major and minor eg. 4.0),' |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
219 'default is the latest version', |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
220 default="latest", |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
221 required=True) |
11
c50e8b4f74d7
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 572bbceeba9a22cdb591d526abda362595f8f0c4
pimarin
parents:
10
diff
changeset
|
222 arg_parser.add_argument("-t", "--test", action='store_true', |
c50e8b4f74d7
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 572bbceeba9a22cdb591d526abda362595f8f0c4
pimarin
parents:
10
diff
changeset
|
223 help="option to test the script with an empty database") |
1
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
224 return arg_parser.parse_args() |
0
9d08486abf8e
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 5f320f165a7f454193df36cc2ec77a87d50ec80f-dirty"
pimarin
parents:
diff
changeset
|
225 |
9d08486abf8e
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 5f320f165a7f454193df36cc2ec77a87d50ec80f-dirty"
pimarin
parents:
diff
changeset
|
226 |
9d08486abf8e
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 5f320f165a7f454193df36cc2ec77a87d50ec80f-dirty"
pimarin
parents:
diff
changeset
|
227 def main(): |
1
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
228 all_args = parse_arguments() |
0
9d08486abf8e
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 5f320f165a7f454193df36cc2ec77a87d50ec80f-dirty"
pimarin
parents:
diff
changeset
|
229 |
1
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
230 with open(all_args.data_manager_json) as fh: |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
231 data_manager_input = json.load(fh) |
0
9d08486abf8e
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 5f320f165a7f454193df36cc2ec77a87d50ec80f-dirty"
pimarin
parents:
diff
changeset
|
232 |
1
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
233 target_dir = data_manager_input['output_data'][0]['extra_files_path'] |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
234 os.makedirs(target_dir) |
0
9d08486abf8e
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 5f320f165a7f454193df36cc2ec77a87d50ec80f-dirty"
pimarin
parents:
diff
changeset
|
235 |
1
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
236 # init the class to download bakta db |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
237 bakta_upload = InstallBaktaDatabase() |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
238 # extract the version |
11
c50e8b4f74d7
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 572bbceeba9a22cdb591d526abda362595f8f0c4
pimarin
parents:
10
diff
changeset
|
239 if all_args.test is True: |
c50e8b4f74d7
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 572bbceeba9a22cdb591d526abda362595f8f0c4
pimarin
parents:
10
diff
changeset
|
240 bakta_db = bakta_upload.fetch_db_versions( |
c50e8b4f74d7
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 572bbceeba9a22cdb591d526abda362595f8f0c4
pimarin
parents:
10
diff
changeset
|
241 db_version="test") |
c50e8b4f74d7
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 572bbceeba9a22cdb591d526abda362595f8f0c4
pimarin
parents:
10
diff
changeset
|
242 else: |
c50e8b4f74d7
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 572bbceeba9a22cdb591d526abda362595f8f0c4
pimarin
parents:
10
diff
changeset
|
243 bakta_db = bakta_upload.fetch_db_versions( |
c50e8b4f74d7
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 572bbceeba9a22cdb591d526abda362595f8f0c4
pimarin
parents:
10
diff
changeset
|
244 db_version=all_args.database_version) |
1
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
245 # update the path for galaxy |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
246 bakta_upload.db_dir = target_dir |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
247 # download the database |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
248 bakta_upload.download() |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
249 # check md5 sum |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
250 bakta_upload.calc_md5_sum() |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
251 # untar db |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
252 bakta_extracted_path = bakta_upload.untar() |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
253 # update for amrfinderplus |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
254 bakta_upload.update_amrfinderplus_db() |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
255 # make the data_manager metadata |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
256 bakta_data_manager = bakta_upload.get_data_manager(bakta_database_info=bakta_db, output_path=bakta_extracted_path) |
faae5d8ce0cb
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 4c11a77fb4c0bb74c0c4ae381c85971e01ed973e-dirty
pimarin
parents:
0
diff
changeset
|
257 with open(all_args.data_manager_json, 'w') as fh: |
11
c50e8b4f74d7
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 572bbceeba9a22cdb591d526abda362595f8f0c4
pimarin
parents:
10
diff
changeset
|
258 json.dump(bakta_data_manager, fh, sort_keys=True) |
0
9d08486abf8e
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 5f320f165a7f454193df36cc2ec77a87d50ec80f-dirty"
pimarin
parents:
diff
changeset
|
259 |
9d08486abf8e
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 5f320f165a7f454193df36cc2ec77a87d50ec80f-dirty"
pimarin
parents:
diff
changeset
|
260 |
9d08486abf8e
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 5f320f165a7f454193df36cc2ec77a87d50ec80f-dirty"
pimarin
parents:
diff
changeset
|
261 if __name__ == '__main__': |
9d08486abf8e
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 5f320f165a7f454193df36cc2ec77a87d50ec80f-dirty"
pimarin
parents:
diff
changeset
|
262 main() |