annotate data_manager/data_manager_sortmerna_download.py @ 1:30bb49887172 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_sortmerna_database_downloader commit 044a991b45c9135339daf138929887cd8e93a1bf
author rnateam
date Tue, 06 Jun 2017 13:40:27 -0400
parents 765f4ec851f0
children 7d2252852f96
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 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
144 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
145 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
146
765f4ec851f0 planemo 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 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
149 """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
150
765f4ec851f0 planemo 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 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
152 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
153 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
154
765f4ec851f0 planemo 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 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
156 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
157
765f4ec851f0 planemo 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 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
159 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
160 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
161 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
162 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
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 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
165 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
166
765f4ec851f0 planemo 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 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
168 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
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("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
171 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
172 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
173 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
174 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
175 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
176
765f4ec851f0 planemo 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 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
179 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
180
765f4ec851f0 planemo 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 # 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
182 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
183 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
184 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
185 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
186 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
187
765f4ec851f0 planemo 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 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
189
765f4ec851f0 planemo 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 # 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
191 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
192
765f4ec851f0 planemo 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 # 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
194 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
195 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
196 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
197 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
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 # 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
200 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
201 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
202
765f4ec851f0 planemo 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 # 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
204 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
205 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
206 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
207 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
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 # 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
210 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
211 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
212 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
213 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
214 print("Done.")