Updated read counts to give information about aligment percent, and adapter percent.
[htsworkflow.git] / htswanalysis / scripts / WriteQCSummary.pm
index 9593c8940ba4e984fe08c7ca3fc33225fc543a03..163e861840a2e1234ac8377c121d1dc1fdb96b02 100755 (executable)
@@ -55,15 +55,21 @@ for my $i (0..scalar(@{$xml->{Library}})-1) {
     my $filename = $xml->{Library}->[$i]->{Track}->[$t]->{Filename};
     $filename =~ /^(\d+)_(.+?)_s(\d+)_(.+?)_$lib.align/;
     ($date,$fc,$lane,$desc) = ($1,$2,$3,$4);
-    my $num_reads = $xml->{Library}->[$i]->{Track}->[$t]->{Count};
+    my $all_reads   = $xml->{Library}->[$i]->{Track}->[$t]->{All};
+    my $pf_reads    = $xml->{Library}->[$i]->{Track}->[$t]->{Pf};
+    my $adapt_reads = $xml->{Library}->[$i]->{Track}->[$t]->{Adapter};
+    my $align_reads = $xml->{Library}->[$i]->{Track}->[$t]->{Align};
 
     my $bgcolor;
-    if($num_reads < 3000000) { $bgcolor = "FF3300"; }
-    elsif($num_reads < 5000000) { $bgcolor = "FFCC33"; }
-    elsif($num_reads < 10000000) { $bgcolor = "00CCFF"; }
+    if($align_reads < 3000000) { $bgcolor = "FF3300"; }
+    elsif($align_reads < 5000000) { $bgcolor = "FFCC33"; }
+    elsif($align_reads < 10000000) { $bgcolor = "00CCFF"; }
     else { $bgcolor = "66FF66"; }
 
-    $num_align{$lane}{'num'} = $num_reads;
+    $num_align{$lane}{'all'} = $all_reads;
+    $num_align{$lane}{'pf'} = $pf_reads;
+    $num_align{$lane}{'adapter'} = $adapt_reads;
+    $num_align{$lane}{'align'} = $align_reads;
     $num_align{$lane}{'bgcolor'} = $bgcolor;
   }
 }
@@ -80,7 +86,15 @@ for my $file (@files) {
   print "<TD>$lanes</TD>";
   print "<TD>$lib</TD>\n";
   print "<TD>$libname</TD>\n";
-  printf "<TD BGCOLOR=#%s>%0.2fM</TD>\n",$num_align{$lanes}{'bgcolor'},$num_align{$lanes}{'num'}/1000000.0;
+  printf "<TD BGCOLOR=#%s>Total Reads: %0.2fM<BR><BR>Pass Filter Reads: %0.2fM (%0.2f%%)<BR><BR>Adapters: %0.2fM (%0.2f%%)<BR><BR><B>Aligned Reads: %0.2fM (%0.2f%%)</B></TD>\n",
+    $num_align{$lanes}{'bgcolor'},
+    $num_align{$lanes}{'all'}/1000000.0,
+    $num_align{$lanes}{'pf'}/1000000.0,
+    100*$num_align{$lanes}{'pf'}/$num_align{$lanes}{'all'},
+    $num_align{$lanes}{'adapter'}/1000000.0,
+    100*$num_align{$lanes}{'adapter'}/$num_align{$lanes}{'pf'},
+    $num_align{$lanes}{'align'}/1000000.0,
+    100*$num_align{$lanes}{'align'}/($num_align{$lanes}{'pf'}-$num_align{$lanes}{'adapter'});
   printf "<TD BGCOLOR=#%s>%s</TD><TD BGCOLOR=#%s>%0.2f<BR>%0.2f</TD>\n",$qpcr_sum{$lanes}{'bgcolor'},$qpcr_sum{$lanes}{'best'}."<BR>".$qpcr_sum{$lanes}{'best2'},$qpcr_sum{$lanes}{'bgcolor'},$qpcr_sum{$lanes}{'enrich'},$qpcr_sum{$lanes}{'enrich2'};
   print "<TD><OBJECT DATA=\"",`basename $file`,"\" WIDTH=\"300\" HEIGHT=\"300\"></OBJECT></TD>";
   print "<TD><IMG SRC=\"",$date,"_",$fc,"_s",$lanes,"_",$libname,"_",$lib,".percent_base.png\" WIDTH=\"300\" HEIGHT=\"300\"></TD>";