Mercurial > repos > fubar > data_manager_rnasta
diff data_manager/rnastar_index_builder.py @ 2:8a2d16bfdae2 draft
Uploaded
author | fubar |
---|---|
date | Fri, 03 Oct 2014 21:59:39 -0400 |
parents | ebadd2c92958 |
children | 102bdfdda10b |
line wrap: on
line diff
--- a/data_manager/rnastar_index_builder.py Mon Sep 29 20:47:45 2014 -0400 +++ b/data_manager/rnastar_index_builder.py Fri Oct 03 21:59:39 2014 -0400 @@ -9,7 +9,7 @@ import optparse import subprocess -from galaxy.util.json import from_json_string, to_json_string +from json import loads, dumps DEFAULT_DATA_TABLE_NAME = "rnastar_indexes" @@ -44,20 +44,11 @@ --sjdbGTFfile %(sjdbGTFfile)s --sjdbGTFtagExonParentTranscript %(sjdbGTFtagExonParentTranscript)s''' % pdict elif sjdbFileChrStartEnd: cl += '--sjdbFileChrStartEnd %(sjdbFileChrStartEnd)s --sjdbOverhang %(sjdbOverhangs)s' % pdict - tmp_stderr = tempfile.NamedTemporaryFile( prefix = "tmp-data-manager-rnastar-index-builder-stderr" ) args = cl.split(' ') - proc = subprocess.Popen( args=args, shell=False, cwd=target_directory, stderr=tmp_stderr.fileno() ) + proc = subprocess.Popen( args=args, shell=False, cwd=target_directory ) return_code = proc.wait() if return_code: - tmp_stderr.flush() - tmp_stderr.seek(0) - print >> sys.stderr, "Error building index: retcode=",retcode - while True: - chunk = tmp_stderr.read( CHUNK_SIZE ) - if not chunk: - break - sys.stderr.write( chunk ) - tmp_stderr.close() + sys.exit( return_code ) data_table_entry = dict( value=sequence_id, dbkey=dbkey, name=sequence_name, path=fasta_base_name ) _add_data_table_entry( data_manager_dict, data_table_name, data_table_entry ) @@ -86,9 +77,9 @@ (options, args) = parser.parse_args() filename = options.out_file - params = from_json_string( open( filename ).read() ) + params = loads( open( filename ).read() ) target_directory = options.out_index_path - os.mkdir( target_directory ) + os.mkdirs( target_directory ) data_manager_dict = {} dbkey = options.fasta_dbkey @@ -107,6 +98,6 @@ #save info to json file - open( filename, 'wb' ).write( to_json_string( data_manager_dict ) ) + open( filename, 'wb' ).write( dumps( data_manager_dict ) ) if __name__ == "__main__": main()