Mercurial > repos > pimarin > data_manager_bakta
annotate data_manager/bakta_build_database.py @ 16:718080c30a76 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit e7c35e529ae95a2c9f2ecd87a3716e6866feabfa
author | pimarin |
---|---|
date | Fri, 04 Nov 2022 15:46:06 +0000 |
parents | ac4d5e1d1421 |
children | ecb7d3d41366 |
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 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
|
6 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
|
7 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
|
8 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
|
9 |
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
|
10 import requests |
16
718080c30a76
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit e7c35e529ae95a2c9f2ecd87a3716e6866feabfa
pimarin
parents:
15
diff
changeset
|
11 |
718080c30a76
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit e7c35e529ae95a2c9f2ecd87a3716e6866feabfa
pimarin
parents:
15
diff
changeset
|
12 |
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
|
13 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
|
14 """ |
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 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
|
16 """ |
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
|
17 |
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
|
18 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
|
19 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
|
20 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
|
21 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
|
22 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
|
23 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
|
24 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
|
25 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
|
26 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
|
27 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
|
28 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
|
29 |
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
|
30 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
|
31 """ |
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 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
|
33 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
|
34 @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
|
35 @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
|
36 @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
|
37 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
|
38 @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
|
39 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
|
40 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
|
41 """ |
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 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
|
43 "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
|
44 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
|
45 } |
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 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
|
48 |
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
|
49 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
|
50 """ |
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 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
|
52 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
|
53 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
|
54 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
|
55 """ |
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 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
|
57 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
|
58 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
|
59 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
|
60 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
|
61 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
|
62 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
|
63 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
|
64 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
|
65 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
|
66 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
|
67 '%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
|
68 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
|
69 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
|
70 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
|
71 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
|
72 "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
|
73 "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
|
74 "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
|
75 "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
|
76 "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
|
77 "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
|
78 "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
|
79 } |
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 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
|
81 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
|
82 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
|
83 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
|
84 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
|
85 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
|
86 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
|
87 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
|
88 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
|
89 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
|
90 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
|
91 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
|
92 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
|
93 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
|
94 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
|
95 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
|
96 |
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
|
97 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
|
98 self.bakta_table_list = self.get_data_table_format() |
16
718080c30a76
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit e7c35e529ae95a2c9f2ecd87a3716e6866feabfa
pimarin
parents:
15
diff
changeset
|
99 bakta_value = f"V{bakta_database_info['major']}." \ |
718080c30a76
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit e7c35e529ae95a2c9f2ecd87a3716e6866feabfa
pimarin
parents:
15
diff
changeset
|
100 f"{bakta_database_info['minor']}_" \ |
718080c30a76
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit e7c35e529ae95a2c9f2ecd87a3716e6866feabfa
pimarin
parents:
15
diff
changeset
|
101 f"{bakta_database_info['date']}" |
718080c30a76
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit e7c35e529ae95a2c9f2ecd87a3716e6866feabfa
pimarin
parents:
15
diff
changeset
|
102 tool_version = str(f"{bakta_database_info['software-min']['major']}." |
718080c30a76
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit e7c35e529ae95a2c9f2ecd87a3716e6866feabfa
pimarin
parents:
15
diff
changeset
|
103 f"{bakta_database_info['software-min']['minor']}") |
718080c30a76
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit e7c35e529ae95a2c9f2ecd87a3716e6866feabfa
pimarin
parents:
15
diff
changeset
|
104 data_info = dict(value=bakta_database_info['record'], |
718080c30a76
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit e7c35e529ae95a2c9f2ecd87a3716e6866feabfa
pimarin
parents:
15
diff
changeset
|
105 dbkey=bakta_value, |
718080c30a76
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit e7c35e529ae95a2c9f2ecd87a3716e6866feabfa
pimarin
parents:
15
diff
changeset
|
106 bakta_version=tool_version, |
718080c30a76
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit e7c35e529ae95a2c9f2ecd87a3716e6866feabfa
pimarin
parents:
15
diff
changeset
|
107 path="db") |
718080c30a76
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit e7c35e529ae95a2c9f2ecd87a3716e6866feabfa
pimarin
parents:
15
diff
changeset
|
108 self.bakta_table_list["data_tables"][self.data_table_name] = [data_info] |
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
|
109 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
|
110 |
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
|
111 |
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
|
112 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
|
113 """ |
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
|
114 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
|
115 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
|
116 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
|
117 """ |
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 |
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 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
|
120 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
|
121 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
|
122 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
|
123 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
|
124 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
|
125 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
|
126 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
|
127 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
|
128 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
|
129 |
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 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
|
131 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
|
132 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
|
133 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
|
134 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
|
135 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
|
136 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
|
137 if total_length is None: # no content length header |
15
ac4d5e1d1421
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit b082e89a0090f9c4b2a257bb06b7c6f141b42650-dirty
pimarin
parents:
14
diff
changeset
|
138 for data in resp.iter_content(chunk_size=1024 * 1024): |
ac4d5e1d1421
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit b082e89a0090f9c4b2a257bb06b7c6f141b42650-dirty
pimarin
parents:
14
diff
changeset
|
139 fh_out.write(data) |
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
|
140 else: |
15
ac4d5e1d1421
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit b082e89a0090f9c4b2a257bb06b7c6f141b42650-dirty
pimarin
parents:
14
diff
changeset
|
141 for data in resp.iter_content(chunk_size=1024 * 1024): |
ac4d5e1d1421
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit b082e89a0090f9c4b2a257bb06b7c6f141b42650-dirty
pimarin
parents:
14
diff
changeset
|
142 fh_out.write(data) |
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
|
143 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
|
144 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
|
145 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
|
146 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
|
147 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
|
148 |
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 def untar(self): |
16
718080c30a76
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit e7c35e529ae95a2c9f2ecd87a3716e6866feabfa
pimarin
parents:
15
diff
changeset
|
150 db_path = Path(self.db_dir).as_posix() |
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
|
151 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
|
152 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
|
153 tarfile.open(fileobj=fh_in, mode='r:gz') as tar_file: |
16
718080c30a76
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit e7c35e529ae95a2c9f2ecd87a3716e6866feabfa
pimarin
parents:
15
diff
changeset
|
154 tar_file.extractall(path=db_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
|
155 print(f'Untar the database in {db_path}') |
16
718080c30a76
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit e7c35e529ae95a2c9f2ecd87a3716e6866feabfa
pimarin
parents:
15
diff
changeset
|
156 return db_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
|
157 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
|
158 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
|
159 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
|
160 |
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 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
|
162 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
|
163 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
|
164 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
|
165 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
|
166 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
|
167 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
|
168 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
|
169 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
|
170 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
|
171 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
|
172 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
|
173 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
|
174 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
|
175 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
|
176 |
16
718080c30a76
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit e7c35e529ae95a2c9f2ecd87a3716e6866feabfa
pimarin
parents:
15
diff
changeset
|
177 |
718080c30a76
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit e7c35e529ae95a2c9f2ecd87a3716e6866feabfa
pimarin
parents:
15
diff
changeset
|
178 """ |
718080c30a76
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit e7c35e529ae95a2c9f2ecd87a3716e6866feabfa
pimarin
parents:
15
diff
changeset
|
179 This is the method to download the amrfinderplus database need by bakta. |
718080c30a76
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit e7c35e529ae95a2c9f2ecd87a3716e6866feabfa
pimarin
parents:
15
diff
changeset
|
180 Deprecated to use the amrfinderplus data_manager |
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
|
181 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
|
182 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
|
183 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
|
184 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
|
185 '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
|
186 '--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
|
187 '--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
|
188 '--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
|
189 ] |
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 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
|
191 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
|
192 '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
|
193 '--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
|
194 '--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
|
195 ] |
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 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
|
197 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
|
198 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
|
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 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
|
201 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
|
202 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
|
203 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
|
204 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
|
205 print("AMRFinderPlus database download") |
16
718080c30a76
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit e7c35e529ae95a2c9f2ecd87a3716e6866feabfa
pimarin
parents:
15
diff
changeset
|
206 """ |
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
|
207 |
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
|
208 |
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
|
209 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
|
210 # 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
|
211 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
|
212 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
|
213 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
|
214 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
|
215 '(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
|
216 '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
|
217 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
|
218 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
|
219 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
|
220 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
|
221 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
|
222 |
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
|
223 |
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
|
224 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
|
225 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
|
226 |
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
|
227 with open(all_args.data_manager_json) as fh: |
16
718080c30a76
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit e7c35e529ae95a2c9f2ecd87a3716e6866feabfa
pimarin
parents:
15
diff
changeset
|
228 params = json.load(fh) |
718080c30a76
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit e7c35e529ae95a2c9f2ecd87a3716e6866feabfa
pimarin
parents:
15
diff
changeset
|
229 target_dir = params['output_data'][0]['extra_files_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
|
230 os.makedirs(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
|
231 # 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
|
232 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
|
233 # 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
|
234 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
|
235 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
|
236 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
|
237 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
|
238 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
|
239 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
|
240 # 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
|
241 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
|
242 # 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
|
243 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
|
244 # 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
|
245 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
|
246 # untar db |
16
718080c30a76
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit e7c35e529ae95a2c9f2ecd87a3716e6866feabfa
pimarin
parents:
15
diff
changeset
|
247 bakta_upload.untar() |
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
|
248 # make the data_manager metadata |
16
718080c30a76
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit e7c35e529ae95a2c9f2ecd87a3716e6866feabfa
pimarin
parents:
15
diff
changeset
|
249 bakta_data_manager = bakta_upload.get_data_manager(bakta_database_info=bakta_db, output_path=target_dir) |
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
|
250 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
|
251 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
|
252 |
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
|
253 |
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
|
254 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
|
255 main() |