Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

zerg::report(3pm) [debian man page]

Report(3pm)						User Contributed Perl Documentation					       Report(3pm)

NAME
Zerg::Report - get attributes from a BLAST file in a data structure SYNOPSIS
use Zerg::Report; my $zerg_report = new Zerg::Report("output.blastn"); while($r=$zerg_report->getReport()) { foreach my $hit (@{$r->{hits}}) { foreach my $hsp (@{$hit->{hsps}}) { print "$r->{query_name} $hit->{subject_name} $hsp->{score_bits} "; } } } $zerg_report->closeFile(); DESCRIPTION
Zerg::Report uses Zerg to parse a file - or STDIN if file is not given - containing one or multiple BLAST reports and, for each report, stores the obtained fields in a data structure made of arrays and hashes. Please consult the Zerg man page to see which fields are extracted. The method getReport() reads a BLAST report from the input file and returns a reference to a data structure like the one in the example below. When no report is found, it returns undef. It dies from syntax errors in BLAST reports with a stack backtrace. Example of a data structure returned by getReport(): $r = { 'query_name' => 'ME1-0081T-R227-B12-U.G', 'blast_version' => 'BLASTX 1.3.6 [2002-03-05]', 'byte_offset' => 4981, 'query_length' => '444', 'query_annotation' => '' 'round_begins' => [ 0, 129, 201 ], # indicates the first hit in each round of iterated blast 'hits' => [ { 'subject_annotation' => '(NC_003210) similar to cation (calcium) transporting ATPase [Listeria monocytogenes EGD-e]', 'hsps' => [ { 'query_end' => '82', 'subject_ali' => 'ASELEIFAALIECEA-GSTDYDGMLAVASVVMNRVNHRYYPDTITGVIYQSGQFSPVASGKLDKVLKRGIKSSCLEVAKDA', 'query_ali' => 'DAQTRKLAAIAYGEASGANDANEIGGIAWAVANRARAWGGK-TVDGLLAADPNYTYAVKDG-NQRYAKLMKATEAAIAADP', 'subject_end' => '328', 'identities' => '15', 'score' => '87', 'percent_positives' => '41', 'gaps' => '3', 'score_bits' => '37.9', 'alignment_length' => '81', 'evalue' => '0.40', 'percent_identities' => '18', 'positives' => '34', 'query_start' => '4', 'subject_start' => '249' } ], 'subject_length' => '880', 'subject_name' => 'gi|16802882|ref|NP_464367.1|' }, ], }; AUTHORS
Apua~ Paquola <apua@iq.usp.br>, Abimael Machado <abimael@iq.usp.br> IQ-USP Bioinformatics Lab Laszlo Kajan <lkajan@rostlab.org>, Technical University of Munich SEE ALSO
Zerg perl v5.14.2 2011-11-15 Report(3pm)

Check Out this Related Man Page

RG::Blast::Parser(3pm)					User Contributed Perl Documentation				    RG::Blast::Parser(3pm)

NAME
RG::Blast::Parser - fast NCBI BLAST parser SYNOPSIS
use Data::Dumper; use RG::Blast::Parser; my $parser = RG::Blast::Parser->new(); # read from STDIN open( EXAMPLE, '<', '/usr/share/doc/librg-blast-parser-perl/examples/converged.ali' ) || confess($!); my $parser = RG::Blast::Parser->new( *EXAMPLE, "converged.ali" ); # read from EXAMPLE, use name "converged.ali" in error messages while( my $res = $parser->parse() ) { print Dumper( $res ); } eval { my $res = $parser->parse(); # ... }; if( $@ && $@ =~ /^parser error/ ) { warn("failed to parse blast result - exception caught"); } DESCRIPTION
This package contains perl binding for a very fast C/C++ library for NCBI BLAST -m 0 (default) output parsing. BLAST results are returned in a convenient hash structure. Multiple results may be concatenated for input. One result is parsed and returned at a time. CONSTRUCTOR
new( [FILEHANDLE, [NAME]] ) Creates an "RG::Blast::Parser". Blast results are read from FILEHANDLE, STDIN by default. The input stream may be named NAME in error messages (default: "STDIN"). METHODS
parse( [TRACE_PARSING, [TRACE_SCANNING]] ) Parse one complete BLAST result and return it. If no results on input stream, returns "undef". In case of parser error it die()s with an (at present not very useful) error message. The following structure is returned in a hash reference: { blast_version => STRING, references => [ STRING, ... ], rounds => [ { oneline_idx => NUM, # index of first one-line description of # round in "onelines" oneline_cnt => NUM, # number of one-line descriptions of round # in "onelines" hit_idx => NUM, # index of first hit of round in "hits" hit_cnt => NUM, # number of hits of round in "hits" oneline_new_idx => NUM|undef# index of first new (not-seen-before) # one-line description of round oneline_new_cnt => NUM # number of new one-line descriptions of # round }, ... ], q_name => STRING, q_desc => STRING|undef, q_length => NUM, db_name => STRING, db_nseq => NUM, db_nletter => NUM, onelines => [ # one-line descriptions from all rounds { name => STRING, desc => STRING|undef, bit_score => NUM, e_value => NUM }, ... ], converged => BOOLEAN, hits => [ # hits from all rounds { name => STRING, desc => STRING|undef, length => NUM, hsps => [ { bit_score => NUM, raw_score => NUM, e_value => NUM, method => STRING, identities => NUM, positives => NUM, gaps => NUM, q_strand => STRING|undef, s_strand => STRING|undef, q_frame => NUM|undef, s_frame => NUM|undef, q_start => NUM, q_ali => STRING, q_end => NUM, match_line => STRING, s_start => NUM, s_ali => STRING, s_end => NUM }, ... ] }, ... ], tail => STRING # bulk text after the last hit / one-line # description } If you want tracing for parsing and scanning, you can enable them using the parameters of this call. result() Returns the last BLAST result parsed or "undef" if no last result. get_trace_scanning() Returns scan trace state as a Boolean value. set_trace_scanning( BOOLEAN ) Set scan trace - debugging aid. SEE ALSO
Zerg(3pm), Zerg::Report(3pm) AUTHOR
Laszlo Kajan, <lkajan@rostlab.org> COPYRIGHT AND LICENSE
Copyright (C) 2012 by Laszlo Kajan This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available. perl v5.14.2 2012-03-29 RG::Blast::Parser(3pm)
Man Page