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
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
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.")