]> git.donarmstrong.com Git - biopieces.git/commitdiff
added adaptor removal to QA
authormartinahansen <martinahansen@74ccb610-7750-0410-82ae-013aeee3265d>
Mon, 26 Nov 2012 16:26:00 +0000 (16:26 +0000)
committermartinahansen <martinahansen@74ccb610-7750-0410-82ae-013aeee3265d>
Mon, 26 Nov 2012 16:26:00 +0000 (16:26 +0000)
git-svn-id: http://biopieces.googlecode.com/svn/trunk@1997 74ccb610-7750-0410-82ae-013aeee3265d

bp_scripts/QA_Illumina_report.rb

index d82c0cf4b1793c1091dc46844ca129639ef3e2ee..2655b10a4856076fa41a88254db65e8e7e811459 100755 (executable)
@@ -29,7 +29,7 @@ def parse_analysis(file)
   File.open(file, 'r') do |ios|
     ios.each do |line|
       key, val = line.chomp.split(' ')
-      data[key] = val.to_i;
+      data[key] = val.reverse.gsub(/(\d{3})(?=\d)/, '\\1,').reverse
     end
   end
 
@@ -54,13 +54,14 @@ end
 tmpdir   = Dir.mktmpdir
 seq_file = ARGV.shift
 
-analyze_vals_file      = File.join(tmpdir, 'analyze_vals.txt')
-analyze_vals_trim_file = File.join(tmpdir, 'analyze_vals_trim.txt')
-lendist_file           = File.join(tmpdir, 'lendist.png')
-scores_file            = File.join(tmpdir, 'scores.png')
-nucdist_file           = File.join(tmpdir, 'nucdist.png')
-lendist_bin_file       = File.join(tmpdir, 'lendist_bin.png')
-scores_bin_file        = File.join(tmpdir, 'scores_bin.png')
+analyze_vals_file              = File.join(tmpdir, 'analyze_vals.txt')
+analyze_vals_trim_file         = File.join(tmpdir, 'analyze_vals_trim_noadapt.txt')
+analyze_vals_trim_noadapt_file = File.join(tmpdir, 'analyze_vals_trim.txt')
+lendist_file                   = File.join(tmpdir, 'lendist.png')
+scores_file                    = File.join(tmpdir, 'scores.png')
+nucdist_file                   = File.join(tmpdir, 'nucdist.png')
+lendist_bin_file               = File.join(tmpdir, 'lendist_bin.png')
+scores_bin_file                = File.join(tmpdir, 'scores_bin.png')
 
 STDERR.puts "Analyzing sequences ... "
 
@@ -71,6 +72,10 @@ system(
    trim_seq -l 3 -m 25 |
    grab -e 'SEQ_LEN > 0' |
    analyze_vals -k SEQ -o #{analyze_vals_trim_file} |
+   find_adaptor -l 6 -L 6 -f ACACGACGCTCTTCCGATCT -r AGATCGGAAGAGCACACGTC |
+   clip_adaptor |
+   grab -e 'SEQ_LEN > 0' |
+   analyze_vals -k SEQ -o #{analyze_vals_trim_noadapt_file} |
    plot_distribution -k SEQ_LEN -T 'Sequence length distribution' -X 'Sequence length' -t png -o #{lendist_file} |
    plot_scores -c -t png -o #{scores_file} |
    plot_nucleotide_distribution -t png -o #{nucdist_file} |
@@ -85,6 +90,7 @@ STDERR.puts "done.\n"
 
 analysis1 = parse_analysis(analyze_vals_file)
 analysis2 = parse_analysis(analyze_vals_trim_file)
+analysis3 = parse_analysis(analyze_vals_trim_noadapt_file)
 
 template = %{
   <html>
@@ -97,12 +103,12 @@ template = %{
       <p>File: <%= seq_file %></p>
       <h2>Sequence composition</h2>
       <table>
-      <tr><td></td><td>Before trimming</td><td>After trimming</td></tr>
-      <tr><td>Number of sequences</td><td align='right'><%= analysis1['COUNT'] %></td><td align='right'><%= analysis2['COUNT'] %></td></tr>
-      <tr><td>Number of bases</td><td align='right'><%= analysis1['SUM'] %></td><td align='right'><%= analysis2['SUM'] %></td></tr>
-      <tr><td>Min sequence length</td><td align='right'><%= analysis1['MIN'] %></td><td align='right'><%= analysis2['MIN'] %></td></tr>
-      <tr><td>Max sequence length</td><td align='right'><%= analysis1['MAX'] %></td><td align='right'><%= analysis2['MAX'] %></td></tr>
-      <tr><td>Mean sequence length</td><td align='right'><%= analysis1['MEAN'] %></td><td align='right'><%= analysis2['MEAN'] %></td></tr>
+      <tr><td></td><td>Before trimming</td><td>After trimming</td><td>After adaptor removal</td></tr>
+      <tr><td>Number of sequences</td><td align='right'><%= analysis1['COUNT'] %></td><td align='right'><%= analysis2['COUNT'] %></td><td align='right'><%= analysis3['COUNT'] %></td></tr>
+      <tr><td>Number of bases</td><td align='right'><%= analysis1['SUM'] %></td><td align='right'><%= analysis2['SUM'] %></td><td align='right'><%= analysis3['SUM'] %></td></tr>
+      <tr><td>Min sequence length</td><td align='right'><%= analysis1['MIN'] %></td><td align='right'><%= analysis2['MIN'] %></td><td align='right'><%= analysis3['MIN'] %></td></tr>
+      <tr><td>Max sequence length</td><td align='right'><%= analysis1['MAX'] %></td><td align='right'><%= analysis2['MAX'] %></td><td align='right'><%= analysis3['MAX'] %></td></tr>
+      <tr><td>Mean sequence length</td><td align='right'><%= analysis1['MEAN'] %></td><td align='right'><%= analysis2['MEAN'] %></td><td align='right'><%= analysis3['MEAN'] %></td></tr>
       </table>
       <p>Sequence trimming was performed by removing from the ends all residues until 3 consecutive</p>
       <p>residues with quality score larger than or equal to 25.</p>