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))