Mercurial > repos > iuc > data_manager_gtdbtk_database_installer
annotate data_manager/gtdbtk_database_installer.py @ 10:3a3cb74b3f6e draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit c63b1bff90ebc5b5df0a4cbd9a294fc1d51583c7
author | iuc |
---|---|
date | Thu, 09 Oct 2025 08:23:58 +0000 |
parents | 3248e43703e7 |
children |
rev | line source |
---|---|
0
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
1 #!/usr/bin/env python |
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
2 |
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
3 import argparse |
2
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
4 import gzip |
0
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
5 import json |
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
6 import os |
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
7 import shutil |
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
8 import sys |
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
9 import tarfile |
7
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
10 from datetime import date |
0
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
11 from urllib.parse import urlparse |
4
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
12 from urllib.request import HTTPError, Request, urlopen |
2
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
13 |
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
14 # rather provide the urls based on the release, less error potential for the admins ! |
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
15 urls = { |
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
16 "202": { |
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
17 "full": "https://data.gtdb.ecogenomic.org/releases/release202/202.0/auxillary_files/gtdbtk_r202_data.tar.gz", |
3
c4830a9870fa
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 9f0b54aeff21df342d2593cff59e813b69cc7bad
iuc
parents:
2
diff
changeset
|
18 "meta_ar": "https://data.gtdb.ecogenomic.org/releases/release202/202.0/ar122_metadata_r202.tar.gz", |
c4830a9870fa
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 9f0b54aeff21df342d2593cff59e813b69cc7bad
iuc
parents:
2
diff
changeset
|
19 "meta_bac": "https://data.gtdb.ecogenomic.org/releases/release202/202.0/bac120_metadata_r202.tar.gz", |
2
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
20 }, |
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
21 "207": { |
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
22 "full": "https://data.gtdb.ecogenomic.org/releases/release207/207.0/auxillary_files/gtdbtk_r207_data.tar.gz", |
3
c4830a9870fa
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 9f0b54aeff21df342d2593cff59e813b69cc7bad
iuc
parents:
2
diff
changeset
|
23 "meta_ar": "https://data.gtdb.ecogenomic.org/releases/release207/207.0/ar53_metadata_r207.tar.gz", |
c4830a9870fa
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 9f0b54aeff21df342d2593cff59e813b69cc7bad
iuc
parents:
2
diff
changeset
|
24 "meta_bac": "https://data.gtdb.ecogenomic.org/releases/release207/207.0/bac120_metadata_r207.tar.gz", |
2
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
25 }, |
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
26 "214": { |
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
27 "full": "https://data.gtdb.ecogenomic.org/releases/release214/214.0/auxillary_files/gtdbtk_r214_data.tar.gz", |
3
c4830a9870fa
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 9f0b54aeff21df342d2593cff59e813b69cc7bad
iuc
parents:
2
diff
changeset
|
28 "meta_ar": "https://data.gtdb.ecogenomic.org/releases/release214/214.1/ar53_metadata_r214.tsv.gz", |
c4830a9870fa
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 9f0b54aeff21df342d2593cff59e813b69cc7bad
iuc
parents:
2
diff
changeset
|
29 "meta_bac": "https://data.gtdb.ecogenomic.org/releases/release214/214.1/bac120_metadata_r214.tsv.gz", |
2
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
30 }, |
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
31 "220": { |
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
32 "full": "https://data.gtdb.ecogenomic.org/releases/release220/220.0/auxillary_files/gtdbtk_package/full_package/gtdbtk_r220_data.tar.gz", |
3
c4830a9870fa
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 9f0b54aeff21df342d2593cff59e813b69cc7bad
iuc
parents:
2
diff
changeset
|
33 "meta_ar": "https://data.gtdb.ecogenomic.org/releases/release220/220.0/ar53_metadata_r220.tsv.gz", |
c4830a9870fa
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 9f0b54aeff21df342d2593cff59e813b69cc7bad
iuc
parents:
2
diff
changeset
|
34 "meta_bac": "https://data.gtdb.ecogenomic.org/releases/release220/220.0/bac120_metadata_r220.tsv.gz", |
2
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
35 }, |
9
3248e43703e7
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1696bfc7f5bade0686ad6731da06a436c43b59e5
iuc
parents:
8
diff
changeset
|
36 "226": { |
3248e43703e7
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1696bfc7f5bade0686ad6731da06a436c43b59e5
iuc
parents:
8
diff
changeset
|
37 "full": "https://data.ace.uq.edu.au/public/gtdb/data/releases/release226/226.0/auxillary_files/gtdbtk_package/full_package/gtdbtk_r226_data.tar.gz", |
3248e43703e7
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1696bfc7f5bade0686ad6731da06a436c43b59e5
iuc
parents:
8
diff
changeset
|
38 "meta_ar": "https://data.ace.uq.edu.au/public/gtdb/data/releases/release226/226.0/ar53_metadata_r226.tsv.gz", |
3248e43703e7
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1696bfc7f5bade0686ad6731da06a436c43b59e5
iuc
parents:
8
diff
changeset
|
39 "meta_bac": "https://data.ace.uq.edu.au/public/gtdb/data/releases/release226/226.0/bac120_metadata_r226.tsv.gz", |
3248e43703e7
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1696bfc7f5bade0686ad6731da06a436c43b59e5
iuc
parents:
8
diff
changeset
|
40 }, |
10
3a3cb74b3f6e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit c63b1bff90ebc5b5df0a4cbd9a294fc1d51583c7
iuc
parents:
9
diff
changeset
|
41 "mocked": { |
3a3cb74b3f6e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit c63b1bff90ebc5b5df0a4cbd9a294fc1d51583c7
iuc
parents:
9
diff
changeset
|
42 "full": "https://data.gtdb.ecogenomic.org/releases/latest/auxillary_files/gtdbtk_package/mockup_db/mockup.tar.gz", |
3a3cb74b3f6e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit c63b1bff90ebc5b5df0a4cbd9a294fc1d51583c7
iuc
parents:
9
diff
changeset
|
43 }, |
2
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
44 } |
0
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
45 |
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
46 |
4
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
47 def is_urlfile(url): |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
48 # Check if online file exists |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
49 try: |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
50 r = urlopen(url) # response |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
51 return r.getcode() < 400 |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
52 except HTTPError: |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
53 return False |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
54 |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
55 |
8
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
56 def extract_tar_iteratively(tarball, target_directory): |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
57 """ |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
58 Extracts a .tar, .tar.gz, or .tar.bz2 archive iteratively in a memory-efficient manner. |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
59 |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
60 This function processes the contents of the archive member-by-member, ensuring only |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
61 one file or directory is loaded into memory at any given time. It handles the creation |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
62 of directories and symbolic links, and streams large files to disk in chunks to avoid |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
63 memory overload. |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
64 |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
65 Args: |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
66 tarball (str): Path to the tar archive (e.g., .tar, .tar.gz, .tar.bz2) to be extracted. |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
67 target_directory (str): The destination directory where the archive content |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
68 will be extracted. |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
69 |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
70 Raises: |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
71 OSError: If there is an issue with file or directory creation, or writing to disk. |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
72 tarfile.TarError: If there is an issue opening or reading the tar archive. |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
73 |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
74 Example Usage: |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
75 extract_tar_iteratively("archive.tar.gz", "/path/to/extract") |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
76 |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
77 Notes: |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
78 - The function supports symbolic and hard links present in the tar archive. |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
79 - It ensures that directories are created before files are extracted. |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
80 - Large files are streamed to disk in 1 MB chunks to minimize memory usage. |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
81 - This function does not return anything but will populate the target directory with |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
82 the extracted content. |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
83 """ |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
84 |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
85 with tarfile.open(tarball, "r:*") as fh: |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
86 for member in fh: |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
87 # Full path to where the member should be extracted |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
88 member_path = os.path.join(target_directory, member.name) |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
89 |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
90 if member.isdir(): |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
91 # If it's a directory, ensure it exists |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
92 os.makedirs(member_path, exist_ok=True) |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
93 elif member.isfile(): |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
94 # If it's a file, extract it in chunks to avoid memory spikes |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
95 with fh.extractfile(member) as source, open( |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
96 member_path, "wb" |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
97 ) as target: |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
98 shutil.copyfileobj( |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
99 source, target, length=1024 * 1024 |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
100 ) # 1 MB chunks |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
101 elif member.issym() or member.islnk(): |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
102 # Handle symlinks or hard links if necessary |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
103 target_link = os.path.join(target_directory, member.name) |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
104 if member.issym(): |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
105 os.symlink(member.linkname, target_link) |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
106 elif member.islnk(): |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
107 os.link(member.linkname, target_link) |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
108 |
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
109 |
4
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
110 def url_download(url, target_directory, meta): |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
111 |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
112 # download the url |
0
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
113 url_parts = urlparse(url) |
2
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
114 tarball = os.path.abspath( |
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
115 os.path.join(target_directory, os.path.basename(url_parts.path)) |
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
116 ) |
0
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
117 src = None |
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
118 dst = None |
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
119 try: |
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
120 req = Request(url) |
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
121 src = urlopen(req) |
2
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
122 with open(tarball, "wb") as dst: |
0
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
123 while True: |
8
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
124 chunk = src.read(2**16) # Read in 64 KB chunks instead of 1 KB |
0
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
125 if chunk: |
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
126 dst.write(chunk) |
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
127 else: |
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
128 break |
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
129 except Exception as e: |
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
130 sys.exit(str(e)) |
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
131 finally: |
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
132 if src is not None: |
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
133 src.close() |
4
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
134 |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
135 # extract the metadata |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
136 if meta: |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
137 # extract the content of *.tar.gz into the target dir |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
138 if tarfile.is_tarfile(tarball): |
8
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
139 extract_tar_iteratively(tarball, target_directory) |
4
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
140 os.remove(tarball) |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
141 return target_directory # return path to output folder |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
142 # extract the content of *.gz into the target dir |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
143 elif ".gz" in tarball: |
2
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
144 with gzip.open(tarball, "rb") as f_in: |
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
145 unzipped_file = tarball.strip(".gz") |
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
146 with open(unzipped_file, "wb") as f_out: |
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
147 shutil.copyfileobj(f_in, f_out) |
4
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
148 os.remove(tarball) |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
149 folder_of_unzipped_file = os.path.dirname(unzipped_file) |
2
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
150 return folder_of_unzipped_file |
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
151 else: |
4
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
152 sys.exit( |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
153 "No correct input format for metadata file, must be .tar.gz or .gz" |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
154 ) |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
155 else: |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
156 # handle the DB |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
157 # extract the content of the folder in the tar.gz into the target dir |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
158 if tarfile.is_tarfile(tarball): |
8
750d902de22c
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 1019bf0fda897582e2bbdc773aebb3e08e285aae
iuc
parents:
7
diff
changeset
|
159 extract_tar_iteratively(tarball, target_directory) |
4
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
160 os.remove(tarball) |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
161 else: |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
162 # handle the test case for the DB |
2
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
163 return tarball |
4
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
164 |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
165 # The tarball extraction will create a directory named |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
166 # something like release202 in the target_directory, so |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
167 # we need to move the items in that directory to the |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
168 # target directory. |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
169 subdir = next(os.walk(target_directory))[1][0] |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
170 subdir_path = os.path.join(target_directory, subdir) |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
171 items = os.listdir(subdir_path) |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
172 for item in items: |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
173 item_path = os.path.join(subdir_path, item) |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
174 shutil.move(item_path, target_directory) |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
175 os.rmdir(subdir_path) |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
176 return target_directory |
0
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
177 |
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
178 |
7
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
179 def create_data_manager_entry(database_name, release, file_path): |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
180 time = date.today().strftime("%Y-%m-%d") |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
181 data_manager_entry = {} |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
182 data_manager_entry["value"] = ( |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
183 f"{database_name.replace(' ', '_').lower()}_release_{release}_downloaded_{time}" |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
184 ) |
10
3a3cb74b3f6e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit c63b1bff90ebc5b5df0a4cbd9a294fc1d51583c7
iuc
parents:
9
diff
changeset
|
185 if release == "mocked_226": |
3a3cb74b3f6e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit c63b1bff90ebc5b5df0a4cbd9a294fc1d51583c7
iuc
parents:
9
diff
changeset
|
186 data_manager_entry["name"] = "Mocked GTBD DB (226)" |
3a3cb74b3f6e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit c63b1bff90ebc5b5df0a4cbd9a294fc1d51583c7
iuc
parents:
9
diff
changeset
|
187 else: |
3a3cb74b3f6e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit c63b1bff90ebc5b5df0a4cbd9a294fc1d51583c7
iuc
parents:
9
diff
changeset
|
188 data_manager_entry["name"] = f"{database_name} - release {release} ({time})" |
7
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
189 data_manager_entry["path"] = file_path |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
190 data_manager_entry["version"] = release |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
191 return data_manager_entry |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
192 |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
193 |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
194 def download(release, meta, test, out_file): |
0
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
195 |
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
196 with open(out_file) as fh: |
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
197 params = json.load(fh) |
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
198 |
2
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
199 target_directory = params["output_data"][0]["extra_files_path"] |
0
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
200 os.makedirs(target_directory) |
2
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
201 |
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
202 if test: |
4
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
203 # switch the DB to use the test case |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
204 urls[release][ |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
205 "full" |
6
df84aaed4769
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit a7a73e892ade5f3cb5207c411b8ac27b684316ff
iuc
parents:
4
diff
changeset
|
206 ] = "https://zenodo.org/records/13734217/files/release220-test.tar.gz" |
4
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
207 |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
208 # make use of the test to check if all urls exists |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
209 for _version, items in urls.items(): |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
210 for url in items.values(): |
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
211 assert is_urlfile(url) |
2
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
212 |
7
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
213 data_manager_json = {"data_tables": {}} |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
214 |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
215 # download taxonomy metadata tables |
2
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
216 if meta: |
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
217 url = urls[release]["meta_ar"] |
7
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
218 url_download(url, target_directory, meta) |
2
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
219 url = urls[release]["meta_bac"] |
4
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
220 file_path = url_download(url, target_directory, meta) |
7
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
221 |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
222 data_manager_json["data_tables"]["gtdbtk_database_metadata_versioned"] = [ |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
223 create_data_manager_entry("Metadata Tables", release, file_path) |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
224 ] |
2
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
225 # download the full DB |
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
226 else: |
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
227 url = urls[release]["full"] |
4
10232d2b5062
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 0bb620025a61de6caa8a93537fec8ea65eda43be
iuc
parents:
3
diff
changeset
|
228 file_path = url_download(url, target_directory, meta) |
7
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
229 data_manager_json["data_tables"]["gtdbtk_database_versioned"] = [ |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
230 create_data_manager_entry("Full Database", release, file_path) |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
231 ] |
0
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
232 |
2
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
233 # store in dedicated metadata table |
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
234 with open(out_file, "w") as fh: |
0
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
235 json.dump(data_manager_json, fh, sort_keys=True) |
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
236 |
629464b96c2e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 69da0d34ea6e72c0427ec2d3e882c86cbb90833f
iuc
parents:
diff
changeset
|
237 |
7
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
238 if __name__ == "__main__": |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
239 parser = argparse.ArgumentParser() |
2
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
240 |
7
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
241 parser.add_argument("--version", dest="version", help="DB version") |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
242 parser.add_argument( |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
243 "--release", dest="release", help="Release of the GTDB-Tk database version" |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
244 ) |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
245 parser.add_argument("--out_file", dest="out_file", help="JSON output file") |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
246 parser.add_argument( |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
247 "--meta", |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
248 dest="meta", |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
249 action="store_true", |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
250 help="Store meta data flag", |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
251 ) |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
252 parser.add_argument( |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
253 "--test", |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
254 dest="test", |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
255 action="store_true", |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
256 help="Run test", |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
257 ) |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
258 args = parser.parse_args() |
2
6ab422fba1a3
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit ad14947c3e13babe90a6878b45608fe56a16150d
iuc
parents:
0
diff
changeset
|
259 |
7
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
260 download( |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
261 args.release, |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
262 args.meta, |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
263 args.test, |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
264 args.out_file, |
3b1d503c6260
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gtdbtk_database_installer commit 671e8c706fa211b6ec1c476d3d1a36d098822fe5
iuc
parents:
6
diff
changeset
|
265 ) |