Mercurial > repos > iuc > data_manager_metaphlan_database_downloader
annotate data_manager/data_manager_metaphlan_download.py @ 0:169b08c9713c draft
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
author | iuc |
---|---|
date | Mon, 19 Apr 2021 20:54:06 +0000 |
parents | |
children | 5fe20c915fa6 |
rev | line source |
---|---|
0
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
1 #!/usr/bin/env python |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
2 # |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
3 # Data manager for reference data for the MetaPhlAn Galaxy tools |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
4 import argparse |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
5 import json |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
6 import subprocess |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
7 from datetime import date |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
8 from pathlib import Path |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
9 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
10 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
11 # Utility functions for interacting with Galaxy JSON |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
12 def read_input_json(json_fp): |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
13 """Read the JSON supplied from the data manager tool |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
14 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
15 Returns a tuple (param_dict,extra_files_path) |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
16 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
17 'param_dict' is an arbitrary dictionary of parameters |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
18 input into the tool; 'extra_files_path' is the path |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
19 to a directory where output files must be put for the |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
20 receiving data manager to pick them up. |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
21 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
22 NB the directory pointed to by 'extra_files_path' |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
23 doesn't exist initially, it is the job of the script |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
24 to create it if necessary. |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
25 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
26 """ |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
27 with open(json_fp) as fh: |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
28 params = json.load(fh) |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
29 return (params['param_dict'], |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
30 Path(params['output_data'][0]['extra_files_path'])) |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
31 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
32 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
33 # Utility functions for creating data table dictionaries |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
34 # |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
35 # Example usage: |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
36 # >>> d = create_data_tables_dict() |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
37 # >>> add_data_table(d,'my_data') |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
38 # >>> add_data_table_entry(dict(dbkey='hg19',value='human')) |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
39 # >>> add_data_table_entry(dict(dbkey='mm9',value='mouse')) |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
40 # >>> print(json.dumps(d)) |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
41 def create_data_tables_dict(): |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
42 """Return a dictionary for storing data table information |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
43 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
44 Returns a dictionary that can be used with 'add_data_table' |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
45 and 'add_data_table_entry' to store information about a |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
46 data table. It can be converted to JSON to be sent back to |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
47 the data manager. |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
48 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
49 """ |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
50 d = { |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
51 'data_tables': {} |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
52 } |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
53 return d |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
54 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
55 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
56 def add_data_table(d, table): |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
57 """Add a data table to the data tables dictionary |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
58 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
59 Creates a placeholder for a data table called 'table'. |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
60 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
61 """ |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
62 d['data_tables'][table] = [] |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
63 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
64 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
65 def add_data_table_entry(d, table, entry): |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
66 """Add an entry to a data table |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
67 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
68 Appends an entry to the data table 'table'. 'entry' |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
69 should be a dictionary where the keys are the names of |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
70 columns in the data table. |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
71 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
72 Raises an exception if the named data table doesn't |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
73 exist. |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
74 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
75 """ |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
76 try: |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
77 d['data_tables'][table].append(entry) |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
78 except KeyError: |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
79 raise Exception("add_data_table_entry: no table '%s'" % table) |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
80 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
81 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
82 def download_metaphlan_db(data_tables, index, table_name, target_dp): |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
83 """Download MetaPhlAn database |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
84 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
85 Creates references to the specified file(s) on the Galaxy |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
86 server in the appropriate data table (determined from the |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
87 file extension). |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
88 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
89 The 'data_tables' dictionary should have been created using |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
90 the 'create_data_tables_dict' and 'add_data_table' functions. |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
91 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
92 Arguments: |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
93 data_tables: a dictionary containing the data table info |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
94 index: version |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
95 table_name: name of the table |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
96 target_dp: directory to put copy or link to the data file |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
97 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
98 """ |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
99 db_dp = target_dp / Path(index) |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
100 cmd = "metaphlan --install --index %s --bowtie2db %s" % (index, db_dp) |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
101 subprocess.check_call(cmd, shell=True) |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
102 add_data_table_entry( |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
103 data_tables, |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
104 table_name, |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
105 dict( |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
106 dbkey=index, |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
107 value='%s-%s' % (index, date.today().strftime("%d%m%Y")), |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
108 name="MetaPhlAn clade-specific marker genes (%s)" % index, |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
109 path=str(db_dp))) |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
110 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
111 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
112 if __name__ == "__main__": |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
113 print("Starting...") |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
114 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
115 # Read command line |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
116 parser = argparse.ArgumentParser(description='Download and build MetaPhlan database') |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
117 parser.add_argument('--index', help="Version of the database") |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
118 parser.add_argument('--json', help="Path to JSON file") |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
119 args = parser.parse_args() |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
120 print("args : %s" % args) |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
121 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
122 # Read the input JSON |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
123 json_fp = Path(args.json) |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
124 params, target_dp = read_input_json(json_fp) |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
125 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
126 # Make the target directory |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
127 print("Making %s" % target_dp) |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
128 target_dp.mkdir(parents=True, exist_ok=True) |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
129 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
130 # Set up data tables dictionary |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
131 data_tables = create_data_tables_dict() |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
132 add_data_table(data_tables, "metaphlan_database") |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
133 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
134 # Fetch data from specified data sources |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
135 print("Download and build database") |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
136 download_metaphlan_db( |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
137 data_tables, |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
138 args.index, |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
139 "metaphlan_database", |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
140 target_dp) |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
141 |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
142 # Write output JSON |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
143 print("Outputting JSON") |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
144 with open(json_fp, 'w') as fh: |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
145 json.dump(data_tables, fh, sort_keys=True) |
169b08c9713c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan_database_downloader commit 1e543a44ceffd8e4c5537b9015606ab3b90a114c"
iuc
parents:
diff
changeset
|
146 print("Done.") |