Bio-FastParsers
view release on metacpan or search on metacpan
lib/Bio/FastParsers/Blast/Xml.pm view on Meta::CPAN
package Bio::FastParsers::Blast::Xml;
# ABSTRACT: Front-end class for XML BLAST parser
# CONTRIBUTOR: Aymeric NAOME <aymeric.naome@gmail.com>
$Bio::FastParsers::Blast::Xml::VERSION = '0.221230';
use Moose;
use namespace::autoclean;
use Carp;
use XML::Bare;
extends 'Bio::FastParsers::Base';
use aliased 'Bio::FastParsers::Blast::Xml::BlastOutput';
# TODO: check behavior with single iterations, hits or hsps
# public attributes (some inherited)
has 'blast_output' => (
is => 'ro',
isa => 'Maybe[Bio::FastParsers::Blast::Xml::BlastOutput]',
init_arg => undef,
lazy => 1,
builder => '_build_blast_output',
);
## no critic (ProhibitUnusedPrivateSubroutines)
sub _build_blast_output {
my $self = shift;
my $file = $self->file;
my $xb = XML::Bare->new( file => $file )
or croak "Can't open '$file' for reading: $!";
my $bo = $xb->parse->{'BlastOutput'};
unless ($bo) {
carp "Warning: '$file' unexpectedly empty; returning no BlastOutput!";
return;
}
return BlastOutput->new( _root => $bo, _parent => undef);
}
## use critic
__PACKAGE__->meta->make_immutable;
1;
__END__
=pod
=head1 NAME
Bio::FastParsers::Blast::Xml - Front-end class for XML BLAST parser
=head1 VERSION
version 0.221230
=head1 SYNOPSIS
( run in 0.774 second using v1.01-cache-2.11-cpan-ceb78f64989 )