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