| 0 | 1 #Dan Blankenberg | 
|  | 2 import sys | 
|  | 3 | 
|  | 4 def main(): | 
|  | 5     input_filename = sys.argv[1] | 
|  | 6     output_filename = sys.argv[2] | 
|  | 7     identifier_col = int( sys.argv[3] ) - 1 | 
|  | 8     sequence_col = int( sys.argv[4] ) - 1 | 
|  | 9     quality_col = int( sys.argv[5] ) - 1 | 
|  | 10 | 
|  | 11     max_col = max( identifier_col, sequence_col, quality_col ) | 
|  | 12     num_reads = None | 
|  | 13     fastq_read = None | 
|  | 14     skipped_lines = 0 | 
|  | 15     out = open( output_filename, 'wb' ) | 
|  | 16     for num_reads, line in enumerate( open( input_filename ) ): | 
|  | 17         fields = line.rstrip( '\n\r' ).split( '\t' ) | 
|  | 18         if len( fields ) > max_col: | 
|  | 19             out.write( "@%s\n%s\n+\n%s\n" % ( fields[identifier_col], fields[sequence_col], fields[quality_col] ) ) | 
|  | 20         else: | 
|  | 21             skipped_lines += 1 | 
|  | 22 | 
|  | 23     out.close() | 
|  | 24     if num_reads is None: | 
|  | 25         print "Input was empty." | 
|  | 26     else: | 
|  | 27         print "%i tabular lines were written as FASTQ reads. Be sure to use the FASTQ Groomer tool on this output before further analysis." % ( num_reads + 1 - skipped_lines ) | 
|  | 28 | 
|  | 29 if __name__ == "__main__": main() |