diff variant_effect_predictor/Bio/Search/Result/ResultI.pm @ 0:1f6dce3d34e0

Uploaded
author mahtabm
date Thu, 11 Apr 2013 02:01:53 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/variant_effect_predictor/Bio/Search/Result/ResultI.pm	Thu Apr 11 02:01:53 2013 -0400
@@ -0,0 +1,461 @@
+#-----------------------------------------------------------------
+# $Id: ResultI.pm,v 1.16 2002/11/13 11:23:11 sac Exp $
+#
+# BioPerl module Bio::Search::Result::ResultI
+#
+# Cared for by Steve Chervitz <sac@bioperl.org>
+#
+# Originally created by Aaron Mackey <amackey@virginia.edu>
+#
+# You may distribute this module under the same terms as perl itself
+#-----------------------------------------------------------------
+
+# POD documentation - main docs before the code
+
+=head1 NAME
+
+Bio::Search::Result::ResultI - Abstract interface to Search Result objects
+
+=head1 SYNOPSIS
+
+# Bio::Search::Result::ResultI objects cannot be instantiated since this
+# module defines a pure interface.
+
+# Given an object that implements the Bio::Search::Result::ResultI  interface,
+# you can do the following things with it:
+
+    use Bio::SearchIO;
+    my $io = new Bio::SearchIO(-format => 'blast',
+ 			       -file   => 't/data/HUMBETGLOA.tblastx');
+    my $result = $io->next_result;
+    while( $hit = $result->next_hit()) { # enter code here for hit processing
+    }
+
+    my $id = $result->query_name();
+
+    my $desc = $result->query_description();
+
+    my $dbname = $result->database_name();
+
+    my $size = $result->database_letters();
+
+    my $num_entries = $result->database_entries();
+
+    my $gap_ext = $result->get_parameter('gapext');
+
+    my @params = $result->available_parameters;
+
+    my $kappa = $result->get_statistic('kappa');
+
+    my @statnames = $result->available_statistics;
+
+=head1 DESCRIPTION
+
+Bio::Search::Result::ResultI objects are data structures containing
+the results from the execution of a search algorithm.  As such, it may
+contain various algorithm specific information as well as details of
+the execution, but will contain a few fundamental elements, including
+the ability to return Bio::Search::Hit::HitI objects.
+
+=head1 FEEDBACK
+
+=head2 Mailing Lists
+
+User feedback is an integral part of the evolution of this
+and other Bioperl modules. Send your comments and suggestions preferably
+ to one of the Bioperl mailing lists.
+Your participation is much appreciated.
+
+  bioperl-l@bioperl.org              - General discussion
+  http://bio.perl.org/MailList.html  - About the mailing lists
+
+=head2 Reporting Bugs
+
+Report bugs to the Bioperl bug tracking system to help us keep track
+ the bugs and their resolution.
+ Bug reports can be submitted via email or the web:
+
+  bioperl-bugs@bio.perl.org
+  http://bugzilla.bioperl.org/
+
+=head1 AUTHOR 
+
+Aaron Mackey E<lt>amackey@virginia.eduE<gt>  (original author)
+
+Steve Chervitz E<lt>sac@bioperl.orgE<gt>
+
+See L<the FEEDBACK section | FEEDBACK> for where to send bug reports and comments.
+
+=head1 COPYRIGHT
+
+Copyright (c) 1999-2001 Aaron Mackey, Steve Chervitz. All Rights Reserved.
+
+=head1 DISCLAIMER
+
+This software is provided "as is" without warranty of any kind.
+
+=head1 APPENDIX
+
+The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _
+
+=cut
+
+#'
+# Let the code begin...
+
+
+package Bio::Search::Result::ResultI;
+
+use strict;
+use vars qw(@ISA);
+
+use Bio::AnalysisResultI;
+
+@ISA = qw( Bio::AnalysisResultI );
+
+
+=head2 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
+
+
+=cut
+
+sub next_hit {
+    my ($self,@args) = @_;
+    $self->throw_not_implemented;
+}
+
+=head2 query_name
+
+ Title   : query_name
+ Usage   : $id = $result->query_name();
+ Function: Get the string identifier of the query used by the
+           algorithm that performed the search.
+ Returns : a string.
+ Args    : none
+
+=cut
+
+sub query_name {
+    my ($self,@args) = @_;
+    $self->throw_not_implemented;
+}
+
+=head2 query_accession
+
+ Title   : query_accession
+ Usage   : $id = $result->query_accession();
+ Function: Get the accession (if available) for the query sequence
+ Returns : a string
+ Args    : none
+
+=cut
+
+sub query_accession {
+    my ($self,@args) = @_;
+    $self->throw_not_implemented;
+}
+
+
+=head2 query_length
+
+ Title   : query_length
+ Usage   : $id = $result->query_length();
+ Function: Get the length of the query sequence
+           used in the search.
+ Returns : a number
+ Args    : none
+
+=cut
+
+sub query_length {
+    my ($self,@args) = @_;
+    $self->throw_not_implemented;
+}
+
+=head2 query_description
+
+ Title   : query_description
+ Usage   : $id = $result->query_description();
+ Function: Get the description of the query sequence
+           used in the search.
+ Returns : a string
+ Args    : none
+
+=cut
+
+sub query_description {
+    my ($self,@args) = @_;
+    $self->throw_not_implemented;
+}
+
+
+=head2 database_name
+
+ Title   : database_name
+ Usage   : $name = $result->database_name()
+ Function: Used to obtain the name of the database that the query was searched
+           against by the algorithm.
+ Returns : a scalar string
+ Args    : none
+
+=cut
+
+sub database_name {
+    my ($self,@args) = @_;
+
+    $self->throw_not_implemented;
+}
+
+=head2 database_letters
+
+ Title   : database_letters
+ Usage   : $size = $result->database_letters()
+ Function: Used to obtain the size of database that was searched against.
+ Returns : a scalar integer (units specific to algorithm, but probably the
+           total number of residues in the database, if available) or undef if
+           the information was not available to the Processor object.
+ Args    : none
+
+
+=cut
+
+sub database_letters {
+    my ($self,@args) = @_;
+    $self->throw_not_implemented();
+}
+
+=head2 database_entries
+
+ Title   : database_entries
+ Usage   : $num_entries = $result->database_entries()
+ Function: Used to obtain the number of entries contained in the database.
+ Returns : a scalar integer representing the number of entities in the database
+           or undef if the information was not available.
+ Args    : none
+
+
+=cut
+
+sub database_entries {
+    my ($self,@args) = @_;
+
+    $self->throw_not_implemented();
+}
+
+=head2 get_parameter
+
+ Title   : get_parameter
+ Usage   : my $gap_ext = $result->get_parameter('gapext')
+ Function: Returns the value for a specific parameter used
+           when running this result
+ Returns : string
+ Args    : name of parameter (string)
+
+=cut
+
+sub get_parameter{
+   my ($self,@args) = @_;
+   $self->throw_not_implemented();
+}
+
+=head2 available_parameters
+
+ Title   : available_parameters
+ Usage   : my @params = $result->available_parameters
+ Function: Returns the names of the available parameters
+ Returns : Return list of available parameters used for this result
+ Args    : none
+
+=cut
+
+sub available_parameters{
+   my ($self) = @_;
+   $self->throw_not_implemented();
+}
+
+=head2 get_statistic
+
+ Title   : get_statistic
+ Usage   : my $gap_ext = $result->get_statistic('kappa')
+ Function: Returns the value for a specific statistic available 
+           from this result
+ Returns : string
+ Args    : name of statistic (string)
+
+=cut
+
+sub get_statistic{
+   my ($self,@args) = @_;
+   $self->throw_not_implemented();
+}
+
+=head2 available_statistics
+
+ Title   : available_statistics
+ Usage   : my @statnames = $result->available_statistics
+ Function: Returns the names of the available statistics
+ Returns : Return list of available statistics used for this result
+ Args    : none
+
+=cut
+
+sub available_statistics{
+   my ($self) = @_;
+   $self->throw_not_implemented();
+}
+
+=head2 algorithm
+
+ Title   : algorithm
+ Usage   : my $r_type = $result->algorithm
+ Function: Obtain the name of the algorithm used to obtain the Result
+ Returns : string (e.g., BLASTP)
+ Args    : [optional] scalar string to set value
+
+=cut
+
+sub algorithm{
+   my ($self) = @_;
+   $self->throw_not_implemented();
+}
+
+=head2 algorithm_version
+
+ Title   : algorithm_version
+ Usage   : my $r_version = $result->algorithm_version
+ Function: Obtain the version of the algorithm used to obtain the Result
+ Returns : string (e.g., 2.1.2)
+ Args    : [optional] scalar string to set algorithm version value
+
+=cut
+
+sub algorithm_version{
+   my ($self) = @_;
+   $self->throw_not_implemented();
+}
+
+
+=head2 algorithm_reference
+
+ Title   : algorithm_reference
+ Usage   : $obj->algorithm_reference($newval)
+ Function: 
+ Returns : value of the literature reference for the algorithm
+ Args    : newvalue (optional)
+ Comments: The default implementation in ResultI returns an empty string
+           rather than throwing a NotImplemented exception, since
+           the ref may not always be available and is not critical.
+
+=cut
+
+sub algorithm_reference{
+   my ($self) = @_;
+   return '';
+}
+
+=head2 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
+
+
+=cut
+
+sub num_hits{
+   my ($self,@args) = @_;
+   $self->throw_not_implemented();
+}
+
+=head2 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
+
+
+=cut
+
+sub hits{
+   my ($self,@args) = @_;
+   $self->throw_not_implemented();
+}
+
+=head2 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.
+
+=cut
+
+#-----------
+sub no_hits_found { shift->throw_not_implemented }
+
+
+
+=head2 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)
+
+=cut
+
+sub set_no_hits_found { shift->throw_not_implemented }
+
+
+=head2 iterations
+
+ Usage     : $num_iterations = $blast->iterations;  (get)
+             $blast->iterations($num_iterations);   (set)
+ Purpose   : Set/get the number of iterations in the Blast Report (PSI-BLAST).
+ Returns   : Total number of iterations in the report
+ Argument  : integer  (when setting)
+
+=cut
+
+sub iterations { shift->throw_not_implemented }
+
+
+=head2 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)
+
+=cut
+
+sub psiblast { shift->throw_not_implemented }
+
+1;
+
+