8 my $library_info = shift;
9 my $xml = XMLin($library_info, ForceArray => 1);
13 my $qpcr_filename = shift;
14 open(QPCR,$qpcr_filename);
20 my($lane,$factor,$enrich) = split(/ /,$_);
21 my $line2 = <QPCR>; chomp $line2;
22 my($lane2,$factor2,$enrich2) = split(/ /,$line2);
24 next if(!defined($enrich));
26 my @a = split(/\//,$factor);
27 $factor = $a[scalar(@a)-1];
28 @a = split(/\//,$factor2);
29 $factor2 = $a[scalar(@a)-1];
32 if($enrich < 2) { $bgcolor = "FF6600"; }
33 elsif($enrich< 5) { $bgcolor = "FFCC33"; }
34 elsif($enrich< 10) { $bgcolor = "00CCFF"; }
35 elsif($enrich eq "nan") { $bgcolor = "FFFFFF"; }
36 else { $bgcolor = "66FF66"; }
38 $lane =~ /^(\d\d\d\d\d\d)_(.+?)_s(\d+)_(.+?)\.align_\d+\.(.+?)\.txt\.qPCR$/;
39 my($date,$fc,$lanes,$name,$genome) = ($1,$2,$3,$4,$5,$6);
41 $qpcr_sum{$lanes}{'best'} = $factor;
42 $qpcr_sum{$lanes}{'enrich'} = $enrich;
43 $qpcr_sum{$lanes}{'bgcolor'} = $bgcolor;
45 $qpcr_sum{$lanes}{'best2'} = $factor2;
46 $qpcr_sum{$lanes}{'enrich2'} = $enrich2;
47 $qpcr_sum{$lanes}{'bgcolor2'} = $bgcolor;
50 for my $i (0..scalar(@{$xml->{Library}})-1) {
51 my $lib = $xml->{Library}->[$i]->{Name};
52 for my $t (0..scalar(@{$xml->{Library}->[$i]->{Track}})-1) {
53 my $N = scalar(@{$xml->{Library}->[$i]->{Track}});
54 my($date,$fc,$lane,$desc);
55 my $filename = $xml->{Library}->[$i]->{Track}->[$t]->{Filename};
56 $filename =~ /^(\d+)_(.+?)_s(\d+)_(.+?)_$lib.align/;
57 ($date,$fc,$lane,$desc) = ($1,$2,$3,$4);
58 my $all_reads = $xml->{Library}->[$i]->{Track}->[$t]->{All};
59 my $pf_reads = $xml->{Library}->[$i]->{Track}->[$t]->{Pf};
60 my $adapt_reads = $xml->{Library}->[$i]->{Track}->[$t]->{Adapter};
61 my $align_reads = $xml->{Library}->[$i]->{Track}->[$t]->{Align};
64 if($align_reads < 3000000) { $bgcolor = "FF3300"; }
65 elsif($align_reads < 5000000) { $bgcolor = "FFCC33"; }
66 elsif($align_reads < 10000000) { $bgcolor = "00CCFF"; }
67 else { $bgcolor = "66FF66"; }
69 $num_align{$lane}{'all'} = $all_reads;
70 $num_align{$lane}{'pf'} = $pf_reads;
71 $num_align{$lane}{'adapter'} = $adapt_reads;
72 $num_align{$lane}{'align'} = $align_reads;
73 $num_align{$lane}{'bgcolor'} = $bgcolor;
77 print "<TABLE BORDER=1>";
78 print "<TR><TD><EM>Lane\(s\)</EM></TD><TD><EM>Lib</EM></TD><TD><EM>Library Name</EM></TD><TD><EM>Aligned Reads</EM></TD><TD><EM>qPCR Factor</EM></TD><TD><EM>Fold enr.</EM></TD><TD><EM>Profile at TSS</EM></TD><TD>IVC Calls</TD></TR>\n";
80 my @files = `ls -1 *.align_??.*.txt.profile.png`;
81 for my $file (@files) {
82 $file =~ /(\d\d\d\d\d\d)_(.+?)_s(\d+)_(.+?)_([Ss][Ll]\d+)/;
83 my($date,$fc,$lanes,$libname,$lib) = ($1,$2,$3,$4,$5);
84 my $lane = substr($lanes,0,1);
86 print "<TD>$lanes</TD>";
87 print "<TD>$lib</TD>\n";
88 print "<TD>$libname</TD>\n";
89 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",
90 $num_align{$lanes}{'bgcolor'},
91 $num_align{$lanes}{'all'}/1000000.0,
92 $num_align{$lanes}{'pf'}/1000000.0,
93 100*$num_align{$lanes}{'pf'}/$num_align{$lanes}{'all'},
94 $num_align{$lanes}{'adapter'}/1000000.0,
95 100*$num_align{$lanes}{'adapter'}/$num_align{$lanes}{'pf'},
96 $num_align{$lanes}{'align'}/1000000.0,
97 100*$num_align{$lanes}{'align'}/($num_align{$lanes}{'pf'}-$num_align{$lanes}{'adapter'});
98 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'};
99 print "<TD><OBJECT DATA=\"",`basename $file`,"\" WIDTH=\"300\" HEIGHT=\"300\"></OBJECT></TD>";
100 print "<TD><IMG SRC=\"",$date,"_",$fc,"_s",$lanes,"_",$libname,"_",$lib,".percent_base.png\" WIDTH=\"300\" HEIGHT=\"300\"></TD>";
105 print "</BODY></HTML>\n";