Mercurial > repos > iuc > data_manager_homer_preparse
comparison data_manager/homer_install_promoters.py @ 1:d9c177013aba draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_homer_preparse commit 16a919905f336e34e237388c1921d0f4f8a368af
| author | iuc |
|---|---|
| date | Thu, 06 Apr 2023 16:20:54 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 0:e6a2110ac3b9 | 1:d9c177013aba |
|---|---|
| 1 #!/usr/bin/env python | |
| 2 | |
| 3 import json | |
| 4 import optparse | |
| 5 import shutil | |
| 6 | |
| 7 | |
| 8 def _add_data_table_entry(data_manager_dict, data_table_name, data_table_entry): | |
| 9 data_manager_dict['data_tables'] = data_manager_dict.get('data_tables', {}) | |
| 10 data_manager_dict['data_tables'][data_table_name] = data_manager_dict['data_tables'].get(data_table_name, []) | |
| 11 data_manager_dict['data_tables'][data_table_name].append(data_table_entry) | |
| 12 return data_manager_dict | |
| 13 | |
| 14 | |
| 15 def main(): | |
| 16 parser = optparse.OptionParser() | |
| 17 parser.add_option('-o', '--organism', dest='organism', action='store', type="string", default=None, help='organism') | |
| 18 parser.add_option('-n', '--data_table_name', dest='data_table_name', action='store', type="string", default=None, help='data_table_name') | |
| 19 parser.add_option('-d', '--DB_path', dest='DB_path', action='store', type="string", default=None, help='DB_path') | |
| 20 parser.add_option('--organism_version', dest='organism_version', action='store', type="string", default=None, help='organism_version') | |
| 21 parser.add_option('--promoter_version', dest='promoter_version', action='store', type="string", default=None, help='promoter_version') | |
| 22 (options, args) = parser.parse_args() | |
| 23 | |
| 24 # Get the target directory and move the data folder there | |
| 25 filename = args[0] | |
| 26 with open(filename) as fh: | |
| 27 params = json.load(fh) | |
| 28 | |
| 29 target_directory = params['output_data'][0]['extra_files_path'] | |
| 30 shutil.copytree(options.DB_path + '/data/accession', target_directory + '/accession') | |
| 31 shutil.copytree(options.DB_path + '/data/promoters', target_directory + '/promoters') | |
| 32 shutil.copyfile(options.DB_path + '/config.txt', target_directory + '/config.txt') | |
| 33 | |
| 34 dbkey = str(options.organism) + '_o' + str(options.organism_version) + '_p' + str(options.promoter_version) | |
| 35 data_manager_dict = {} | |
| 36 data_table_entry = dict(value=dbkey, dbkey=dbkey, organism=options.organism, path=options.DB_path, organism_version=options.organism_version, promoter_version=options.promoter_version) | |
| 37 _add_data_table_entry(data_manager_dict, options.data_table_name, data_table_entry) | |
| 38 | |
| 39 # Save info to json file | |
| 40 with open(filename, 'w') as fh: | |
| 41 json.dump(data_manager_dict, fh, sort_keys=True) | |
| 42 | |
| 43 | |
| 44 if __name__ == "__main__": | |
| 45 main() |
