Mercurial > repos > sanbi-uwc > data_manager_novocraft_index_builder
changeset 14:d053e7b179b5 draft
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 2117346f2705cc3990219e5e99d7feb3f5828b9b
author | sanbi-uwc |
---|---|
date | Fri, 11 Mar 2016 06:22:15 -0500 |
parents | 7014d5b1a9f4 |
children | 8de1d311afb3 |
files | data_manager/novocraft_index_builder.py data_manager/novocraft_index_builder.xml |
diffstat | 2 files changed, 12 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/data_manager/novocraft_index_builder.py Tue Mar 08 05:47:18 2016 -0500 +++ b/data_manager/novocraft_index_builder.py Fri Mar 11 06:22:15 2016 -0500 @@ -30,21 +30,21 @@ sequence_name = dbkey return dbkey, sequence_id, sequence_name -def _make_novocraft_index(data_manager_dict, fasta_filename, target_directory, dbkey, sequence_id, sequence_name, data_table_name=DEFAULT_DATA_TABLE_NAME): +def _make_novocraft_index(data_manager_dict, fasta_filename, target_directory, dbkey, sequence_id, sequence_name, add_system_module, data_table_name=DEFAULT_DATA_TABLE_NAME): if os.path.exists(target_directory) and not os.path.isdir(target_directory): print("Output directory path already exists but is not a directory: {}".format(target_directory), file=sys.stderr) elif not os.path.exists(target_directory): os.mkdir(target_directory) - print(sequence_id) nix_file = sequence_id + ".nix" index_filename = os.path.join(target_directory, nix_file) cmdline_str = 'novoindex {} {}'.format(index_filename, fasta_filename) cmdline = shlex.split(cmdline_str) try: - print(cmdline) + if add_system_module == 'true': + check_call(['module add novoindex']) check_call(cmdline) except CalledProcessError: print("Error building RNA STAR index", file=sys.stderr) @@ -58,18 +58,18 @@ data_manager_dict['data_tables'][ data_table_name ].append( data_table_entry ) return data_manager_dict -def download_from_url( data_manager_dict, params, target_directory, dbkey, sequence_id, sequence_name, data_table_name=DEFAULT_DATA_TABLE_NAME ): +def download_from_url( data_manager_dict, params, target_directory, dbkey, sequence_id, sequence_name, add_system_module, data_table_name=DEFAULT_DATA_TABLE_NAME ): # TODO: we should automatically do decompression here urls = filter(bool, map(lambda x: x.strip(), params['param_dict']['reference_source']['user_url'].split('\n'))) fasta_reader = [urllib2.urlopen(url) for url in urls] - _make_novocraft_index(data_manager_dict, fasta_reader, target_directory, dbkey, sequence_id, sequence_name, data_table_name) + _make_novocraft_index(data_manager_dict, fasta_reader, target_directory, dbkey, sequence_id, sequence_name, data_table_name, add_system_module) -def download_from_history( data_manager_dict, params, target_directory, dbkey, sequence_id, sequence_name, data_table_name=DEFAULT_DATA_TABLE_NAME ): +def download_from_history( data_manager_dict, params, target_directory, dbkey, sequence_id, sequence_name, add_system_module, data_table_name=DEFAULT_DATA_TABLE_NAME ): # TODO: allow multiple FASTA input files input_filename = params['param_dict']['reference_source']['input_fasta'] - _make_novocraft_index(data_manager_dict, input_filename, target_directory, dbkey, sequence_id, sequence_name, data_table_name) + _make_novocraft_index(data_manager_dict, input_filename, target_directory, dbkey, sequence_id, sequence_name, add_system_module, data_table_name ) REFERENCE_SOURCE_TO_DOWNLOAD = dict(url=download_from_url, history=download_from_history) @@ -78,13 +78,14 @@ parser.add_argument('output_filename') parser.add_argument('--dbkey_description') parser.add_argument('--data_table_name', default='novocraft_index') + parser.add_argument('--add_system_module', default=False) args = parser.parse_args() filename = args.output_filename params = loads(open(filename).read()) target_directory = params['output_data'][0]['extra_files_path'] - #os.makedirs(target_directory) + os.makedirs(target_directory) data_manager_dict = {} dbkey, sequence_id, sequence_name = get_dbkey_id_name(params, dbkey_description=args.dbkey_description) @@ -94,7 +95,7 @@ # Fetch the FASTA REFERENCE_SOURCE_TO_DOWNLOAD[params['param_dict']['reference_source']['reference_source_selector']]\ - (data_manager_dict, params, target_directory, dbkey, sequence_id, sequence_name, data_table_name=args.data_table_name or DEFAULT_DATA_TABLE_NAME) + (data_manager_dict, params, target_directory, dbkey, sequence_id, sequence_name, args.add_system_module, data_table_name=args.data_table_name or DEFAULT_DATA_TABLE_NAME ) open(filename, 'wb').write(dumps( data_manager_dict ))
--- a/data_manager/novocraft_index_builder.xml Tue Mar 08 05:47:18 2016 -0500 +++ b/data_manager/novocraft_index_builder.xml Fri Mar 11 06:22:15 2016 -0500 @@ -6,7 +6,7 @@ <exit_code range="1:" /> </stdio> <command interpreter="python"> - novocraft_index_builder.py "${out_file}" --dbkey_description ${ dbkey.get_display_text() } --data_table_name "novocraft_index" + novocraft_index_builder.py "${out_file}" --dbkey_description ${ dbkey.get_display_text() } --data_table_name "novocraft_index" --add_system_module ${add_system_module} </command> <inputs> <param name="dbkey" type="genomebuild" label="DBKEY to assign to data" /> @@ -25,6 +25,7 @@ <param name="input_fasta" type="data" format="fasta" label="FASTA File" multiple="False" optional="False" /> </when> </conditional> + <param name="add_system_module" type="boolean" label="Add a Novo-align system Module" checked="true" truevalue="true" value="false" help="Add novoindex system module"/> </inputs> <outputs> <data name="out_file" format="data_manager_json" />