diff variant_effect_predictor/Bio/Search/Hit/HMMERHit.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/Hit/HMMERHit.pm	Thu Apr 11 02:01:53 2013 -0400
@@ -0,0 +1,306 @@
+# $Id: HMMERHit.pm,v 1.3 2002/10/22 07:45:17 lapp Exp $
+#
+# BioPerl module for Bio::Search::Hit::HMMERHit
+#
+# Cared for by Jason Stajich <jason@bioperl.org>
+#
+# Copyright Jason Stajich
+#
+# You may distribute this module under the same terms as perl itself
+
+# POD documentation - main docs before the code
+
+=head1 NAME
+
+Bio::Search::Hit::HMMERHit - A Hit module for HMMER hits
+
+=head1 SYNOPSIS
+
+    use Bio::Search::Hit::HMMERHit;
+    my $hit = new Bio::Search::Hit::HMMERHit;
+    # use it in the same way as Bio::Search::Hit::GenericHit
+
+=head1 DESCRIPTION
+
+This is a specialization of L<Bio::Search::Hit::GenericHit>.  There
+are a few news methods L<next_domain> and L<domains>.  Note that
+L<bits> and L<iteration> make no sense for this object and will
+return 0.
+
+=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
+the Bioperl mailing list.  Your participation is much appreciated.
+
+  bioperl-l@bioperl.org              - General discussion
+  http://bioperl.org/MailList.shtml  - About the mailing lists
+
+=head2 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
+email or the web:
+
+  bioperl-bugs@bioperl.org
+  http://bugzilla.bioperl.org/
+
+=head1 AUTHOR - Jason Stajich
+
+Email jason@bioperl.org
+
+Describe contact details here
+
+=head1 CONTRIBUTORS
+
+Additional contributors names and emails here
+
+=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::Hit::HMMERHit;
+use vars qw(@ISA);
+use strict;
+
+use Bio::Search::Hit::GenericHit;
+
+@ISA = qw(Bio::Search::Hit::GenericHit );
+
+=head2 new
+
+ Title   : new
+ Usage   : my $obj = new Bio::Search::Hit::HMMERHit();
+ Function: Builds a new Bio::Search::Hit::HMMERHit object 
+ Returns : Bio::Search::Hit::HMMERHit
+ Args    : 
+
+ Plus the Bio::Search::Hit::GenericHit inherited params
+           -name         => Name of Hit (required)
+           -description  => Description (optional)
+           -accession    => Accession number (optional)
+           -length       => Length of the Hit (optional)
+           -score        => Raw Score for the Hit (optional)
+           -significance => Significance value for the Hit (optional)
+           -algorithm    => Algorithm used (BLASTP, FASTX, etc...)
+           -hsps         => Array ref of HSPs for this Hit. 
+
+
+=cut
+
+
+=head2 next_domain
+
+ Title   : next_domain 
+ Usage   : my $domain = $hit->next_domain();
+ Function: An alias for L<next_hsp()>, this will return the next HSP
+ Returns : L<Bio::Search::HSP::HSPI> object
+ Args    : none
+
+
+=cut
+
+sub next_domain{ shift->next_hsp }
+
+=head2 domains
+
+ Title   : domains
+ Usage   : my @domains = $hit->domains();
+ Function: An alias for L<hsps()>, this will return the full list of hsps
+ Returns : array of L<Bio::Search::HSP::HSPI> objects
+ Args    : none
+
+
+=cut
+
+sub domains{ shift->hsps() }
+
+
+=head2 inherited Bio::Search::Hit::GenericHit methods
+
+=cut
+
+=head2 add_hsp
+
+ Title   : add_hsp
+ Usage   : $hit->add_hsp($hsp)
+ Function: Add a HSP to the collection of HSPs for a Hit
+ Returns : number of HSPs in the Hit
+ Args    : Bio::Search::HSP::HSPI object
+
+
+=cut
+
+=head2 Bio::Search::Hit::HitI methods
+
+=cut
+
+=head2 name
+
+ Title   : name
+ Usage   : $hit_name = $hit->name();
+ Function: returns the name of the Hit sequence
+ Returns : a scalar string
+ Args    : [optional] scalar string to set the name
+
+=cut
+
+=head2 accession
+
+ Title   : accession
+ Usage   : $acc = $hit->accession();
+ Function: Retrieve the accession (if available) for the hit
+ Returns : a scalar string (empty string if not set)
+ Args    : none
+
+=cut
+
+=head2 description
+
+ Title   : description
+ Usage   : $desc = $hit->description();
+ Function: Retrieve the description for the hit
+ Returns : a scalar string
+ Args    : [optional] scalar string to set the descrition
+
+=cut
+
+=head2 length
+
+ Title   : length
+ Usage   : my $len = $hit->length
+ Function: Returns the length of the hit 
+ Returns : integer
+ Args    : [optional] integer to set the length
+
+=cut
+
+=head2 algorithm
+
+ Title   : algorithm
+ Usage   : $alg = $hit->algorithm();
+ Function: Gets the algorithm specification that was used to obtain the hit
+           For BLAST, the algorithm denotes what type of sequence was aligned 
+           against what (BLASTN: dna-dna, BLASTP prt-prt, BLASTX translated 
+           dna-prt, TBLASTN prt-translated dna, TBLASTX translated 
+           dna-translated dna).
+ Returns : a scalar string 
+ Args    : [optional] scalar string to set the algorithm
+
+=cut
+
+=head2 raw_score
+
+ Title   : raw_score
+ Usage   : $score = $hit->raw_score();
+ Function: Gets the "raw score" generated by the algorithm.  What
+           this score is exactly will vary from algorithm to algorithm,
+           returning undef if unavailable.
+ Returns : a scalar value
+ Args    : [optional] scalar value to set the raw score
+
+=cut
+
+=head2 significance
+
+ Title   : significance
+ Usage   : $significance = $hit->significance();
+ Function: Used to obtain the E or P value of a hit, i.e. the probability that
+           this particular hit was obtained purely by random chance.  If
+           information is not available (nor calculatable from other
+           information sources), return undef.
+ Returns : a scalar value or undef if unavailable
+ Args    : [optional] scalar value to set the significance
+
+=cut
+
+=head2 bits
+
+ Usage     : $hit_object->bits();
+ Purpose   : Gets the bit score of the best HSP for the current hit.
+ Example   : $bits = $hit_object->bits();
+ Returns   : Integer or undef if bit score is not set
+ Argument  : n/a
+
+See Also   : L<score()|score>
+
+=cut
+
+sub bits { return 0 }
+
+=head2 next_hsp
+
+ Title    : next_hsp
+ Usage    : while( $hsp = $obj->next_hsp()) { ... }
+ Function : Returns the next available High Scoring Pair
+ Example  : 
+ Returns  : Bio::Search::HSP::HSPI object or null if finished
+ Args     : none
+
+=cut
+
+=head2 hsps
+
+ Usage     : $hit_object->hsps();
+ Purpose   : Get a list containing all HSP objects.
+           : Get the numbers of HSPs for the current hit.
+ Example   : @hsps = $hit_object->hsps();
+           : $num  = $hit_object->hsps();  # alternatively, use num_hsps()
+ Returns   : Array context : list of Bio::Search::HSP::BlastHSP.pm objects.
+           : Scalar context: integer (number of HSPs).
+           :                 (Equivalent to num_hsps()).
+ Argument  : n/a. Relies on wantarray
+ Throws    : Exception if the HSPs have not been collected.
+
+See Also   : L<hsp()|hsp>, L<num_hsps()|num_hsps>
+
+=cut
+
+=head2 num_hsps
+
+ Usage     : $hit_object->num_hsps();
+ Purpose   : Get the number of HSPs for the present Blast hit.
+ Example   : $nhsps = $hit_object->num_hsps();
+ Returns   : Integer
+ Argument  : n/a
+ Throws    : Exception if the HSPs have not been collected.
+
+See Also   : L<hsps()|hsps>
+
+=cut
+
+=head2 rewind
+
+ Title   : rewind
+ Usage   : $hit->rewind;
+ Function: Allow one to reset the HSP iteration to the beginning
+           Since this is an in-memory implementation
+ Returns : none
+ Args    : none
+
+=cut
+
+=head2 iteration
+
+ Title   : iteration
+ Usage   : $obj->iteration($newval)
+ Function: PSI-BLAST iteration
+ Returns : value of iteration
+ Args    : newvalue (optional)
+
+
+=cut
+
+
+sub iteration { return 0 }
+
+1;