comparison data_manager/hisat2_index_builder.py @ 4:d210e1f185bd draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_hisat2_index_builder commit 8652f36a3a3838dca989426961561e81432acf4f
author iuc
date Tue, 04 Apr 2017 18:09:40 -0400
parents 98a60a4cfb9a
children 8eac26f44d29
comparison
equal deleted inserted replaced
3:98a60a4cfb9a 4:d210e1f185bd
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Based heavily on the Bowtie 2 data manager wrapper script by Dan Blankenberg 2 # Based heavily on the Bowtie 2 data manager wrapper script by Dan Blankenberg
3 from __future__ import print_function
3 4
5 import argparse
6 import os
4 import shlex 7 import shlex
8 import subprocess
5 import sys 9 import sys
6 import os 10 from json import dumps, loads
7 import argparse
8 import subprocess
9
10 from json import loads, dumps
11
12 11
13 DEFAULT_DATA_TABLE_NAME = "hisat2_indexes" 12 DEFAULT_DATA_TABLE_NAME = "hisat2_indexes"
14 13
15 14
16 def get_id_name( params, dbkey, fasta_description=None): 15 def get_id_name( params, dbkey, fasta_description=None):
39 args.extend( shlex.split( options.indexer_options ) ) 38 args.extend( shlex.split( options.indexer_options ) )
40 args.extend( [ sym_linked_fasta_filename, sequence_id ] ) 39 args.extend( [ sym_linked_fasta_filename, sequence_id ] )
41 proc = subprocess.Popen( args=args, shell=False, cwd=target_directory ) 40 proc = subprocess.Popen( args=args, shell=False, cwd=target_directory )
42 return_code = proc.wait() 41 return_code = proc.wait()
43 if return_code: 42 if return_code:
44 print >> sys.stderr, "Error building index." 43 print("Error building index.", file=sys.stderr)
45 sys.exit( return_code ) 44 sys.exit( return_code )
46 data_table_entry = dict( value=sequence_id, dbkey=options.fasta_dbkey, name=sequence_name, path=sequence_id ) 45 data_table_entry = dict( value=sequence_id, dbkey=options.fasta_dbkey, name=sequence_name, path=sequence_id )
47 _add_data_table_entry( data_manager_dict, data_table_name, data_table_entry ) 46 _add_data_table_entry( data_manager_dict, data_table_name, data_table_entry )
48 47
49 48
69 68
70 params = loads( open( filename ).read() ) 69 params = loads( open( filename ).read() )
71 data_manager_dict = {} 70 data_manager_dict = {}
72 71
73 if options.fasta_dbkey in [ None, '', '?' ]: 72 if options.fasta_dbkey in [ None, '', '?' ]:
74 raise Exception( '"%s" is not a valid dbkey. You must specify a valid dbkey.' % ( dbkey ) ) 73 raise Exception( '"%s" is not a valid dbkey. You must specify a valid dbkey.' % ( options.fasta_dbkey ) )
75 74
76 sequence_id, sequence_name = get_id_name( params, dbkey=options.fasta_dbkey, fasta_description=options.fasta_description ) 75 sequence_id, sequence_name = get_id_name( params, dbkey=options.fasta_dbkey, fasta_description=options.fasta_description )
77 76
78 # build the index 77 # build the index
79 build_hisat_index( data_manager_dict, options, params, sequence_id, sequence_name ) 78 build_hisat_index( data_manager_dict, options, params, sequence_id, sequence_name )
80 79
81 # save info to json file 80 # save info to json file
82 open( filename, 'wb' ).write( dumps( data_manager_dict ) ) 81 open( filename, 'w' ).write( dumps( data_manager_dict ) )
82
83 83
84 if __name__ == "__main__": 84 if __name__ == "__main__":
85 main() 85 main()