NAME
Bio::FastParsers::Blast::Xml - Front-end class for XML BLAST parser
VERSION
version 0.221230
SYNOPSIS
# open and parse BLAST report in XML format
my
$infile
=
'test/blastp.xml'
;
my
$report
= Xml->new(
file
=>
$infile
);
# get main container
my
$bo
=
$report
->blast_output;
# examine report content
say
$bo
->program;
# blastp
say
$bo
->version;
# BLASTP 2.2.25+
say
$bo
->db;
# mcl-db-22species
# get evalue threshold...
say
$bo
->parameters->expect;
# 10
# ...or equivalently
my
$param
=
$bo
->parameters;
say
$param
->expect;
# 10
say
$param
->matrix;
# BLOSUM62
# get the number of iterations (= queries)
say
$bo
->count_iterations;
# 3
# loop through iterations (or queries), hits and hsps
# this is extremely fast because no data is moved around
for
my
$iter
(
$bo
->all_iterations) {
say
$iter
->count_hits;
# always available!
for
my
$hit
(
$iter
->all_hits) {
for
my
$hsp
(
$hit
->all_hsps) {
# ...
}
}
}
# ...or nearly equivalently (still ultra-fast)
# here the container is altered by each iterator call
while
(
my
$iter
=
$bo
->next_iteration) {
say
$iter
->count_hits;
# here too!
while
(
my
$hit
=
$iter
->next_hit) {
while
(
my
$hsp
=
$hit
->next_hsp) {
# ...
}
}
say
$iter
->count_hits;
# 0 (exhausted)
}
DESCRIPTION
This module implements a parser for the XML output format of the BLAST program (e.g., -outfmt 5
). It provides methods for iterating over and querying all elements of the XML tree. The hierarchy is as follows:
- Bio::FastParsers::Blast::Xml
- Bio::FastParsers::Blast::Xml::BlastOutput
- Bio::FastParsers::Blast::Xml::Statistics
- Bio::FastParsers::Blast::Xml::Parameters
- Bio::FastParsers::Blast::Xml::Iteration's
- Bio::FastParsers::Blast::Xml::Hit's
- Bio::FastParsers::Blast::Xml::Hsp's
Documentation is autogenerated.
ATTRIBUTES
file
Path to BLAST report file in XML format to be parsed
blast_output
Bio::FastParsers::Blast::Xml::BlastOutput composed object
AUTHOR
Denis BAURAIN <denis.baurain@uliege.be>
CONTRIBUTOR
Aymeric NAOME <aymeric.naome@gmail.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2013 by University of Liege / Unit of Eukaryotic Phylogenomics / Denis BAURAIN.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.