Mercurial > repos > iuc > data_manager_gemini_database_downloader
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 |
rev | line source |
---|---|
0 | 1 #!/usr/bin/env python |
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 | 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 | 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 | 11 |
12 def main(): | |
13 today = datetime.date.today() | |
14 params = json.loads( open( sys.argv[1] ).read() ) | |
15 target_directory = params[ 'output_data' ][0]['extra_files_path'] | |
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 | 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 | 59 with open( sys.argv[1], 'wb' ) as out: |
60 out.write( json.dumps( data_manager_dict ) ) | |
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 | 63 if __name__ == "__main__": |
64 main() |