Mercurial > repos > sanbi-uwc > data_manager_novoalign_index_builder
comparison data_manager/novoalign_index_builder.py @ 3:b63a406719c5 draft
planemo upload for repository https://github.com/zipho/data_manager_novoalign_index_builder commit 91d41d6ac8f81ef614491ed45e129d08b6471545
author | sanbi-uwc |
---|---|
date | Fri, 04 Mar 2016 02:47:10 -0500 |
parents | e51fb8188ed9 |
children |
comparison
equal
deleted
inserted
replaced
2:e51fb8188ed9 | 3:b63a406719c5 |
---|---|
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Z. Mashologu (SANBI-UWC) | 2 # Z. Mashologu (SANBI-UWC) |
3 # import dict as dict | 3 # import dict as dict |
4 from __future__ import print_function | |
4 import os | 5 import os |
5 import sys | 6 import sys |
6 import urllib2 | 7 import urllib2 |
7 import logging | 8 import logging |
8 import argparse | 9 import argparse |
9 import shlex | 10 import shlex |
10 from subprocess import check_call, CalledProcessError | 11 from subprocess import check_call, CalledProcessError |
11 from __future__ import print_function | |
12 | 12 |
13 log = logging.getLogger(__name__) | 13 log = logging.getLogger(__name__) |
14 | 14 |
15 from json import loads, dumps | 15 from json import loads, dumps |
16 | 16 |
39 if 'GALAXY_SLOTS' in os.environ: | 39 if 'GALAXY_SLOTS' in os.environ: |
40 nslots = os.environ['GALAXY_SLOTS'] | 40 nslots = os.environ['GALAXY_SLOTS'] |
41 else: | 41 else: |
42 nslots = 1 | 42 nslots = 1 |
43 | 43 |
44 cmdline_str = 'STAR --runMode genomeGenerate --genomeDir {} --genomeFastaFiles {} --runThreadN {}'.format( | 44 #cmdline_str = 'STAR --runMode genomeGenerate --genomeDir {} --genomeFastaFiles {} --runThreadN {}'.format( |
45 target_directory, | 45 # target_directory, |
46 fasta_filename, | 46 # fasta_filename, |
47 nslots) | 47 # nslots) |
48 cmdline = shlex.split(cmdline_str) | 48 #cmdline = shlex.split(cmdline_str) |
49 cmdline = ('touch', '{}/foo.nix'.format(target_directory)) | |
49 try: | 50 try: |
50 check_call(cmdline) | 51 check_call(cmdline) |
51 except CalledProcessError: | 52 except CalledProcessError: |
52 print("Error building RNA STAR index", file=sys.stderr) | 53 print("Error building RNA STAR index", file=sys.stderr) |
53 return (target_directory) | 54 return (target_directory) |
70 REFERENCE_SOURCE_TO_DOWNLOAD = dict(url=download_from_url, history=download_from_history) | 71 REFERENCE_SOURCE_TO_DOWNLOAD = dict(url=download_from_url, history=download_from_history) |
71 | 72 |
72 def main(): | 73 def main(): |
73 parser = argparse.ArgumentParser(description="Generate Novo-align genome index and JSON describing this") | 74 parser = argparse.ArgumentParser(description="Generate Novo-align genome index and JSON describing this") |
74 parser.add_argument('output_filename') | 75 parser.add_argument('output_filename') |
76 parser.add_argument('--dbkey_description') | |
75 parser.add_argument('--data_table_name', default='novocraft_index') | 77 parser.add_argument('--data_table_name', default='novocraft_index') |
76 (options, args) = parser.parse_args() | 78 args = parser.parse_args() |
77 | 79 |
78 filename = args.output_filename | 80 filename = args.output_filename |
79 | 81 |
80 params = loads(open(filename).read()) | 82 params = loads(open(filename).read()) |
81 target_directory = params['output_data'][0]['extra_files_path'] | 83 target_directory = params['output_data'][0]['extra_files_path'] |
82 os.mkdir(target_directory) | 84 os.makedirs(target_directory) |
83 | 85 |
84 dbkey, sequence_id, sequence_name = get_dbkey_id_name(params, dbkey_description=options.dbkey_description) | 86 dbkey, sequence_id, sequence_name = get_dbkey_id_name(params, dbkey_description=args.dbkey_description) |
85 if dbkey in [None, '', '?']: | 87 if dbkey in [None, '', '?']: |
86 raise Exception('"%s" is not a valid dbkey. You must specify a valid dbkey.' % (dbkey)) | 88 raise Exception('"%s" is not a valid dbkey. You must specify a valid dbkey.' % (dbkey)) |
87 | 89 |
88 # Fetch the FASTA | 90 # Fetch the FASTA |
89 REFERENCE_SOURCE_TO_DOWNLOAD[params['param_dict']['reference_source']['reference_source_selector']]\ | 91 REFERENCE_SOURCE_TO_DOWNLOAD[params['param_dict']['reference_source']['reference_source_selector']]\ |
90 (params, target_directory, dbkey, sequence_id, sequence_name) | 92 (params, target_directory) |
91 | 93 |
92 data_table_entry = dict(value=sequence_id, dbkey=dbkey, name=sequence_name, path=target_directory) | 94 data_table_entry = dict(value=sequence_id, dbkey=dbkey, name=sequence_name, path=target_directory) |
93 | 95 |
94 output_datatable_dict = dict(data_tables={args.data_table_name: [data_table_entry]}) | 96 output_datatable_dict = dict(data_tables={args.data_table_name: [data_table_entry]}) |
95 open(filename, 'wb').write(dumps(output_datatable_dict)) | 97 open(filename, 'wb').write(dumps(output_datatable_dict)) |