annotate data_manager/data_manager_gemini_download.py @ 4:fe5a9a7d95b0 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
author iuc
date Fri, 14 Dec 2018 12:40:15 -0500
parents 172815da3d41
children b4b2b284230a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
fd9e9ac5ecb3 Imported from capsule None
iuc
parents:
diff changeset
1 #!/usr/bin/env python
fd9e9ac5ecb3 Imported from capsule None
iuc
parents:
diff changeset
2
3
172815da3d41 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 8652f36a3a3838dca989426961561e81432acf4f
iuc
parents: 2
diff changeset
3 import datetime
0
fd9e9ac5ecb3 Imported from capsule None
iuc
parents:
diff changeset
4 import json
3
172815da3d41 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 8652f36a3a3838dca989426961561e81432acf4f
iuc
parents: 2
diff changeset
5 import os
0
fd9e9ac5ecb3 Imported from capsule None
iuc
parents:
diff changeset
6 import subprocess
3
172815da3d41 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 8652f36a3a3838dca989426961561e81432acf4f
iuc
parents: 2
diff changeset
7 import sys
172815da3d41 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 8652f36a3a3838dca989426961561e81432acf4f
iuc
parents: 2
diff changeset
8
4
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
9 import yaml
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
10
0
fd9e9ac5ecb3 Imported from capsule None
iuc
parents:
diff changeset
11
fd9e9ac5ecb3 Imported from capsule None
iuc
parents:
diff changeset
12 def main():
fd9e9ac5ecb3 Imported from capsule None
iuc
parents:
diff changeset
13 today = datetime.date.today()
fd9e9ac5ecb3 Imported from capsule None
iuc
parents:
diff changeset
14 params = json.loads( open( sys.argv[1] ).read() )
fd9e9ac5ecb3 Imported from capsule None
iuc
parents:
diff changeset
15 target_directory = params[ 'output_data' ][0]['extra_files_path']
fd9e9ac5ecb3 Imported from capsule None
iuc
parents:
diff changeset
16 os.mkdir( target_directory )
4
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
17 # The target_directory needs to be specified twice for the following
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
18 # invocation of gemini.
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
19 # In essence, the GEMINI_CONFIG environment variable makes gemini store
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
20 # its yaml configuration file in that directory, while the
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
21 # --annotation-dir argument makes it write the same path into the yaml
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
22 # file, which is then used for determining where the actual annotation
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
23 # files should be stored.
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
24 gemini_env = os.environ.copy()
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
25 gemini_env['GEMINI_CONFIG'] = target_directory
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
26 cmd = "gemini --annotation-dir %s update --dataonly %s %s" % (
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
27 target_directory,
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
28 params['param_dict']['gerp_bp'],
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
29 params['param_dict']['cadd']
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
30 )
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
31 subprocess.check_call( cmd, shell=True, env=gemini_env )
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
32
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
33 # modify the newly created gemini config file to contain a relative
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
34 # annotation dir path, which will be interpreted as relative to
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
35 # the job working directory at runtime by any gemini tool
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
36 config_file = os.path.join(target_directory, 'gemini-config.yaml')
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
37 with open(config_file) as fi:
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
38 config = yaml.load(fi)
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
39 config['annotation_dir'] = 'gemini/data'
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
40 with open(config_file, 'w') as fo:
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
41 yaml.dump(config, fo, allow_unicode=False, default_flow_style=False)
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
42
2
345412d58d75 planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_gemini_database_downloader commit 4bbfca6f0e9cae9a8f263aad4eab7304c96358c4
iuc
parents: 0
diff changeset
43 data_manager_dict = {
3
172815da3d41 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 8652f36a3a3838dca989426961561e81432acf4f
iuc
parents: 2
diff changeset
44 'data_tables': {
4
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
45 'gemini_versioned_databases': [
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
46 {
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
47 'value': today.isoformat(),
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
48 'dbkey': 'hg19',
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
49 'version': params['param_dict']['gemini_db_version'],
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
50 'name':
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
51 'GEMINI annotations (%s snapshot)' % today.isoformat(),
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
52 'path': './%s' % today.isoformat()
fe5a9a7d95b0 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 283362494058ed64143b1f27afb447b8a1cb4313
iuc
parents: 3
diff changeset
53 }
3
172815da3d41 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 8652f36a3a3838dca989426961561e81432acf4f
iuc
parents: 2
diff changeset
54 ]
172815da3d41 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 8652f36a3a3838dca989426961561e81432acf4f
iuc
parents: 2
diff changeset
55 }
172815da3d41 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 8652f36a3a3838dca989426961561e81432acf4f
iuc
parents: 2
diff changeset
56 }
0
fd9e9ac5ecb3 Imported from capsule None
iuc
parents:
diff changeset
57
3
172815da3d41 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 8652f36a3a3838dca989426961561e81432acf4f
iuc
parents: 2
diff changeset
58 # save info to json file
0
fd9e9ac5ecb3 Imported from capsule None
iuc
parents:
diff changeset
59 with open( sys.argv[1], 'wb' ) as out:
fd9e9ac5ecb3 Imported from capsule None
iuc
parents:
diff changeset
60 out.write( json.dumps( data_manager_dict ) )
fd9e9ac5ecb3 Imported from capsule None
iuc
parents:
diff changeset
61
3
172815da3d41 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_gemini_database_downloader commit 8652f36a3a3838dca989426961561e81432acf4f
iuc
parents: 2
diff changeset
62
0
fd9e9ac5ecb3 Imported from capsule None
iuc
parents:
diff changeset
63 if __name__ == "__main__":
fd9e9ac5ecb3 Imported from capsule None
iuc
parents:
diff changeset
64 main()