[galaxy-dev] [hg] galaxy 2906: Updated solid_to_fastq so that -1 qualities ar...

Greg Von Kuster greg at bx.psu.edu
Tue Oct 27 21:54:32 EDT 2009


details:   http://www.bx.psu.edu/hg/galaxy/rev/e6d01a8256bc
changeset: 2906:e6d01a8256bc
user:      Kelly Vincent <kpvincent at bx.psu.edu>
date:      Wed Oct 21 16:04:24 2009 -0400
description:
Updated solid_to_fastq so that -1 qualities are converted to 1 before conversion to FASTQ.

3 file(s) affected in this change:

tools/next_gen_conversion/bwa_solid2fastq_modified.pl
tools/next_gen_conversion/solid_to_fastq.py
tools/next_gen_conversion/solid_to_fastq.xml

diffs (78 lines):

diff -r 8a619f8e2fb6 -r e6d01a8256bc tools/next_gen_conversion/bwa_solid2fastq_modified.pl
--- a/tools/next_gen_conversion/bwa_solid2fastq_modified.pl	Wed Oct 21 15:45:01 2009 -0400
+++ b/tools/next_gen_conversion/bwa_solid2fastq_modified.pl	Wed Oct 21 16:04:24 2009 -0400
@@ -73,7 +73,7 @@
 	if (/^>(\d+)_(\d+)_(\d+)_[FR]3/) {
 	  $key = sprintf("%.4d_%.4d_%.4d", $1, $2, $3); # this line could be improved on 64-bit machines
 	  #print $key;
-	  die(qq/** unmatched read name: '$_' != '$_'\n/) unless ($_ eq $t);
+	  die(qq/** unmatched read name: '$_' != '$t'\n/) unless ($_ eq $t);
 	  my $name = "$1_$2_$3/$i";
 	  $_ = substr(<$fhs>, 2);
 	  tr/0123./ACGTN/;
diff -r 8a619f8e2fb6 -r e6d01a8256bc tools/next_gen_conversion/solid_to_fastq.py
--- a/tools/next_gen_conversion/solid_to_fastq.py	Wed Oct 21 15:45:01 2009 -0400
+++ b/tools/next_gen_conversion/solid_to_fastq.py	Wed Oct 21 16:04:24 2009 -0400
@@ -22,15 +22,29 @@
 def stop_err( msg ):
     sys.stderr.write( "%s\n" % msg )
     sys.exit()
+    
+def replaceNeg1(fin, fout):
+    line = fin.readline()
+    while line.strip():
+        fout.write(line.replace('-1', '1'))
+        line = fin.readline()
+    fout.seek(0)
+    return fout
  
 def __main__():
     #Parse Command Line
     options, args = doc_optparse.parse( __doc__ )
+    # common temp file setup
+    tmpf = tempfile.NamedTemporaryFile()    #forward reads
+    tmpqf = tempfile.NamedTemporaryFile()
+    tmpqf = replaceNeg1(file(options.input2,'r'), tmpqf)
     # if paired-end data (have reverse input files)
-    tmpf = tempfile.NamedTemporaryFile()    #forward reads
     if options.input3 != "None" and options.input4 != "None":
         tmpr = tempfile.NamedTemporaryFile()    #reverse reads
-        cmd1 = "%s/bwa_solid2fastq_modified.pl 'yes' %s %s %s %s %s %s 2>&1" %(os.path.split(sys.argv[0])[0], tmpf.name,tmpr.name,options.input1,options.input2,options.input3,options.input4)
+        # replace the -1 in the qualities file 
+        tmpqr = tempfile.NamedTemporaryFile()
+        tmpqr = replaceNeg1(file(options.input4,'r'), tmpqr)
+        cmd1 = "%s/bwa_solid2fastq_modified.pl 'yes' %s %s %s %s %s %s 2>&1" %(os.path.split(sys.argv[0])[0], tmpf.name, tmpr.name, options.input1, tmpqf.name, options.input3, tmpqr.name)
         try:
             os.system(cmd1)
             os.system('gunzip -c %s >> %s' %(tmpf.name,options.output1))
@@ -38,14 +52,17 @@
         except Exception, eq:
             stop_err("Error converting data to fastq format.\n" + str(eq))
         tmpr.close()
+        tmpqr.close()
     # if single-end data
     else:
-        cmd1 = "%s/bwa_solid2fastq_modified.pl 'no' %s %s %s %s %s %s 2>&1" % (os.path.split(sys.argv[0])[0], tmpf.name, None, options.input1, options.input2, None, None)
+        cmd1 = "%s/bwa_solid2fastq_modified.pl 'no' %s %s %s %s %s %s 2>&1" % (os.path.split(sys.argv[0])[0], tmpf.name, None, options.input1, tmpqf.name, None, None)
         try:
             os.system(cmd1)
             os.system('gunzip -c %s >> %s' % (tmpf.name, options.output1))
         except Exception, eq:
             stop_err("Error converting data to fastq format.\n" + str(eq))
+    tmpqf.close()
     tmpf.close()
+    sys.stdout.write('converted SOLiD data')
 
 if __name__=="__main__": __main__()
diff -r 8a619f8e2fb6 -r e6d01a8256bc tools/next_gen_conversion/solid_to_fastq.xml
--- a/tools/next_gen_conversion/solid_to_fastq.xml	Wed Oct 21 15:45:01 2009 -0400
+++ b/tools/next_gen_conversion/solid_to_fastq.xml	Wed Oct 21 16:04:24 2009 -0400
@@ -66,7 +66,7 @@
 
 **What it does**
 
-This tool takes reads and quality files and converts them to FASTQ data ( Sanger variant ). Note that it also converts sequences to base pairs.
+This tool takes reads and quality files and converts them to FASTQ data ( Sanger variant ). Any -1 qualities are converted to 1 before being converted to FASTQ. Note that it also converts sequences to base pairs.
 
 -----
 



More information about the galaxy-dev mailing list