Provided by: libbio-perl-perl_1.7.2-2_all bug

NAME

       Bio::Search::Result::BlastResult - Blast-specific subclass of
       Bio::Search::Result::GenericResult

SYNOPSIS

           # Working with iterations (PSI-BLAST results)

           $result->next_iteration();
           $result->num_iterations();
           $result->iteration();
           $result->iterations();

       # See Bio::Search::Result::GenericResult for information about working with Results.

       # See Bio::Search::Iteration::IterationI # for details about working with iterations.

       # TODO: #     * Show how to configure a SearchIO stream so that it generates #
       BlastResult objects.

DESCRIPTION

       This object is a subclass of Bio::Search::Result::GenericResult and provides some
       operations that facilitate working with BLAST and PSI-BLAST results.

       For general information about working with Results, see
       Bio::Search::Result::GenericResult.

FEEDBACK

   Mailing Lists
       User feedback is an integral part of the evolution of this and other Bioperl modules. Send
       your comments and suggestions preferably to the Bioperl mailing list.  Your participation
       is much appreciated.

         bioperl-l@bioperl.org                  - General discussion
         http://bioperl.org/wiki/Mailing_lists  - About the mailing lists

   Support
       Please direct usage questions or support issues to the mailing list:

       bioperl-l@bioperl.org

       rather than to the module maintainer directly. Many experienced and reponsive experts will
       be able look at the problem and quickly address it. Please include a thorough description
       of the problem with code and data examples if at all possible.

   Reporting Bugs
       Report bugs to the Bioperl bug tracking system to help us keep track of the bugs and their
       resolution. Bug reports can be submitted via the web:

         https://github.com/bioperl/bioperl-live/issues

AUTHOR - Steve Chervitz

       Email sac@bioperl.org

APPENDIX

       The rest of the documentation details each of the object methods.  Internal methods are
       usually preceded with a _

   new
        Title   : new
        Usage   : my $obj = Bio::Search::Result::BlastResult->new();
        Function: Builds a new Bio::Search::Result::BlastResult object
        Returns : Bio::Search::Result::BlastResult
        Args    : See Bio::Search::Result::GenericResult();
                  The following parameters are specific to BlastResult:
                    -iterations  => array ref of Bio::Search::Iteration::IterationI objects
                    -inclusion_threshold => e-value threshold for inclusion in the
                                            PSI-BLAST score matrix model (blastpgp)

   hits
        Title   : hits
        Usage   : my @hits = $result->hits
        Function: Returns the available hits for this Result
        Returns : Array of L<Bio::Search::Hit::HitI> objects
        Args    : none
        Note    : This method overrides L<Bio::Search::Result::GenericResult::hits> to
                  take into account the possibility of multiple iterations, as occurs
                  in PSI-BLAST reports.
                  If there are multiple iterations, all 'new' hits for all iterations
                  are returned. These are the hits that did not occur in a previous
                  iteration.

                  See Also: L<Bio::Search::Result::GenericResult::hits>

   next_hit
        Title   : next_hit
        Usage   : while( $hit = $result->next_hit()) { ... }
        Function: Returns the next available Hit object, representing potential
                  matches between the query and various entities from the database.
        Returns : a Bio::Search::Hit::HitI object or undef if there are no more.
        Args    : none
        Note    : This method overrides L<Bio::Search::Result::GenericResult::next_hit>
                  to take into account the possibility of multiple iterations, as
                  occurs in PSI-BLAST reports.

                  If there are multiple iterations, calling next_hit() traverses the
                  all of the hits, old and new, for each iteration, calling next_hit()
                  on each iteration.

                  See Also: L<Bio::Search::Iteration::GenericIteration::next_hit>

   num_hits
        Title   : num_hits
        Usage   : my $hitcount= $result->num_hits
        Function: returns the number of hits for this query result
        Returns : integer
        Args    : none
        Note    : This method overrides L<Bio::Search::Result::GenericResult::num_hits>
                  to take into account the possibility of multiple iterations, as
                  occurs in PSI-BLAST reports.

                  If there are multiple iterations, calling num_hits() returns the
                  number of 'new' hits for each iteration. These are the hits that did
                  not occur in a previous iteration.

                  See Also: L<Bio::Search::Result::GenericResult::num_hits>

   add_hit
        Title   : add_hit
        Usage   : $report->add_hit($hit)
        Function: Adds a HitI to the stored list of hits
        Returns : Number of HitI currently stored
        Args    : Bio::Search::Hit::HitI

   add_iteration
        Title   : add_iteration
        Usage   : $report->add_iteration($iteration)
        Function: Adds a IterationI to the stored list of iterations
        Returns : Number of IterationI currently stored
        Args    : Bio::Search::Iteration::IterationI

   next_iteration
        Title   : next_iteration
        Usage   : while( $it = $result->next_iteration()) { ... }
        Function: Returns the next Iteration object, representing all hits
                  found within a given PSI-Blast iteration.
        Returns : a Bio::Search::Iteration::IterationI object or undef if there are no more.
        Args    : none

   iteration
        Usage     : $iteration = $blast->iteration( $number );
        Purpose   : Get an IterationI object for the specified iteration
                    in the search result (PSI-BLAST).
        Returns   : Bio::Search::Iteration::IterationI object
        Throws    : Bio::Root::NoSuchThing exception if $number is not within
                    range of the number of iterations in this report.
        Argument  : integer (optional, if not specified get the last iteration)
                    First iteration = 1

   num_iterations
        Usage     : $num_iterations = $blast->num_iterations;
        Purpose   : Get the number of iterations in the search result (PSI-BLAST).
        Returns   : Total number of iterations in the report
        Argument  : none (read-only)

   number_of_iterations
        Usage     : $num_iterations = $blast->number_of_iterations;
        Purpose   : Get the number of iterations in the search result (PSI-BLAST).
        Returns   : Total number of iterations in the report
        Argument  : none (read-only)
        Note      : Alias of L<num_iterations>.

   round
        Usage     : $round = $blast->round( $number );
        Purpose   : Get an IterationI object for the specified iteration
                    in the search result (PSI-BLAST).
        Returns   : Bio::Search::Iteration::IterationI object
        Throws    : Bio::Root::NoSuchThing exception if $number is not within
                    range of the number of iterations in this report.
        Argument  : integer (optional, if not specified get the last iteration)
                    First iteration = 1
        Note      : Alias of L<iteration>.

   iterations
        Title   : iterations
        Usage   : my @iterations = $result->iterations
        Function: Returns the IterationI objects contained within this Result
        Returns : Array of L<Bio::Search::Iteration::IterationI> objects
        Args    : none

   psiblast
        Usage     : if( $blast->psiblast ) { ... }
        Purpose   : Set/get a boolean indicator whether or not the report
                    is a PSI-BLAST report.
        Returns   : 1 if PSI-BLAST, undef if not.
        Argument  : 1 (when setting)

   no_hits_found
        Usage     : $nohits = $blast->no_hits_found( $iteration_number );
        Purpose   : Get boolean indicator indicating whether or not any hits
                    were present in the report.

                    This is NOT the same as determining the number of hits via
                    the hits() method, which will return zero hits if there were no
                    hits in the report or if all hits were filtered out during the parse.

                    Thus, this method can be used to distinguish these possibilities
                    for hitless reports generated when filtering.

        Returns   : Boolean
        Argument  : (optional) integer indicating the iteration number (PSI-BLAST)
                    If iteration number is not specified and this is a PSI-BLAST result,
                    then this method will return true only if all iterations had
                    no hits found.

   set_no_hits_found
        Usage     : $blast->set_no_hits_found( $iteration_number );
        Purpose   : Set boolean indicator indicating whether or not any hits
                    were present in the report.
        Returns   : n/a
        Argument  : (optional) integer indicating the iteration number (PSI-BLAST)

   _next_iteration_index
        Title   : _next_iteration_index
        Usage   : private

   rewind
        Title   : rewind
        Usage   : $result->rewind;
        Function: Allow one to reset the Iteration iterator to the beginning
                  Since this is an in-memory implementation
        Returns : none
        Args    : none

   inclusion_threshold
        Title   : inclusion_threshold
        Usage   : my $incl_thresh = $result->inclusion_threshold; (read-only)
        Function: Gets the e-value threshold for inclusion in the PSI-BLAST
                  score matrix model (blastpgp) that was used for generating the report
                  being parsed.
        Returns : number (real) or undef if not a PSI-BLAST report.
        Args    : none