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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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.")