Mercurial > repos > iuc > data_manager_metaphlan2_database_downloader
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 |
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.") |