Bio-EnsEMBL
view release on metacpan or search on metacpan
lib/Bio/EnsEMBL/IdMapping/ResultAnalyser.pm view on Meta::CPAN
my $fh = $self->get_filehandle('gene_detailed_mapping_stats.txt', 'stats');
my $fmt1 = "%-60s%-16s%-16s%-16s\n";
my $fmt2 = "%-60s%5.0f (%7s) %5.0f (%7s) %5.0f (%7s)\n";
my $fmt3 = "%3.2f%%";
print $fh "Gene detailed mapping results:\n\n";
print $fh sprintf($fmt1, "Gene type", "mapped", "lost (similar)",
"lost (definite)");
print $fh ('-'x108), "\n";
foreach my $class (@{ $self->get_all_classes('source') }) {
next if ($class eq 'all');
my $total = $self->get_count_by_class('source', $class);
# avoid division by zero error
unless ($total) {
$self->logger->warning("No count found for $class.\n", 1);
next;
}
my $mapped = $self->get_count_by_subclass('source', $class, 'mapped');
my $similar = $self->get_count_by_subclass('source', $class,
'lost_similar');
my $lost = $self->get_count_by_subclass('source', $class, 'lost_definite');
print $fh sprintf($fmt2,
$class,
$mapped, sprintf($fmt3, $mapped/$total*100),
$similar, sprintf($fmt3, $similar/$total*100),
$lost, sprintf($fmt3, $lost/$total*100));
}
close($fh);
}
=head2 create_clicklist
Example : $analyser->create_clicklist;
Description : Writes an html file which contains a list of all lost genes,
with hyperlinks to the appropriate archive website. This is to
manually check lost genes.
Return type : none
Exceptions : none
Caller : general
Status : At Risk
: under development
=cut
sub create_clicklist {
my $self = shift;
my $fh = $self->get_filehandle('genes_lost.html', 'stats');
# start html output
print $fh qq(<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\n);
print $fh qq(<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-gb" lang="en-gb">);
print $fh "<head>\n";
print $fh "<title>Lost genes ";
print $fh $self->conf->param('sourcedbname'), ' -> ',
$self->conf->param('targetdbname');
print $fh "</title>\n";
print $fh "</head>\n<body>\n";
my $prefix = $self->conf->param('urlprefix');
unless ($prefix) {
$self->logger->warning("No urlprefix set, clicklists might not be useable.\n", 1);
}
my $navigation;
my $clicklist;
foreach my $class (@{ $self->get_all_classes('source') }) {
next if ($class eq 'all');
$navigation .= "$class ";
$clicklist .= "<h1>$class</h1>\n";
foreach my $subclass (qw(lost_similar lost_definite)) {
# navigation
$navigation .= qq(<a href="#${class}-$subclass">$subclass</a> );
# clicklist
$clicklist .= "<h2>$subclass</h2>\n";
foreach my $stable_id (@{ $self->get_all_by_subclass('source', $class, $subclass) }) {
$clicklist .= qq(<a href="${prefix}$stable_id">$stable_id</a><br />\n);
}
}
$navigation .= "<br />\n";
}
# print navigation and clicklist
print $fh "$navigation\n\n";
print $fh "$clicklist\n\n";
# html footer
print $fh "</body></html>\n";
close($fh);
}
=head2 create_mapping_summary
Example : $analyser->create_mapping_summary();
Description : Writes a text file containing a summary of the mapping stats.
This will be emailed to the genebuilder for evaluation (you will
have to manually send the email, using the text in
"mapping_summary.txt" as the template).
Return type : none
Exceptions : none
Caller : general
( run in 2.523 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )