annotate variant_effect_predictor/Bio/Search/HSP/HSPI.pm @ 2:a5976b2dce6f

changing defualt values for ensembl database
author mahtabm
date Thu, 11 Apr 2013 17:15:42 +1000
parents 1f6dce3d34e0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1 #-----------------------------------------------------------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
2 # $Id: HSPI.pm,v 1.21.2.1 2003/01/22 22:51:00 jason Exp $
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
3 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
4 # BioPerl module for Bio::Search::HSP::HSPI
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
5 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
6 # Cared for by Steve Chervitz <sac@bioperl.org>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
7 # and Jason Stajich <jason@bioperl.org>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
8 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
9 # You may distribute this module under the same terms as perl itself
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
10 #-----------------------------------------------------------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
11
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
12 # POD documentation - main docs before the code
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
13
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
14 =head1 NAME
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
15
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
16 Bio::Search::HSP::HSPI - Interface for a High Scoring Pair in a similarity search result
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
17
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
18 =head1 SYNOPSIS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
19
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
20 $r_type = $hsp->algorithm
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
21
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
22 $pvalue = $hsp->pvalue();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
23
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
24 $evalue = $hsp->evalue();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
25
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
26 $frac_id = $hsp->frac_identical( ['query'|'hit'|'total'] );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
27
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28 $frac_cons = $hsp->frac_conserved( ['query'|'hit'|'total'] );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30 $gaps = $hsp->gaps( ['query'|'hit'|'total'] );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32 $qseq = $hsp->query_string;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 $hseq = $hsp->hit_string;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36 $homology_string = $hsp->homology_string;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38 $len = $hsp->length( ['query'|'hit'|'total'] );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40 $rank = $hsp->rank;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44 Bio::Search::HSP::HSPI objects cannot be instantiated since this
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45 module defines a pure interface.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47 Given an object that implements the Bio::Search::HSP::HSPI interface,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48 you can do the following things with it:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50 =head1 SEE ALSO
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52 This interface inherits methods from these other modules:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54 L<Bio::SeqFeatureI>,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55 L<Bio::SeqFeature::FeaturePair>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56 L<Bio::SeqFeature::SimilarityPair>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58 Please refer to these modules for documentation of the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59 many additional inherited methods.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61 =head1 FEEDBACK
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63 =head2 Mailing Lists
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65 User feedback is an integral part of the evolution of this and other
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66 Bioperl modules. Send your comments and suggestions preferably to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67 the Bioperl mailing list. Your participation is much appreciated.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69 bioperl-l@bioperl.org - General discussion
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70 http://bioperl.org/MailList.shtml - About the mailing lists
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72 =head2 Reporting Bugs
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74 Report bugs to the Bioperl bug tracking system to help us keep track
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75 of the bugs and their resolution. Bug reports can be submitted via
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76 email or the web:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78 bioperl-bugs@bioperl.org
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79 http://bugzilla.bioperl.org/
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81 =head1 AUTHOR - Steve Chervitz, Jason Stajich
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83 Email sac@bioperl.org
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84 Email jason@bioperl.org
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86 =head1 COPYRIGHT
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88 Copyright (c) 2001 Steve Chervitz, Jason Stajich. All Rights Reserved.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90 =head1 DISCLAIMER
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92 This software is provided "as is" without warranty of any kind.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94 =head1 APPENDIX
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96 The rest of the documentation details each of the object methods.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97 Internal methods are usually preceded with a _
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102 # Let the code begin...
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105 package Bio::Search::HSP::HSPI;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106 use vars qw(@ISA);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108 use Bio::Root::RootI;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109 use Bio::SeqFeature::SimilarityPair;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112 use Carp;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114 @ISA = qw(Bio::SeqFeature::SimilarityPair Bio::Root::RootI);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117 =head2 algorithm
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119 Title : algorithm
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120 Usage : my $r_type = $hsp->algorithm
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121 Function: Obtain the name of the algorithm used to obtain the HSP
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122 Returns : string (e.g., BLASTP)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123 Args : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127 sub algorithm{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128 my ($self,@args) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129 $self->throw_not_implemented;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132 =head2 pvalue
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134 Title : pvalue
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135 Usage : my $pvalue = $hsp->pvalue();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136 Function: Returns the P-value for this HSP or undef
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137 Returns : float or exponential (2e-10)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138 P-value is not defined with NCBI Blast2 reports.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139 Args : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143 sub pvalue {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144 my ($self) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145 $self->throw_not_implemented;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148 =head2 evalue
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150 Title : evalue
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151 Usage : my $evalue = $hsp->evalue();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152 Function: Returns the e-value for this HSP
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153 Returns : float or exponential (2e-10)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154 Args : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158 sub evalue {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159 my ($self) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160 $self->throw_not_implemented;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163 =head2 frac_identical
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165 Title : frac_identical
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166 Usage : my $frac_id = $hsp->frac_identical( ['query'|'hit'|'total'] );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167 Function: Returns the fraction of identitical positions for this HSP
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168 Returns : Float in range 0.0 -> 1.0
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
169 Args : 'query' = num identical / length of query seq (without gaps)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
170 'hit' = num identical / length of hit seq (without gaps)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
171 'total' = num identical / length of alignment (with gaps)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
172 default = 'total'
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
173
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
174 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
175
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
176 sub frac_identical {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
177 my ($self, $type) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
178 $self->throw_not_implemented;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
179 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
180
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
181 =head2 frac_conserved
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
182
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
183 Title : frac_conserved
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
184 Usage : my $frac_cons = $hsp->frac_conserved( ['query'|'hit'|'total'] );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
185 Function : Returns the fraction of conserved positions for this HSP.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
186 This is the fraction of symbols in the alignment with a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
187 positive score.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
188 Returns : Float in range 0.0 -> 1.0
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
189 Args : 'query' = num conserved / length of query seq (without gaps)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
190 'hit' = num conserved / length of hit seq (without gaps)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
191 'total' = num conserved / length of alignment (with gaps)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
192 default = 'total'
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
193
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
194 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
195
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
196 sub frac_conserved {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
197 my ($self, $type) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
198 $self->throw_not_implemented;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
199 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
200
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
201 =head2 num_identical
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
202
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
203 Title : num_identical
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
204 Usage : $obj->num_identical($newval)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
205 Function: returns the number of identical residues in the alignment
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
206 Returns : integer
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
207 Args : integer (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
208
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
209
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
210 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
211
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
212 sub num_identical{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
213 shift->throw_not_implemented;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
214 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
215
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
216 =head2 num_conserved
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
217
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
218 Title : num_conserved
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
219 Usage : $obj->num_conserved($newval)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
220 Function: returns the number of conserved residues in the alignment
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
221 Returns : inetger
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
222 Args : integer (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
223
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
224
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
225 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
226
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
227 sub num_conserved{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
228 shift->throw_not_implemented();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
229 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
230
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
231 =head2 gaps
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
232
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
233 Title : gaps
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
234 Usage : my $gaps = $hsp->gaps( ['query'|'hit'|'total'] );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
235 Function : Get the number of gaps in the query, hit, or total alignment.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
236 Returns : Integer, number of gaps or 0 if none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
237 Args : 'query' = num conserved / length of query seq (without gaps)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
238 'hit' = num conserved / length of hit seq (without gaps)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
239 'total' = num conserved / length of alignment (with gaps)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
240 default = 'total'
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
241
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
242 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
243
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
244 sub gaps {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
245 my ($self, $type) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
246 $self->throw_not_implemented;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
247 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
248
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
249 =head2 query_string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
250
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
251 Title : query_string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
252 Usage : my $qseq = $hsp->query_string;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
253 Function: Retrieves the query sequence of this HSP as a string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
254 Returns : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
255 Args : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
256
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
257
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
258 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
259
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
260 sub query_string{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
261 my ($self) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
262 $self->throw_not_implemented;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
263 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
264
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
265 =head2 hit_string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
266
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
267 Title : hit_string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
268 Usage : my $hseq = $hsp->hit_string;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
269 Function: Retrieves the hit sequence of this HSP as a string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
270 Returns : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
271 Args : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
272
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
273
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
274 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
275
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
276 sub hit_string{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
277 my ($self) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
278 $self->throw_not_implemented;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
279 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
280
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
281 =head2 homology_string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
282
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
283 Title : homology_string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
284 Usage : my $homo_string = $hsp->homology_string;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
285 Function: Retrieves the homology sequence for this HSP as a string.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
286 : The homology sequence is the string of symbols in between the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
287 : query and hit sequences in the alignment indicating the degree
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
288 : of conservation (e.g., identical, similar, not similar).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
289 Returns : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
290 Args : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
291
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
292 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
293
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
294 sub homology_string{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
295 my ($self) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
296 $self->throw_not_implemented;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
297 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
298
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
299 =head2 length
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
300
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
301 Title : length
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
302 Usage : my $len = $hsp->length( ['query'|'hit'|'total'] );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
303 Function : Returns the length of the query or hit in the alignment (without gaps)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
304 or the aggregate length of the HSP (including gaps;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
305 this may be greater than either hit or query )
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
306 Returns : integer
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
307 Args : 'query' = length of query seq (without gaps)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
308 'hit' = length of hit seq (without gaps)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
309 'total' = length of alignment (with gaps)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
310 default = 'total'
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
311 Args : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
312
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
313 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
314
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
315 sub length{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
316 shift->throw_not_implemented();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
317 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
318
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
319 =head2 percent_identity
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
320
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
321 Title : percent_identity
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
322 Usage : my $percentid = $hsp->percent_identity()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
323 Function: Returns the calculated percent identity for an HSP
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
324 Returns : floating point between 0 and 100
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
325 Args : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
326
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
327
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
328 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
329
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
330 sub percent_identity{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
331 my ($self) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
332 return $self->frac_identical('hsp') * 100;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
333 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
334
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
335 =head2 get_aln
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
336
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
337 Title : get_aln
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
338 Usage : my $aln = $hsp->gel_aln
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
339 Function: Returns a Bio::SimpleAlign representing the HSP alignment
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
340 Returns : Bio::SimpleAlign
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
341 Args : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
342
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
343 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
344
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
345 sub get_aln {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
346 my ($self) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
347 $self->throw_not_implemented;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
348 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
349
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
350
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
351 =head2 seq_inds
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
352
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
353 Title : seq_inds
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
354 Purpose : Get a list of residue positions (indices) for all identical
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
355 : or conserved residues in the query or sbjct sequence.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
356 Example : @s_ind = $hsp->seq_inds('query', 'identical');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
357 : @h_ind = $hsp->seq_inds('hit', 'conserved');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
358 : @h_ind = $hsp->seq_inds('hit', 'conserved', 1);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
359 Returns : List of integers
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
360 : May include ranges if collapse is true.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
361 Argument : seq_type = 'query' or 'hit' or 'sbjct' (default = query)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
362 ('sbjct' is synonymous with 'hit')
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
363 class = 'identical' or 'conserved' or 'nomatch' or 'gap'
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
364 (default = identical)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
365 (can be shortened to 'id' or 'cons')
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
366
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
367 collapse = boolean, if true, consecutive positions are merged
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
368 using a range notation, e.g., "1 2 3 4 5 7 9 10 11"
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
369 collapses to "1-5 7 9-11". This is useful for
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
370 consolidating long lists. Default = no collapse.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
371 Throws : n/a.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
372 Comments :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
373
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
374 See Also : L<Bio::Search::BlastUtils::collapse_nums()|Bio::Search::BlastUtils>, L<Bio::Search::Hit::HitI::seq_inds()|Bio::Search::Hit::HitI>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
375
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
376 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
377
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
378 sub seq_inds {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
379 shift->throw_not_implemented();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
380 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
381
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
382 =head2 Inherited from Bio::SeqFeature::SimilarityPair
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
383
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
384 These methods come from Bio::SeqFeature::SimilarityPair
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
385
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
386 =head2 query
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
387
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
388 Title : query
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
389 Usage : my $query = $hsp->query
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
390 Function: Returns a SeqFeature representing the query in the HSP
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
391 Returns : Bio::SeqFeature::Similarity
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
392 Args : [optional] new value to set
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
393
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
394
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
395 =head2 hit
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
396
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
397 Title : hit
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
398 Usage : my $hit = $hsp->hit
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
399 Function: Returns a SeqFeature representing the hit in the HSP
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
400 Returns : Bio::SeqFeature::Similarity
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
401 Args : [optional] new value to set
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
402
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
403
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
404 =head2 significance
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
405
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
406 Title : significance
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
407 Usage : $evalue = $obj->significance();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
408 $obj->significance($evalue);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
409 Function: Get/Set the significance value (see Bio::SeqFeature::SimilarityPair)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
410 Returns : significance value (scientific notation string)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
411 Args : significance value (sci notation string)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
412
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
413
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
414 =head2 score
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
415
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
416 Title : score
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
417 Usage : my $score = $hsp->score();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
418 Function: Returns the score for this HSP or undef
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
419 Returns : numeric
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
420 Args : [optional] numeric to set value
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
421
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
422 =head2 bits
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
423
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
424 Title : bits
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
425 Usage : my $bits = $hsp->bits();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
426 Function: Returns the bit value for this HSP or undef
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
427 Returns : numeric
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
428 Args : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
429
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
430 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
431
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
432 # override
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
433
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
434 =head2 strand
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
435
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
436 Title : strand
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
437 Usage : $hsp->strand('query')
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
438 Function: Retrieves the strand for the HSP component requested
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
439 Returns : +1 or -1 (0 if unknown)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
440 Args : 'hit' or 'subject' or 'sbjct' to retrieve the strand of the subject
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
441 'query' to retrieve the query strand (default)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
442 'list' or 'array' to retreive both query and hit together
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
443
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
444 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
445
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
446 sub strand {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
447 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
448 my $val = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
449 $val = 'query' unless defined $val;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
450 $val =~ s/^\s+//;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
451
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
452 if( $val =~ /^q/i ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
453 return $self->query->strand(shift);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
454 } elsif( $val =~ /^(hi|s)/i ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
455 return $self->hit->strand(shift);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
456 } elsif ( $val =~ m/^(list|array)/) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
457 return ($self->query->strand(shift), $self->hit->strand(shift));
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
458 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
459 $self->warn("unrecognized component $val requested\n");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
460 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
461 return 0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
462 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
463
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
464 =head2 start
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
465
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
466 Title : start
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
467 Usage : $hsp->start('query')
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
468 Function: Retrieves the start for the HSP component requested
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
469 Returns : integer
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
470 Args : 'hit' or 'subject' or 'sbjct' to retrieve the start of the subject
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
471 'query' to retrieve the query start (default)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
472
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
473 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
474
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
475 sub start {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
476 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
477 my $val = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
478 $val = 'query' unless defined $val;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
479 $val =~ s/^\s+//;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
480
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
481 if( $val =~ /^q/i ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
482 return $self->query->start(shift);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
483 } elsif( $val =~ /^(hi|s)/i ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
484 return $self->hit->start(shift);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
485 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
486 $self->warn("unrecognized component $val requested\n");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
487 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
488 return 0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
489 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
490
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
491 =head2 end
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
492
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
493 Title : end
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
494 Usage : $hsp->end('query')
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
495 Function: Retrieves the end for the HSP component requested
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
496 Returns : integer
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
497 Args : 'hit' or 'subject' or 'sbjct' to retrieve the end of the subject
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
498 'query' to retrieve the query end (default)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
499
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
500 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
501
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
502 sub end {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
503 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
504 my $val = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
505 $val = 'query' unless defined $val;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
506 $val =~ s/^\s+//;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
507
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
508 if( $val =~ /^q/i ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
509 return $self->query->end(shift);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
510 } elsif( $val =~ /^(hi|s)/i ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
511 return $self->hit->end(shift);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
512 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
513 $self->warn("unrecognized component $val requested\n");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
514 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
515 return 0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
516 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
517
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
518 =head2 seq_str
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
519
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
520 Usage : $hsp->seq_str( seq_type );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
521 Purpose : Get the full query, sbjct, or 'match' sequence as a string.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
522 : The 'match' sequence is the string of symbols in between the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
523 : query and sbjct sequences.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
524 Example : $str = $hsp->seq_str('query');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
525 Returns : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
526 Argument : seq_Type = 'query' or 'hit' or 'sbjct' or 'match'
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
527 : ('sbjct' is synonymous with 'hit')
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
528 : default is 'query'
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
529 Throws : Exception if the argument does not match an accepted seq_type.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
530 Comments :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
531
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
532 See Also : L<seq()|seq>, L<seq_inds()|seq_inds>, B<_set_match_seq()>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
533
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
534 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
535
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
536 sub seq_str {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
537 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
538 my $type = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
539 if( $type =~ /^q/i ) { return $self->query_string(shift) }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
540 elsif( $type =~ /^(s|hi)/i ) { return $self->hit_string(shift)}
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
541 elsif ( $type =~ /^(ho|ma)/i ) { return $self->hit_string(shift) }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
542 else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
543 $self->warn("unknown sequence type $type");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
544 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
545 return '';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
546 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
547
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
548
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
549 =head2 rank
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
550
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
551 Usage : $hsp->rank( [string] );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
552 Purpose : Get the rank of the HSP within a given Blast hit.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
553 Example : $rank = $hsp->rank;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
554 Returns : Integer (1..n) corresponding to the order in which the HSP
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
555 appears in the BLAST report.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
556
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
557 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
558
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
559 sub rank { shift->throw_not_implemented }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
560
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
561 =head2 matches
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
562
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
563 Usage : $hsp->matches([seq_type], [start], [stop]);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
564 Purpose : Get the total number of identical and conservative matches
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
565 : in the query or sbjct sequence for the given HSP. Optionally can
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
566 : report data within a defined interval along the seq.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
567 : (Note: 'conservative' matches are called 'positives' in the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
568 : Blast report.)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
569 Example : ($id,$cons) = $hsp_object->matches('hit');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
570 : ($id,$cons) = $hsp_object->matches('query',300,400);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
571 Returns : 2-element array of integers
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
572 Argument : (1) seq_type = 'query' or 'hit' or 'sbjct' (default = query)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
573 : ('sbjct' is synonymous with 'hit')
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
574 : (2) start = Starting coordinate (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
575 : (3) stop = Ending coordinate (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
576 Throws : Exception if the supplied coordinates are out of range.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
577 Comments : Relies on seq_str('match') to get the string of alignment symbols
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
578 : between the query and sbjct lines which are used for determining
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
579 : the number of identical and conservative matches.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
580
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
581 See Also : L<length()|length>, L<gaps()|gaps>, L<seq_str()|seq_str>, L<Bio::Search::Hit::BlastHit::_adjust_contigs()|Bio::Search::Hit::BlastHit>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
582
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
583 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
584
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
585 #-----------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
586 sub matches {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
587 #-----------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
588 my( $self, %param ) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
589 my(@data);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
590 my($seqType, $beg, $end) = ($param{-SEQ}, $param{-START}, $param{-STOP});
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
591 $seqType ||= 'query';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
592 $seqType = 'sbjct' if $seqType eq 'hit';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
593
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
594 if(!defined $beg && !defined $end) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
595 ## Get data for the whole alignment.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
596 push @data, ($self->num_identical, $self->num_conserved);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
597 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
598 ## Get the substring representing the desired sub-section of aln.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
599 $beg ||= 0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
600 $end ||= 0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
601 my($start,$stop) = $self->range($seqType);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
602 if($beg == 0) { $beg = $start; $end = $beg+$end; }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
603 elsif($end == 0) { $end = $stop; $beg = $end-$beg; }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
604
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
605 if($end >= $stop) { $end = $stop; } ##ML changed from if (end >stop)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
606 else { $end += 1;} ##ML moved from commented position below, makes
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
607 ##more sense here
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
608 # if($end > $stop) { $end = $stop; }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
609 if($beg < $start) { $beg = $start; }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
610 # else { $end += 1;}
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
611
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
612 # my $seq = substr($self->seq_str('match'), $beg-$start, ($end-$beg));
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
613
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
614 ## ML: START fix for substr out of range error ------------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
615 my $seq = "";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
616 if (($self->algorithm eq 'TBLASTN') and ($seqType eq 'sbjct'))
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
617 {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
618 $seq = substr($self->seq_str('match'),
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
619 int(($beg-$start)/3), int(($end-$beg+1)/3));
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
620
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
621 } elsif (($self->algorithm eq 'BLASTX') and ($seqType eq 'query'))
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
622 {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
623 $seq = substr($self->seq_str('match'),
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
624 int(($beg-$start)/3), int(($end-$beg+1)/3));
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
625 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
626 $seq = substr($self->seq_str('match'),
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
627 $beg-$start, ($end-$beg));
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
628 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
629 ## ML: End of fix for substr out of range error -----------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
630
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
631
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
632 ## ML: debugging code
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
633 ## This is where we get our exception. Try printing out the values going
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
634 ## into this:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
635 ##
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
636 # print STDERR
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
637 # qq(*------------MY EXCEPTION --------------------\nSeq: ") ,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
638 # $self->seq_str("$seqType"), qq("\n),$self->rank,",( index:";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
639 # print STDERR $beg-$start, ", len: ", $end-$beg," ), (HSPRealLen:",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
640 # CORE::length $self->seq_str("$seqType");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
641 # print STDERR ", HSPCalcLen: ", $stop - $start +1 ," ),
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
642 # ( beg: $beg, end: $end ), ( start: $start, stop: stop )\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
643 ## ML: END DEBUGGING CODE----------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
644
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
645 if(!CORE::length $seq) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
646 $self->throw("Undefined sub-sequence ($beg,$end). Valid range = $start - $stop");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
647 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
648 ## Get data for a substring.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
649 # printf "Collecting HSP subsection data: beg,end = %d,%d; start,stop = %d,%d\n%s<---\n", $beg, $end, $start, $stop, $seq;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
650 # printf "Original match seq:\n%s\n",$self->seq_str('match');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
651 $seq =~ s/ //g; # remove space (no info).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
652 my $len_cons = CORE::length $seq;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
653 $seq =~ s/\+//g; # remove '+' characters (conservative substitutions)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
654 my $len_id = CORE::length $seq;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
655 push @data, ($len_id, $len_cons);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
656 # printf " HSP = %s\n id = %d; cons = %d\n", $self->rank, $len_id, $len_cons; <STDIN>;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
657 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
658 @data;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
659 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
660
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
661 =head2 n
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
662
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
663 Usage : $hsp_obj->n()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
664 Purpose : Get the N value (num HSPs on which P/Expect is based).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
665 : This value is not defined with NCBI Blast2 with gapping.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
666 Returns : Integer or null string if not defined.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
667 Argument : n/a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
668 Throws : n/a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
669 Comments : The 'N' value is listed in parenthesis with P/Expect value:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
670 : e.g., P(3) = 1.2e-30 ---> (N = 3).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
671 : Not defined in NCBI Blast2 with gaps.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
672 : This typically is equal to the number of HSPs but not always.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
673 : To obtain the number of HSPs, use Bio::Search::Hit::HitI::num_hsps().
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
674
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
675 See Also : L<Bio::SeqFeature::SimilarityPair::score()|Bio::SeqFeature::SimilarityPair>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
676
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
677 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
678
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
679 sub n { shift->throw_not_implemented }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
680
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
681 =head2 range
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
682
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
683 Usage : $hsp->range( [seq_type] );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
684 Purpose : Gets the (start, end) coordinates for the query or sbjct sequence
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
685 : in the HSP alignment.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
686 Example : ($query_beg, $query_end) = $hsp->range('query');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
687 : ($hit_beg, $hit_end) = $hsp->range('hit');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
688 Returns : Two-element array of integers
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
689 Argument : seq_type = string, 'query' or 'hit' or 'sbjct' (default = 'query')
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
690 : ('sbjct' is synonymous with 'hit')
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
691 Throws : n/a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
692 Comments : This is a convenience method for constructions such as
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
693 ($hsp->query->start, $hsp->query->end)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
694
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
695 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
696
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
697 sub range { shift->throw_not_implemented }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
698
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
699
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
700 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
701