Mercurial > repos > mahtabm > ensembl
diff variant_effect_predictor/Bio/Search/HSP/HMMERHSP.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/HSP/HMMERHSP.pm Thu Apr 11 02:01:53 2013 -0400 @@ -0,0 +1,394 @@ +# $Id: HMMERHSP.pm,v 1.3 2002/10/22 07:45:17 lapp Exp $ +# +# BioPerl module for Bio::Search::HSP::HMMERHSP +# +# 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::HSP::HMMERHSP - A HSP object for HMMER results + +=head1 SYNOPSIS + + use Bio::Search::HSP::HMMERHSP; + # us it just like a Bio::Search::HSP::GenericHSP object + +=head1 DESCRIPTION + +This object is a specialization of L<Bio::Search::HSP::GenericHSP>. + +=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::HSP::HMMERHSP; +use vars qw(@ISA); +use strict; +use Bio::Search::HSP::GenericHSP; + +@ISA = qw(Bio::Search::HSP::GenericHSP); + +=head2 new + + Title : new + Usage : my $obj = new Bio::Search::HSP::HMMERHSP(); + Function: Builds a new Bio::Search::HSP::HMMERHSP object + Returns : Bio::Search::HSP::HMMERHSP + Args : + +Plus Bio::Seach::HSP::GenericHSP methods + + -algorithm => algorithm used (BLASTP, TBLASTX, FASTX, etc) + -evalue => evalue + -pvalue => pvalue + -bits => bit value for HSP + -score => score value for HSP (typically z-score but depends on + analysis) + -hsp_length=> Length of the HSP (including gaps) + -identical => # of residues that that matched identically + -conserved => # of residues that matched conservatively + (only protein comparisions; + conserved == identical in nucleotide comparisons) + -hsp_gaps => # of gaps in the HSP + -query_gaps => # of gaps in the query in the alignment + -hit_gaps => # of gaps in the subject in the alignment + -query_name => HSP Query sequence name (if available) + -query_start => HSP Query start (in original query sequence coords) + -query_end => HSP Query end (in original query sequence coords) + -hit_name => HSP Hit sequence name (if available) + -hit_start => HSP Hit start (in original hit sequence coords) + -hit_end => HSP Hit end (in original hit sequence coords) + -hit_length => total length of the hit sequence + -query_length=> total length of the query sequence + -query_seq => query sequence portion of the HSP + -hit_seq => hit sequence portion of the HSP + -homology_seq=> homology sequence for the HSP + -hit_frame => hit frame (only if hit is translated protein) + -query_frame => query frame (only if query is translated protein) + +=cut + +=head2 Bio::Search::HSP::HSPI methods + +Implementation of Bio::Search::HSP::HSPI methods follow + +=head2 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 : [optional] scalar string to set value + +=cut + +=head2 pvalue + + Title : pvalue + Usage : my $pvalue = $hsp->pvalue(); + Function: Returns the P-value for this HSP or undef + Returns : float or exponential (2e-10) + P-value is not defined with NCBI Blast2 reports. + Args : [optional] numeric to set value + +=cut + +=head2 evalue + + Title : evalue + Usage : my $evalue = $hsp->evalue(); + Function: Returns the e-value for this HSP + Returns : float or exponential (2e-10) + Args : [optional] numeric to set value + +=cut + +=head2 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 : arg 1: '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' + arg 2: [optional] frac identical value to set for the type requested + +=cut + +=head2 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 : arg 1: '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' + arg 2: [optional] frac conserved value to set for the type requested + +=cut + +=head2 gaps + + Title : gaps + Usage : my $gaps = $hsp->gaps( ['query'|'hit'|'total'] ); + Function : Get the number of gaps in the query, hit, or total alignment. + Returns : Integer, number of gaps or 0 if none + Args : arg 1: 'query' = num gaps in query seq + 'hit' = num gaps in hit seq + 'total' = num gaps in whole alignment + default = 'total' + arg 2: [optional] integer gap value to set for the type requested + +=cut + +=head2 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 : [optional] string to set for query sequence + + +=cut + +=head2 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 : [optional] string to set for hit sequence + + +=cut + + +=head2 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 : [optional] string to set for homology sequence + +=cut + +=head2 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 : arg 1: 'query' = length of query seq (without gaps) + 'hit' = length of hit seq (without gaps) + 'total' = length of alignment (with gaps) + default = 'total' + arg 2: [optional] integer length value to set for specific type + +=cut + +=head2 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 + + +=cut + + +=head2 frame + + Title : frame + Usage : $hsp->frame($queryframe,$subjectframe) + Function: Set the Frame for both query and subject and insure that + they agree. + This overrides the frame() method implementation in + FeaturePair. + Returns : array of query and subjects if return type wants an array + or query frame if defined or subject frame + Args : none + Note : Frames are stored in the GFF way (0-2) not 1-3 + as they are in BLAST (negative frames are deduced by checking + the strand of the query or hit) + +=cut + + +=head2 get_aln + + Title : get_aln + Usage : my $aln = $hsp->gel_aln + Function: Returns a Bio::SimpleAlign representing the HSP alignment + Returns : Bio::SimpleAlign + Args : none + +=cut + +sub get_aln { + my ($self) = shift; + $self->warn("Innapropriate to build a Bio::SimpleAlign from a HMMER HSP object"); + return undef; +} + +=head2 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) + + +=cut + +=head2 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) + + +=cut + +=head2 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') + : + : 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 : L<Bio::Search::BlastUtils::collapse_nums()|Bio::Search::BlastUtils>, L<Bio::Search::Hit::HitI::seq_inds()|Bio::Search::Hit::HitI> + +=cut + +=head2 Inherited from Bio::SeqFeature::SimilarityPair + +These methods come from Bio::SeqFeature::SimilarityPair + +=head2 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 + + +=head2 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 + + +=head2 significance + + Title : significance + Usage : $evalue = $obj->significance(); + $obj->significance($evalue); + Function: Get/Set the significance value + Returns : numeric + Args : [optional] new value to set + + +=head2 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 + +=cut + +=head2 bits + + Title : bits + Usage : my $bits = $hsp->bits(); + Function: Returns the bit value for this HSP or undef + Returns : numeric + Args : none + +=cut + + +1;