annotate variant_effect_predictor/Bio/Search/HSP/HSPI.pm @ 1:d6778b5d8382 draft default tip

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