Mercurial > repos > rnateam > data_manager_sortmerna_database_downloader
annotate data_manager/data_manager_sortmerna_download.py @ 2:7d2252852f96 draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 4241c1d4b05a177bd2c74f5a139f51d4f65e0b55
author | rnateam |
---|---|
date | Tue, 13 Jun 2017 12:03:08 -0400 |
parents | 30bb49887172 |
children |
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 |
2
7d2252852f96
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 4241c1d4b05a177bd2c74f5a139f51d4f65e0b55
rnateam
parents:
1
diff
changeset
|
7 import shutil |
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
|
8 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
|
9 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
|
10 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
|
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 |
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 # 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
|
14 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
|
15 """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
|
16 |
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 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
|
18 |
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 '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
|
20 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
|
21 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
|
22 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
|
23 |
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 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
|
25 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
|
26 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
|
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 """ |
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 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
|
30 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
|
31 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
|
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 |
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 # 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
|
35 # |
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 # 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
|
37 # >>> 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
|
38 # >>> 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
|
39 # >>> 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
|
40 # >>> 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
|
41 # >>> 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
|
42 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
|
43 """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
|
44 |
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 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
|
46 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
|
47 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
|
48 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
|
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 """ |
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 = {} |
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 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
|
53 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
|
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 |
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 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
|
57 """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
|
58 |
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 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
|
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 """ |
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 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
|
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 |
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 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
|
66 """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
|
67 |
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 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
|
69 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
|
70 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
|
71 |
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 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
|
73 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
|
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 """ |
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 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
|
77 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
|
78 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
|
79 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
|
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 |
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 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
|
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 """ |
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 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
|
87 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
|
88 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
|
89 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
|
90 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
|
91 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
|
92 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
|
93 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
|
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 |
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 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
|
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 """ |
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 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
|
100 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
|
101 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
|
102 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
|
103 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
|
104 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
|
105 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
|
106 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
|
107 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
|
108 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
|
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 |
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 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
|
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 """ |
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 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
|
115 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
|
116 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
|
117 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
|
118 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
|
119 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
|
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 |
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 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
|
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 """ |
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 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
|
126 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
|
127 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
|
128 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
|
129 input_filepath = os.path.join(file_dir, filename) |
2
7d2252852f96
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 4241c1d4b05a177bd2c74f5a139f51d4f65e0b55
rnateam
parents:
1
diff
changeset
|
130 # Extract the db name |
7d2252852f96
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 4241c1d4b05a177bd2c74f5a139f51d4f65e0b55
rnateam
parents:
1
diff
changeset
|
131 db_name = os.path.splitext(filename)[0] |
7d2252852f96
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 4241c1d4b05a177bd2c74f5a139f51d4f65e0b55
rnateam
parents:
1
diff
changeset
|
132 # Create the directory where to put the fasta files and indexed files |
7d2252852f96
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 4241c1d4b05a177bd2c74f5a139f51d4f65e0b55
rnateam
parents:
1
diff
changeset
|
133 filedir = os.path.join(target_dir, db_name) |
7d2252852f96
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 4241c1d4b05a177bd2c74f5a139f51d4f65e0b55
rnateam
parents:
1
diff
changeset
|
134 os.mkdir(filedir) |
7d2252852f96
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 4241c1d4b05a177bd2c74f5a139f51d4f65e0b55
rnateam
parents:
1
diff
changeset
|
135 fasta_filepath = os.path.join(filedir, "%s.fasta" % db_name) |
7d2252852f96
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 4241c1d4b05a177bd2c74f5a139f51d4f65e0b55
rnateam
parents:
1
diff
changeset
|
136 indexed_filepath = os.path.join(filedir, db_name) |
7d2252852f96
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 4241c1d4b05a177bd2c74f5a139f51d4f65e0b55
rnateam
parents:
1
diff
changeset
|
137 # Move the fasta file |
7d2252852f96
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 4241c1d4b05a177bd2c74f5a139f51d4f65e0b55
rnateam
parents:
1
diff
changeset
|
138 shutil.move(input_filepath, fasta_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
|
139 # 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
|
140 command = "indexdb_rna --ref %s,%s" % ( |
2
7d2252852f96
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 4241c1d4b05a177bd2c74f5a139f51d4f65e0b55
rnateam
parents:
1
diff
changeset
|
141 fasta_filepath, |
7d2252852f96
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 4241c1d4b05a177bd2c74f5a139f51d4f65e0b55
rnateam
parents:
1
diff
changeset
|
142 indexed_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
|
143 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
|
144 # 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
|
145 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
|
146 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
|
147 "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
|
148 dict( |
2
7d2252852f96
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 4241c1d4b05a177bd2c74f5a139f51d4f65e0b55
rnateam
parents:
1
diff
changeset
|
149 value="%s-%s" %(version, db_name), |
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
|
150 name=db_name, |
2
7d2252852f96
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 4241c1d4b05a177bd2c74f5a139f51d4f65e0b55
rnateam
parents:
1
diff
changeset
|
151 path=filedir)) |
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
|
152 |
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 |
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 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
|
155 """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
|
156 |
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 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
|
158 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
|
159 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
|
160 |
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 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
|
162 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
|
163 |
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 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
|
165 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
|
166 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
|
167 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
|
168 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
|
169 """ |
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 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
|
171 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
|
172 |
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 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
|
174 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
|
175 |
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 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
|
177 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
|
178 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
|
179 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
|
180 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
|
181 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
|
182 |
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 |
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 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
|
185 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
|
186 |
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 # 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
|
188 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
|
189 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
|
190 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
|
191 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
|
192 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
|
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 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
|
195 |
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 # 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
|
197 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
|
198 |
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 # 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
|
200 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
|
201 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
|
202 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
|
203 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
|
204 |
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 # 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
|
206 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
|
207 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
|
208 |
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 # 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
|
210 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
|
211 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
|
212 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
|
213 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
|
214 |
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 # 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
|
216 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
|
217 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
|
218 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
|
219 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
|
220 print("Done.") |