my($date,$flowcell,$lanes,$lib) = ($1,$2,$3,$4);
open(COUNT,$filename.".count");
- my $count = <COUNT>; chomp $count; $count =~ s/\s//g;
- if(!defined($count)) { print STDERR $filename,"\n"; }
+ <COUNT>;
+ my $count_line = <COUNT>; chomp $count_line; my($all,$pf,$adapt,$align) = split(/\t/,$count_line);
+ if(!defined($align)) { print STDERR $filename," is badly formatted.\n"; }
close(COUNT);
if(!defined($lib)) {
}
if(!exists($libraries{$lib})) { my @a; $libraries{$lib} = \@a; }
- push @{$libraries{$lib}}, "$flowcell\t$lanes\t$filename\t$count\t$date";
+ push @{$libraries{$lib}}, "$flowcell\t$lanes\t$filename\t$all\t$pf\t$adapt\t$align\t$date";
}
print "<?xml version=\"1.0\" ?>\n";
for my $lib (sort {$a =~ /[sS][lL](\d+)/; my $a1 = $1; $b =~ /[sS][lL](\d+)/; my $b1 = $1; $a1 <=> $b1} keys %libraries) {
print "<Library Name=\"$lib\">\n";
for my $data (@{$libraries{$lib}}) {
- my($f,$l,$fn,$N,$D) = split(/\t/,$data);
- print "<Track Flowcell=\"$f\" Lane=\"$l\" Filename=\"$fn\" Count=\"$N\" Date=\"$D\" />\n";
+ my($f,$l,$fn,$all,$pf,$adapt,$align,$D) = split(/\t/,$data);
+ print "<Track Flowcell=\"$f\" Lane=\"$l\" Filename=\"$fn\" All=\"$all\" Pf=\"$pf\" Adapter=\"$adapt\" Align=\"$align\" Date=\"$D\" />\n";
}
print "</Library>\n";
}
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;
}
}
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>";