annotate data_manager/data_manager_metaphlan2_download.py @ 0:9c4ad82be5bd draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan2_database_downloader commit 345fb7ef485456ae833be5ad2d2ce4f8765652c8
author iuc
date Sat, 04 Mar 2017 12:11:20 -0500
parents
children 83f07f40b200
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 """
9c4ad82be5bd planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan2_database_downloader commit 345fb7ef485456ae833be5ad2d2ce4f8765652c8
iuc
parents:
diff changeset
27 params = json.loads(open(jsonfile).read())
9c4ad82be5bd planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan2_database_downloader commit 345fb7ef485456ae833be5ad2d2ce4f8765652c8
iuc
parents:
diff changeset
28 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
29 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
30
9c4ad82be5bd planemo 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 # 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
33 #
9c4ad82be5bd planemo 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 # 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
35 # >>> 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
36 # >>> 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
37 # >>> 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
38 # >>> add_data_table_entry(dict(dbkey='mm9',value='mouse'))
9c4ad82be5bd planemo 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 # >>> print str(json.dumps(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
40 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
41 """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
42
9c4ad82be5bd planemo 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 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
44 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
45 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
46 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
47
9c4ad82be5bd planemo 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 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
50 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
51 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
52
9c4ad82be5bd planemo 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 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
55 """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
56
9c4ad82be5bd planemo 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 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
58
9c4ad82be5bd planemo 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 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
61
9c4ad82be5bd planemo 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 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
64 """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
65
9c4ad82be5bd planemo 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 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
67 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
68 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
69
9c4ad82be5bd planemo 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 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
71 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
72
9c4ad82be5bd planemo 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 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
75 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
76 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
77 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
78
9c4ad82be5bd planemo 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 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
81 """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
82
9c4ad82be5bd planemo 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 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
84 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
85 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
86
9c4ad82be5bd planemo 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 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
88 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
89
9c4ad82be5bd planemo 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 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
91 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
92 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
93 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
94
9c4ad82be5bd planemo 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 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
97 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
98 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
99 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
100 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
101 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
102 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
103 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
104 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
105 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
106 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
107 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
108
9c4ad82be5bd planemo 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 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
111 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
112
9c4ad82be5bd planemo 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 # 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
114 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
115 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
116 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
117 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
118
9c4ad82be5bd planemo 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 # 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
120 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
121 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
122 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
123
9c4ad82be5bd planemo 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 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
125
9c4ad82be5bd planemo 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 # 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
127 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
128
9c4ad82be5bd planemo 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 # 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
130 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
131 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
132
9c4ad82be5bd planemo 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 # 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
134 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
135 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
136
9c4ad82be5bd planemo 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 # 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
138 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
139 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
140 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
141 "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
142 "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
143 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
144
9c4ad82be5bd planemo 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 # 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
146 print("Outputting 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(str(json.dumps(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
148 with open(jsonfile, 'wb') as out:
9c4ad82be5bd planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_metaphlan2_database_downloader commit 345fb7ef485456ae833be5ad2d2ce4f8765652c8
iuc
parents:
diff changeset
149 out.write(json.dumps(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
150 print("Done.")