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

NAME

       Bio::Search::HSP::PullHSPI - Bio::Search::HSP::HSPI interface for pull parsers.

SYNOPSIS

         # This is an interface and cannot be instantiated

         # generally we use Bio::SearchIO to build these objects
         use Bio::SearchIO;
         my $in = Bio::SearchIO->new(-format => 'hmmer_pull',
                                     -file   => 'result.hmmer');

         while (my $result = $in->next_result) {
             while (my $hit = $result->next_hit) {
                 while (my $hsp = $hit->next_hsp) {
                     $r_type = $hsp->algorithm;
                     $pvalue = $hsp->p();
                     $evalue = $hsp->evalue();
                     $frac_id = $hsp->frac_identical( ['query'|'hit'|'total'] );
                     $frac_cons = $hsp->frac_conserved( ['query'|'hit'|'total'] );
                     $gaps = $hsp->gaps( ['query'|'hit'|'total'] );
                     $qseq = $hsp->query_string;
                     $hseq = $hsp->hit_string;
                     $homo_string = $hsp->homology_string;
                     $len = $hsp->length( ['query'|'hit'|'total'] );
                     $len = $hsp->length( ['query'|'hit'|'total'] );
                     $rank = $hsp->rank;
                 }
             }
         }

DESCRIPTION

       PullHSP is for fast implementations that only do parsing work on the hsp data when you
       actually request information by calling one of the HSPI methods.

       Many methods of HSPI are implemented in a way suitable for inheriting classes that use
       Bio::PullParserI. It only really makes sense for PullHSP modules to be created by (and
       have as a -parent) PullHit modules.

       In addition to the usual -chunk and -parent, -hsp_data is all you should supply when
       making a PullHSP object. This will store that data and make it accessible via
       _raw_hsp_data, which you can access in your subclass. It would be best to simply provide
       the data as the input -chunk instead, if the raw data is large enough.

SEE ALSO

       This module inherits methods from these other modules:

       Bio::SeqFeatureI, Bio::SeqFeature::FeaturePair Bio::SeqFeature::SimilarityPair

       Please refer to these modules for documentation of the many additional inherited methods.

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 - Sendu Bala

       Email bix@sendu.me.uk

COPYRIGHT

       Copyright (c) 2006 Sendu Bala. All Rights Reserved.

DISCLAIMER

       This software is provided "as is" without warranty of any kind.

APPENDIX

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

   _setup
        Title   : _setup
        Usage   : $self->_setup(@args)
        Function: Implementers should call this to setup common fields and deal with
                  common arguments to new().
        Returns : n/a
        Args    : @args received in new().

   algorithm
        Title   : algorithm
        Usage   : my $r_type = $hsp->algorithm
        Function: Obtain the name of the algorithm used to obtain the HSP
        Returns : string (e.g., BLASTP)
        Args    : none

   pvalue
        Title   : pvalue
        Usage   : my $pvalue = $hsp->pvalue();
        Function: Returns the P-value for this HSP or undef
        Returns : float or exponential (2e-10)
        Args    : none

   evalue
        Title   : evalue
        Usage   : my $evalue = $hsp->evalue();
        Function: Returns the e-value for this HSP
        Returns : float or exponential (2e-10)
        Args    : none

   frac_identical
        Title   : frac_identical
        Usage   : my $frac_id = $hsp->frac_identical( ['query'|'hit'|'total'] );
        Function: Returns the fraction of identitical positions for this HSP
        Returns : Float in range 0.0 -> 1.0
        Args    : 'query' = num identical / length of query seq (without gaps)
                  'hit'   = num identical / length of hit seq (without gaps)
                  'total' = num identical / length of alignment (with gaps)
                  default = 'total'

   frac_conserved
        Title    : frac_conserved
        Usage    : my $frac_cons = $hsp->frac_conserved( ['query'|'hit'|'total'] );
        Function : Returns the fraction of conserved positions for this HSP.
                   This is the fraction of symbols in the alignment with a
                   positive score.
        Returns : Float in range 0.0 -> 1.0
        Args    : 'query' = num conserved / length of query seq (without gaps)
                  'hit'   = num conserved / length of hit seq (without gaps)
                  'total' = num conserved / length of alignment (with gaps)
                  default = 'total'

   num_identical
        Title   : num_identical
        Usage   : $obj->num_identical($newval)
        Function: returns the number of identical residues in the alignment
        Returns : integer
        Args    : integer (optional)

   num_conserved
        Title   : num_conserved
        Usage   : $obj->num_conserved($newval)
        Function: returns the number of conserved residues in the alignment
        Returns : inetger
        Args    : integer (optional)

   gaps
        Title    : gaps
        Usage    : my $gaps = $hsp->gaps( ['query'|'hit'|'total'] );
        Function : Get the number of gap characters in the query, hit, or total alignment.
        Returns  : Integer, number of gap characters or 0 if none
        Args     : 'query', 'hit' or 'total'; default = 'total'

   query_string
        Title   : query_string
        Usage   : my $qseq = $hsp->query_string;
        Function: Retrieves the query sequence of this HSP as a string
        Returns : string
        Args    : none

   hit_string
        Title   : hit_string
        Usage   : my $hseq = $hsp->hit_string;
        Function: Retrieves the hit sequence of this HSP as a string
        Returns : string
        Args    : none

   homology_string
        Title   : homology_string
        Usage   : my $homo_string = $hsp->homology_string;
        Function: Retrieves the homology sequence for this HSP as a string.
                : The homology sequence is the string of symbols in between the
                : query and hit sequences in the alignment indicating the degree
                : of conservation (e.g., identical, similar, not similar).
        Returns : string
        Args    : none

   length
        Title    : length
        Usage    : my $len = $hsp->length( ['query'|'hit'|'total'] );
        Function : Returns the length of the query or hit in the alignment (without gaps)
                   or the aggregate length of the HSP (including gaps;
                   this may be greater than either hit or query )
        Returns  : integer
        Args     : 'query' = length of query seq (without gaps)
                   'hit'   = length of hit seq (without gaps)
                   'total' = length of alignment (with gaps)
                   default = 'total'
        Args    : none

   hsp_length
        Title   : hsp_length
        Usage   : my $len = $hsp->hsp_length()
        Function: shortcut  length('hsp')
        Returns : floating point between 0 and 100
        Args    : none

   percent_identity
        Title   : percent_identity
        Usage   : my $percentid = $hsp->percent_identity()
        Function: Returns the calculated percent identity for an HSP
        Returns : floating point between 0 and 100
        Args    : none

   get_aln
        Title   : get_aln
        Usage   : my $aln = $hsp->get_aln
        Function: Returns a Bio::SimpleAlign representing the HSP alignment
        Returns : Bio::SimpleAlign
        Args    : none

   seq_inds
        Title   : seq_inds
        Purpose   : Get a list of residue positions (indices) for all identical
                  : or conserved residues in the query or sbjct sequence.
        Example   : @s_ind = $hsp->seq_inds('query', 'identical');
                  : @h_ind = $hsp->seq_inds('hit', 'conserved');
                  : @h_ind = $hsp->seq_inds('hit', 'conserved', 1);
        Returns   : List of integers
                  : May include ranges if collapse is true.
        Argument  : seq_type  = 'query' or 'hit' or 'sbjct'  (default = query)
                     ('sbjct' is synonymous with 'hit')
                    class     = 'identical' or 'conserved' or 'nomatch' or 'gap'
                                 (default = identical)
                                 (can be shortened to 'id' or 'cons')
                                         Note that 'conserved' includes identical unless you
                                         use 'conserved-not-identical'

                    collapse  = boolean, if true, consecutive positions are merged
                                using a range notation, e.g., "1 2 3 4 5 7 9 10 11"
                                collapses to "1-5 7 9-11". This is useful for
                                consolidating long lists. Default = no collapse.
        Throws    : n/a.
        Comments  :

       See Also   : Bio::Search::BlastUtils::collapse_nums(), Bio::Search::Hit::HitI::seq_inds()

   Inherited from Bio::SeqFeature::SimilarityPair
       These methods come from Bio::SeqFeature::SimilarityPair

   query
        Title   : query
        Usage   : my $query = $hsp->query
        Function: Returns a SeqFeature representing the query in the HSP
        Returns : Bio::SeqFeature::Similarity
        Args    : [optional] new value to set

   hit
        Title   : hit
        Usage   : my $hit = $hsp->hit
        Function: Returns a SeqFeature representing the hit in the HSP
        Returns : Bio::SeqFeature::Similarity
        Args    : [optional] new value to set

   significance
        Title   : significance
        Usage   : $evalue = $obj->significance();
                  $obj->significance($evalue);
        Function: Get/Set the significance value (see Bio::SeqFeature::SimilarityPair)
        Returns : significance value (scientific notation string)
        Args    : significance value (sci notation string)

   score
        Title   : score
        Usage   : my $score = $hsp->score();
        Function: Returns the score for this HSP or undef
        Returns : numeric
        Args    : [optional] numeric to set value

   bits
        Title   : bits
        Usage   : my $bits = $hsp->bits();
        Function: Returns the bit value for this HSP or undef
        Returns : numeric
        Args    : none

   strand
        Title   : strand
        Usage   : $hsp->strand('query')
        Function: Retrieves the strand for the HSP component requested
        Returns : +1 or -1 (0 if unknown)
        Args    : 'hit' or 'subject' or 'sbjct' to retrieve the strand of the subject
                  'query' to retrieve the query strand (default)
                  'list' or 'array' to retrieve both query and hit together

   start
        Title   : start
        Usage   : $hsp->start('query')
        Function: Retrieves the start for the HSP component requested
        Returns : integer, or list of two integers (query start and subject start) in
                  list context
        Args    : 'hit' or 'subject' or 'sbjct' to retrieve the start of the subject
                  'query' to retrieve the query start (default)

   end
        Title   : end
        Usage   : $hsp->end('query')
        Function: Retrieves the end for the HSP component requested
        Returns : integer, or list of two integers (query end and subject end) in
                  list context
        Args    : 'hit' or 'subject' or 'sbjct' to retrieve the end of the subject
                  'query' to retrieve the query end (default)

   seq
        Usage     : $hsp->seq( [seq_type] );
        Purpose   : Get the query or sbjct sequence as a Bio::Seq.pm object.
        Example   : $seqObj = $hsp->seq('query');
        Returns   : Object reference for a Bio::LocatableSeq object.
        Argument  : seq_type = 'query' or 'hit' or 'sbjct' (default = 'query').
                  : ('sbjct' is synonymous with 'hit')
                  : default is 'query'

   seq_str
        Usage     : $hsp->seq_str( seq_type );
        Purpose   : Get the full query, sbjct, or 'match' sequence as a string.
                  : The 'match' sequence is the string of symbols in between the
                  : query and sbjct sequences.
        Example   : $str = $hsp->seq_str('query');
        Returns   : String
        Argument  : seq_Type = 'query' or 'hit' or 'sbjct' or 'match'
                  :  ('sbjct' is synonymous with 'hit')
                  : default is 'query'
        Throws    : Exception if the argument does not match an accepted seq_type.
        Comments  :

       See Also   : seq(), seq_inds(), _set_match_seq()

   rank
        Usage     : $hsp->rank( [string] );
        Purpose   : Get the rank of the HSP within a given Blast hit.
        Example   : $rank = $hsp->rank;
        Returns   : Integer (1..n) corresponding to the order in which the HSP
                    appears in the BLAST report.

   matches
        Usage     : $hsp->matches(-seq   => 'hit'|'query',
                                  -start => $start,
                                  -stop  => $stop);
        Purpose   : Get the total number of identical and conservative matches
                  : in the query or sbjct sequence for the given HSP. Optionally can
                  : report data within a defined interval along the seq.
        Example   : ($id,$cons) = $hsp_object->matches(-seq   => 'hit');
                  : ($id,$cons) = $hsp_object->matches(-seq   => 'query',
                                                       -start => 300,
                                                       -stop  => 400);
        Returns   : 2-element array of integers
        Argument  : (1) seq_type = 'query' or 'hit' or 'sbjct' (default = query)
                  :  ('sbjct' is synonymous with 'hit')
                  : (2) start = Starting coordinate (optional)
                  : (3) stop  = Ending coordinate (optional)

   n
        Usage     : $hsp_obj->n()
        Purpose   : Get the N value (num HSPs on which P/Expect is based).
        Returns   : Integer or null string if not defined.
        Argument  : n/a
        Throws    : n/a
        Comments  : The 'N' value is listed in parenthesis with P/Expect value:
                  : e.g., P(3) = 1.2e-30  ---> (N = 3).
                  : Not defined in NCBI Blast2 with gaps.
                  : This typically is equal to the number of HSPs but not always.

   range
        Usage     : $hsp->range( [seq_type] );
        Purpose   : Gets the (start, end) coordinates for the query or sbjct sequence
                  : in the HSP alignment.
        Example   : ($query_beg, $query_end) = $hsp->range('query');
                  : ($hit_beg, $hit_end) = $hsp->range('hit');
        Returns   : Two-element array of integers
        Argument  : seq_type = string, 'query' or 'hit' or 'sbjct'  (default = 'query')
                  :  ('sbjct' is synonymous with 'hit')
        Throws    : n/a
        Comments  : This is a convenience method for constructions such as
                    ($hsp->query->start, $hsp->query->end)