comparison bowtie_wrapper.py @ 1:867a8c8e870e draft

planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/bowtie_wrappers commit de7140295cce07e1bc1697e51dab4271c8d7a8a6
author devteam
date Fri, 18 Dec 2015 18:50:53 -0500
parents 4926b3e1e2fe
children ba29251df197
comparison
equal deleted inserted replaced
0:4926b3e1e2fe 1:867a8c8e870e
11 --output_unmapped_reads_l=: File name for unmapped reads (left, paired-end) 11 --output_unmapped_reads_l=: File name for unmapped reads (left, paired-end)
12 --output_unmapped_reads_r=: File name for unmapped reads (right, paired-end) 12 --output_unmapped_reads_r=: File name for unmapped reads (right, paired-end)
13 --output_suppressed_reads=: File name for suppressed reads because of max setting (single-end) 13 --output_suppressed_reads=: File name for suppressed reads because of max setting (single-end)
14 --output_suppressed_reads_l=: File name for suppressed reads because of max setting (left, paired-end) 14 --output_suppressed_reads_l=: File name for suppressed reads because of max setting (left, paired-end)
15 --output_suppressed_reads_r=: File name for suppressed reads because of max setting (right, paired-end) 15 --output_suppressed_reads_r=: File name for suppressed reads because of max setting (right, paired-end)
16 --output_mapping_stats=: File name for mapping statistics (output on stderr by bowtie)
16 -i, --input1=i: The (forward or single-end) reads file in Sanger FASTQ format 17 -i, --input1=i: The (forward or single-end) reads file in Sanger FASTQ format
17 -I, --input2=I: The reverse reads file in Sanger FASTQ format 18 -I, --input2=I: The reverse reads file in Sanger FASTQ format
18 -4, --dataType=4: The type of data (SOLiD or Solexa) 19 -4, --dataType=4: The type of data (SOLiD or Solexa)
19 -2, --paired=2: Whether the data is single- or paired-end 20 -2, --paired=2: Whether the data is single- or paired-end
20 -g, --genomeSource=g: The type of reference provided 21 -g, --genomeSource=g: The type of reference provided
84 parser.add_option( '', '--output_unmapped_reads_l', dest='output_unmapped_reads_l', help='File name for unmapped reads (left, paired-end)' ) 85 parser.add_option( '', '--output_unmapped_reads_l', dest='output_unmapped_reads_l', help='File name for unmapped reads (left, paired-end)' )
85 parser.add_option( '', '--output_unmapped_reads_r', dest='output_unmapped_reads_r', help='File name for unmapped reads (right, paired-end)' ) 86 parser.add_option( '', '--output_unmapped_reads_r', dest='output_unmapped_reads_r', help='File name for unmapped reads (right, paired-end)' )
86 parser.add_option( '', '--output_suppressed_reads', dest='output_suppressed_reads', help='File name for suppressed reads because of max setting (single-end)' ) 87 parser.add_option( '', '--output_suppressed_reads', dest='output_suppressed_reads', help='File name for suppressed reads because of max setting (single-end)' )
87 parser.add_option( '', '--output_suppressed_reads_l', dest='output_suppressed_reads_l', help='File name for suppressed reads because of max setting (left, paired-end)' ) 88 parser.add_option( '', '--output_suppressed_reads_l', dest='output_suppressed_reads_l', help='File name for suppressed reads because of max setting (left, paired-end)' )
88 parser.add_option( '', '--output_suppressed_reads_r', dest='output_suppressed_reads_r', help='File name for suppressed reads because of max setting (right, paired-end)' ) 89 parser.add_option( '', '--output_suppressed_reads_r', dest='output_suppressed_reads_r', help='File name for suppressed reads because of max setting (right, paired-end)' )
90 parser.add_option( '', '--output_mapping_stats', dest='output_mapping_stats', help='File for mapping statistics (i.e. stderr from bowtie)' )
89 parser.add_option( '-4', '--dataType', dest='dataType', help='The type of data (SOLiD or Solexa)' ) 91 parser.add_option( '-4', '--dataType', dest='dataType', help='The type of data (SOLiD or Solexa)' )
90 parser.add_option( '-i', '--input1', dest='input1', help='The (forward or single-end) reads file in Sanger FASTQ format' ) 92 parser.add_option( '-i', '--input1', dest='input1', help='The (forward or single-end) reads file in Sanger FASTQ format' )
91 parser.add_option( '-I', '--input2', dest='input2', help='The reverse reads file in Sanger FASTQ format' ) 93 parser.add_option( '-I', '--input2', dest='input2', help='The reverse reads file in Sanger FASTQ format' )
92 parser.add_option( '-2', '--paired', dest='paired', help='Whether the data is single- or paired-end' ) 94 parser.add_option( '-2', '--paired', dest='paired', help='Whether the data is single- or paired-end' )
93 parser.add_option( '-g', '--genomeSource', dest='genomeSource', help='The type of reference provided' ) 95 parser.add_option( '-g', '--genomeSource', dest='genomeSource', help='The type of reference provided' )
413 else: 415 else:
414 cmd2 = 'bowtie %s %s %s > %s' % ( aligning_cmds, ref_file_name, options.input1, options.output ) 416 cmd2 = 'bowtie %s %s %s > %s' % ( aligning_cmds, ref_file_name, options.input1, options.output )
415 # align 417 # align
416 tmp = tempfile.NamedTemporaryFile( dir=tmp_index_dir ).name 418 tmp = tempfile.NamedTemporaryFile( dir=tmp_index_dir ).name
417 tmp_stderr = open( tmp, 'wb' ) 419 tmp_stderr = open( tmp, 'wb' )
418 proc = subprocess.Popen( args=cmd2, shell=True, cwd=tmp_index_dir, stderr=tmp_stderr.fileno() ) 420 proc = subprocess.Popen( args=cmd2, shell=True, cwd=tmp_index_dir, stdout=sys.stdout, stderr=tmp_stderr.fileno() )
419 returncode = proc.wait() 421 returncode = proc.wait()
420 tmp_stderr.close() 422 tmp_stderr.close()
421 # get stderr, allowing for case where it's very large 423 # get stderr, allowing for case where it's very large
422 tmp_stderr = open( tmp, 'rb' ) 424 tmp_stderr = open( tmp, 'rb' )
423 stderr = '' 425 stderr = ''
430 except OverflowError: 432 except OverflowError:
431 pass 433 pass
432 tmp_stderr.close() 434 tmp_stderr.close()
433 if returncode != 0: 435 if returncode != 0:
434 raise Exception, stderr 436 raise Exception, stderr
437 elif options.output_mapping_stats is not None:
438 # Write stderr (containing the mapping statistics) to a named file
439 with open(options.output_mapping_stats, 'w') as mapping_stats:
440 mapping_stats.write( stderr )
435 # get suppressed and unmapped reads output files in place if appropriate 441 # get suppressed and unmapped reads output files in place if appropriate
436 if options.paired == 'paired' and tmp_suppressed_file_name and \ 442 if options.paired == 'paired' and tmp_suppressed_file_name and \
437 options.output_suppressed_reads_l and options.output_suppressed_reads_r: 443 options.output_suppressed_reads_l and options.output_suppressed_reads_r:
438 try: 444 try:
439 left = tmp_suppressed_file_name.replace( '.fastq', '_1.fastq' ) 445 left = tmp_suppressed_file_name.replace( '.fastq', '_1.fastq' )