Mercurial > repos > rnateam > data_manager_sortmerna_database_downloader
annotate data_manager/data_manager_sortmerna_download.py @ 0:765f4ec851f0 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
author | rnateam |
---|---|
date | Wed, 31 May 2017 14:53:00 -0400 |
parents | |
children | 30bb49887172 |
rev | line source |
---|---|
0
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
1 #!/usr/bin/env python |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
2 # Data manager for reference data for the SortMeRNA Galaxy tools |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
3 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
4 import argparse |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
5 import json |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
6 import os |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
7 import tarfile |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
8 import requests |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
9 import subprocess |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
10 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
11 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
12 # Utility functions for interacting with Galaxy JSON |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
13 def read_input_json(jsonfile): |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
14 """Read the JSON supplied from the data manager tool |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
15 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
16 Returns a tuple (param_dict,extra_files_path) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
17 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
18 'param_dict' is an arbitrary dictionary of parameters |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
19 input into the tool; 'extra_files_path' is the path |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
20 to a directory where output files must be put for the |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
21 receiving data manager to pick them up. |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
22 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
23 NB the directory pointed to by 'extra_files_path' |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
24 doesn't exist initially, it is the job of the script |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
25 to create it if necessary. |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
26 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
27 """ |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
28 params = json.loads(open(jsonfile).read()) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
29 return (params['param_dict'], |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
30 params['output_data'][0]['extra_files_path']) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
31 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
32 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
33 # Utility functions for creating data table dictionaries |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
34 # |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
35 # Example usage: |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
36 # >>> d = create_data_tables_dict() |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
37 # >>> add_data_table(d,'my_data') |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
38 # >>> add_data_table_entry(dict(dbkey='hg19',value='human')) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
39 # >>> add_data_table_entry(dict(dbkey='mm9',value='mouse')) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
40 # >>> print str(json.dumps(d)) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
41 def create_data_tables_dict(): |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
42 """Return a dictionary for storing data table information |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
43 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
44 Returns a dictionary that can be used with 'add_data_table' |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
45 and 'add_data_table_entry' to store information about a |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
46 data table. It can be converted to JSON to be sent back to |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
47 the data manager. |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
48 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
49 """ |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
50 d = {} |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
51 d['data_tables'] = {} |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
52 return d |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
53 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
54 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
55 def add_data_table(d, table): |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
56 """Add a data table to the data tables dictionary |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
57 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
58 Creates a placeholder for a data table called 'table'. |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
59 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
60 """ |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
61 d['data_tables'][table] = [] |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
62 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
63 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
64 def add_data_table_entry(d, table, entry): |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
65 """Add an entry to a data table |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
66 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
67 Appends an entry to the data table 'table'. 'entry' |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
68 should be a dictionary where the keys are the names of |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
69 columns in the data table. |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
70 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
71 Raises an exception if the named data table doesn't |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
72 exist. |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
73 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
74 """ |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
75 try: |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
76 d['data_tables'][table].append(entry) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
77 except KeyError: |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
78 raise Exception("add_data_table_entry: no table '%s'" % table) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
79 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
80 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
81 def download_archive(version): |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
82 """ |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
83 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
84 """ |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
85 filepath = "%s.tar.gz" % (version) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
86 url = "https://github.com/biocore/sortmerna/archive/%s.tar.gz" % (version) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
87 r = requests.get(url, stream=True) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
88 r.raise_for_status() |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
89 with open(filepath, "wb") as fd: |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
90 for chunk in r.iter_content(chunk_size=128): |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
91 fd.write(chunk) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
92 return filepath |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
93 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
94 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
95 def find_archive_content_path(archive_content_path): |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
96 """ |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
97 """ |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
98 content = os.listdir(archive_content_path) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
99 archive_content = [] |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
100 for x in content: |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
101 if not x.startswith(".") and not x.startswith("_"): |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
102 archive_content.append(x) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
103 if len(archive_content) == 1: |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
104 archive_content_path = os.path.join( |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
105 archive_content_path, |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
106 archive_content[0]) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
107 return archive_content_path |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
108 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
109 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
110 def extract_archive(filepath): |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
111 """ |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
112 """ |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
113 archive_content_path = "tmp" |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
114 tar = tarfile.open(filepath) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
115 tar.extractall(path=archive_content_path) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
116 tar.close() |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
117 archive_content_path = find_archive_content_path(archive_content_path) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
118 return archive_content_path |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
119 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
120 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
121 def move_index_files(archive_content_path, target_dir, data_tables, version): |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
122 """ |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
123 """ |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
124 file_dir = os.path.join(archive_content_path, "rRNA_databases") |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
125 for filename in os.listdir(file_dir): |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
126 if not filename.endswith("fasta"): |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
127 continue |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
128 input_filepath = os.path.join(file_dir, filename) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
129 output_filepath = os.path.join(target_dir, filename) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
130 # Move file |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
131 os.rename(input_filepath, output_filepath) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
132 # Index the file with indexdb_rna |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
133 command = "indexdb_rna --ref %s,%s" % ( |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
134 output_filepath, |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
135 os.path.splitext(output_filepath)[0]) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
136 process = subprocess.call(command, shell=True ) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
137 # Add entry in the data table |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
138 db_name = os.path.splitext(filename)[0] |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
139 add_data_table_entry( |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
140 data_tables, |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
141 "rRNA_databases", |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
142 dict( |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
143 dbkey=db_name, |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
144 value=version, |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
145 name=db_name, |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
146 path=output_filepath)) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
147 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
148 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
149 def download_db(data_tables, version, target_dir): |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
150 """Download SortMeRNA database |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
151 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
152 Creates references to the specified file(s) on the Galaxy |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
153 server in the appropriate data table (determined from the |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
154 file extension). |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
155 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
156 The 'data_tables' dictionary should have been created using |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
157 the 'create_data_tables_dict' and 'add_data_table' functions. |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
158 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
159 Arguments: |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
160 data_tables: a dictionary containing the data table info |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
161 version: version of the database |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
162 table_name: name of the table |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
163 target_dir: directory to put copy or link to the data file |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
164 """ |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
165 print("Download archive") |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
166 filepath = download_archive(version) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
167 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
168 print("Extract archive %s" % filepath) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
169 archive_content_path = extract_archive(filepath) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
170 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
171 print("Moving fasta file from %s and index them" % archive_content_path) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
172 move_index_files( |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
173 archive_content_path, |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
174 target_dir, |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
175 data_tables, |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
176 version) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
177 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
178 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
179 if __name__ == "__main__": |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
180 print("Starting...") |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
181 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
182 # Read command line |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
183 parser = argparse.ArgumentParser( |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
184 description='Download QIIME reference database') |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
185 parser.add_argument('--version', help="Database version") |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
186 parser.add_argument('--jsonfile', help="Output JSON file") |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
187 args = parser.parse_args() |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
188 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
189 jsonfile = args.jsonfile |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
190 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
191 # Read the input JSON |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
192 params, target_dir = read_input_json(jsonfile) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
193 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
194 # Make the target directory |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
195 print("Making %s" % target_dir) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
196 os.mkdir(target_dir) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
197 os.mkdir(os.path.join(target_dir, "rRNA_databases")) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
198 target_dir = os.path.join(target_dir, "rRNA_databases") |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
199 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
200 # Set up data tables dictionary |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
201 data_tables = create_data_tables_dict() |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
202 add_data_table(data_tables, "rRNA_databases") |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
203 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
204 # Fetch data from specified data sources |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
205 download_db( |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
206 data_tables, |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
207 args.version, |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
208 target_dir) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
209 |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
210 # Write output JSON |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
211 print("Outputting JSON") |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
212 print(str(json.dumps(data_tables))) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
213 with open(jsonfile, 'w') as out: |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
214 json.dump(data_tables, out) |
765f4ec851f0
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 65d322f9ab2f24d65b307f3553589149a1d678d5
rnateam
parents:
diff
changeset
|
215 print("Done.") |