annotate variant_effect_predictor/Bio/Search/Result/GenericResult.pm @ 0:21066c0abaf5 draft

Uploaded
author willmclaren
date Fri, 03 Aug 2012 10:04:48 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
1 # $Id: GenericResult.pm,v 1.15 2002/12/05 13:46:34 heikki Exp $
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
2 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
3 # BioPerl module for Bio::Search::Result::GenericResult
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
4 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
5 # Cared for by Jason Stajich <jason@bioperl.org>
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
6 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
7 # Copyright Jason Stajich
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 # POD documentation - main docs before the code
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
12
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
13 =head1 NAME
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
14
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
15 Bio::Search::Result::GenericResult - Generic Implementation of Bio::Search::Result::ResultI interface applicable to most search results.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
16
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
17 =head1 SYNOPSIS
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
18
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
19
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
20 # typically one gets Results from a SearchIO stream
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
21 use Bio::SearchIO;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
22 my $io = new Bio::SearchIO(-format => 'blast',
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
23 -file => 't/data/HUMBETGLOA.tblastx');
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
24 while( my $result = $io->next_result) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
25 # process all search results within the input stream
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
26 while( my $hit = $result->next_hits()) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
27 # insert code here for hit processing
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
28 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
29 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
30
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
31 use Bio::Search::Result::GenericResult;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
32 my @hits = (); # would be a list of Bio::Search::Hit::HitI objects
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
33 # typically these are created from a Bio::SearchIO stream
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
34 my $result = new Bio::Search::Result::GenericResult
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
35 ( -query_name => 'HUMBETGLOA',
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
36 -query_accession => ''
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
37 -query_description => 'Human haplotype C4 beta-globin gene, complete cds.'
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
38 -query_length => 3002
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
39 -database_name => 'ecoli.aa'
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
40 -database_letters => 4662239,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
41 -database_entries => 400,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
42 -parameters => { 'e' => '0.001' },
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
43 -statistics => { 'kappa' => 0.731 },
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
44 -algorithm => 'blastp',
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
45 -algorithm_version => '2.1.2',
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
46 );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
47
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
48 my $id = $result->query_name();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
49
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
50 my $desc = $result->query_description();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
51
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
52 my $name = $result->database_name();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
53
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
54 my $size = $result->database_letters();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
55
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
56 my $num_entries = $result->database_entries();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
57
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
58 my $gap_ext = $result->get_parameter('e');
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
59
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
60 my @params = $result->available_parameters;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
61
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
62 my $kappa = $result->get_statistic('kappa');
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
63
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
64 my @statnames = $result->available_statistics;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
65
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
66
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
67
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
68 =head1 DESCRIPTION
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
69
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
70 This object is an implementation of the Bio::Search::Result::ResultI
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
71 interface and provides a generic place to store results from a
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
72 sequence database search.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
73
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
74 =head1 FEEDBACK
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
75
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
76 =head2 Mailing Lists
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
77
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
78 User feedback is an integral part of the evolution of this and other
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
79 Bioperl modules. Send your comments and suggestions preferably to
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
80 the Bioperl mailing list. Your participation is much appreciated.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
81
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
82 bioperl-l@bioperl.org - General discussion
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
83 http://bioperl.org/MailList.shtml - About the mailing lists
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
84
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
85 =head2 Reporting Bugs
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
86
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
87 Report bugs to the Bioperl bug tracking system to help us keep track
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
88 of the bugs and their resolution. Bug reports can be submitted via
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
89 email or the web:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
90
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
91 bioperl-bugs@bioperl.org
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
92 http://bugzilla.bioperl.org/
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
93
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
94 =head1 AUTHOR - Jason Stajich and Steve Chervitz
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
95
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
96 Email jason@bioperl.org
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
97 Email sac@bioperl.org
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
98
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
99 =head1 CONTRIBUTORS
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
100
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
101 Additional contributors names and emails here
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
102
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
103 =head1 APPENDIX
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
104
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
105 The rest of the documentation details each of the object methods.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
106 Internal methods are usually preceded with a _
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
107
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
108 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
109
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
110
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
111 # Let the code begin...
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
112
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
113
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
114 package Bio::Search::Result::GenericResult;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
115 use vars qw(@ISA);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
116 use strict;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
117
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
118 use Bio::Root::Root;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
119 use Bio::Search::Result::ResultI;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
120
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
121 use overload
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
122 '""' => \&to_string;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
123
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
124 @ISA = qw(Bio::Root::Root Bio::Search::Result::ResultI);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
125
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
126 =head2 new
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
127
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
128 Title : new
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
129 Usage : my $obj = new Bio::Search::Result::GenericResult();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
130 Function: Builds a new Bio::Search::Result::GenericResult object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
131 Returns : Bio::Search::Result::GenericResult
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
132 Args : -query_name => Name of query Sequence
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
133 -query_accession => Query accession number (if available)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
134 -query_description => Description of query sequence
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
135 -query_length => Length of query sequence
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
136 -database_name => Name of database
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
137 -database_letters => Number of residues in database
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
138 -database_entries => Number of entries in database
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
139 -parameters => hash ref of search parameters (key => value)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
140 -statistics => hash ref of search statistics (key => value)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
141 -algorithm => program name (blastx)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
142 -algorithm_version => version of the algorithm (2.1.2)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
143 -algorithm_reference => literature reference string for this algorithm
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
144
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
145 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
146
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
147 sub new {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
148 my($class,@args) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
149
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
150 my $self = $class->SUPER::new(@args);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
151
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
152 $self->{'_hits'} = [];
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
153 $self->{'_hitindex'} = 0;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
154 $self->{'_statistics'} = {};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
155 $self->{'_parameters'} = {};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
156
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
157 my ($qname,$qacc,$qdesc,$qlen,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
158 $dbname,$dblet,$dbent,$params,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
159 $stats, $hits, $algo, $algo_v,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
160 $prog_ref, $algo_r) = $self->_rearrange([qw(QUERY_NAME
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
161 QUERY_ACCESSION
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
162 QUERY_DESCRIPTION
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
163 QUERY_LENGTH
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
164 DATABASE_NAME
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
165 DATABASE_LETTERS
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
166 DATABASE_ENTRIES
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
167 PARAMETERS
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
168 STATISTICS
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
169 HITS
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
170 ALGORITHM
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
171 ALGORITHM_VERSION
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
172 PROGRAM_REFERENCE
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
173 ALGORITHM_REFERENCE
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
174 )],@args);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
175
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
176 $algo_r ||= $prog_ref;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
177 defined $algo && $self->algorithm($algo);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
178 defined $algo_v && $self->algorithm_version($algo_v);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
179 defined $algo_r && $self->algorithm_reference($algo_r);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
180
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
181 defined $qname && $self->query_name($qname);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
182 defined $qacc && $self->query_accession($qacc);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
183 defined $qdesc && $self->query_description($qdesc);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
184 defined $qlen && $self->query_length($qlen);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
185 defined $dbname && $self->database_name($dbname);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
186 defined $dblet && $self->database_letters($dblet);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
187 defined $dbent && $self->database_entries($dbent);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
188
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
189 if( defined $params ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
190 if( ref($params) !~ /hash/i ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
191 $self->throw("Must specify a hash reference with the the parameter '-parameters");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
192 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
193 while( my ($key,$value) = each %{$params} ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
194 $self->add_parameter($key,$value);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
195 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
196 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
197 if( defined $stats ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
198 if( ref($stats) !~ /hash/i ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
199 $self->throw("Must specify a hash reference with the the parameter '-statistics");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
200 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
201 while( my ($key,$value) = each %{$stats} ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
202 $self->add_statistic($key,$value);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
203 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
204 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
205
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
206 if( defined $hits ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
207 $self->throw("Must define arrayref of Hits when initializing a $class\n") unless ref($hits) =~ /array/i;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
208
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
209 foreach my $s ( @$hits ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
210 $self->add_hit($s);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
211 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
212 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
213 return $self;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
214 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
215
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
216 =head2 algorithm
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
217
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
218 Title : algorithm
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
219 Usage : my $r_type = $hsp->algorithm
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
220 Function: Obtain the name of the algorithm used to obtain the Result
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
221 Returns : string (e.g., BLASTP)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
222 Args : [optional] scalar string to set value
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
223
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
224 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
225
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
226 sub algorithm{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
227 my ($self,$value) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
228 my $previous = $self->{'_algorithm'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
229 if( defined $value || ! defined $previous ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
230 $value = $previous = '' unless defined $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
231 $self->{'_algorithm'} = $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
232 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
233 return $previous;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
234 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
235
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
236 =head2 algorithm_version
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
237
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
238 Title : algorithm_version
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
239 Usage : my $r_version = $hsp->algorithm_version
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
240 Function: Obtain the version of the algorithm used to obtain the Result
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
241 Returns : string (e.g., 2.1.2)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
242 Args : [optional] scalar string to set algorithm version value
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
243
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
244 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
245
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
246 sub algorithm_version{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
247 my ($self,$value) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
248 my $previous = $self->{'_algorithm_version'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
249 if( defined $value || ! defined $previous ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
250 $value = $previous = '' unless defined $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
251 $self->{'_algorithm_version'} = $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
252 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
253
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
254 return $previous;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
255 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
256
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
257 =head2 Bio::Search::Result::ResultI interface methods
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
258
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
259 Bio::Search::Result::ResultI implementation
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
260
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
261 =head2 next_hit
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
262
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
263 Title : next_hit
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
264 Usage : while( $hit = $result->next_hit()) { ... }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
265 Function: Returns the next available Hit object, representing potential
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
266 matches between the query and various entities from the database.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
267 Returns : a Bio::Search::Hit::HitI object or undef if there are no more.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
268 Args : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
269
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
270
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
271 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
272
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
273 sub next_hit {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
274 my ($self,@args) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
275 my $index = $self->_nexthitindex;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
276 return undef if $index > scalar @{$self->{'_hits'}};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
277 return $self->{'_hits'}->[$index];
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
278 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
279
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
280 =head2 query_name
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
281
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
282 Title : query_name
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
283 Usage : $id = $result->query_name();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
284 Function: Get the string identifier of the query used by the
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
285 algorithm that performed the search.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
286 Returns : a string.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
287 Args : [optional] new string value for query name
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
288
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
289 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
290
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
291 sub query_name {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
292 my ($self,$value) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
293 my $previous = $self->{'_queryname'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
294 if( defined $value || ! defined $previous ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
295 $value = $previous = '' unless defined $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
296 $self->{'_queryname'} = $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
297 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
298 return $previous;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
299 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
300
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
301 =head2 query_accession
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
302
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
303 Title : query_accession
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
304 Usage : $id = $result->query_accession();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
305 Function: Get the accession (if available) for the query sequence
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
306 Returns : a string
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
307 Args : [optional] new string value for accession
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
308
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
309 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
310
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
311 sub query_accession {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
312 my ($self,$value) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
313 my $previous = $self->{'_queryacc'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
314 if( defined $value || ! defined $previous ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
315 $value = $previous = '' unless defined $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
316 $self->{'_queryacc'} = $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
317 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
318 return $previous;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
319 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
320
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
321 =head2 query_length
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
322
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
323 Title : query_length
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
324 Usage : $id = $result->query_length();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
325 Function: Get the length of the query sequence
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
326 used in the search.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
327 Returns : a number
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
328 Args : [optional] new integer value for query length
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
329
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
330 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
331
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
332 sub query_length {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
333 my ($self,$value) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
334 my $previous = $self->{'_querylength'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
335 if( defined $value || ! defined $previous ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
336 $value = $previous = 0 unless defined $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
337 $self->{'_querylength'} = $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
338 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
339 return $previous;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
340 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
341
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
342 =head2 query_description
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
343
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
344 Title : query_description
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
345 Usage : $id = $result->query_description();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
346 Function: Get the description of the query sequence
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
347 used in the search.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
348 Returns : a string
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
349 Args : [optional] new string for the query description
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
350
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
351 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
352
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
353 sub query_description {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
354 my ($self,$value) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
355 my $previous = $self->{'_querydesc'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
356 if( defined $value || ! defined $previous ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
357 $value = $previous = '' unless defined $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
358 $self->{'_querydesc'} = $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
359 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
360 return $previous;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
361 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
362
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
363
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
364 =head2 database_name
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
365
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
366 Title : database_name
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
367 Usage : $name = $result->database_name()
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
368 Function: Used to obtain the name of the database that the query was searched
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
369 against by the algorithm.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
370 Returns : a scalar string
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
371 Args : [optional] new string for the db name
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
372
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
373 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
374
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
375 sub database_name {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
376 my ($self,$value) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
377 my $previous = $self->{'_dbname'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
378 if( defined $value || ! defined $previous ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
379 $value = $previous = '' unless defined $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
380 $self->{'_dbname'} = $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
381 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
382 return $previous;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
383 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
384
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
385 =head2 database_letters
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
386
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
387 Title : database_letters
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
388 Usage : $size = $result->database_letters()
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
389 Function: Used to obtain the size of database that was searched against.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
390 Returns : a scalar integer (units specific to algorithm, but probably the
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
391 total number of residues in the database, if available) or undef if
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
392 the information was not available to the Processor object.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
393 Args : [optional] new scalar integer for number of letters in db
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
394
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
395
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
396 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
397
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
398 sub database_letters {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
399 my ($self,$value) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
400 my $previous = $self->{'_dbletters'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
401 if( defined $value || ! defined $previous ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
402 $value = $previous = '' unless defined $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
403 $self->{'_dbletters'} = $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
404 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
405 return $previous;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
406 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
407
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
408 =head2 database_entries
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
409
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
410 Title : database_entries
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
411 Usage : $num_entries = $result->database_entries()
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
412 Function: Used to obtain the number of entries contained in the database.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
413 Returns : a scalar integer representing the number of entities in the database
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
414 or undef if the information was not available.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
415 Args : [optional] new integer for the number of sequence entries in the db
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
416
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
417
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
418 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
419
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
420 sub database_entries {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
421 my ($self,$value) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
422 my $previous = $self->{'_dbentries'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
423 if( defined $value || ! defined $previous ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
424 $value = $previous = '' unless defined $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
425 $self->{'_dbentries'} = $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
426 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
427 return $previous;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
428 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
429
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
430 =head2 get_parameter
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
431
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
432 Title : get_parameter
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
433 Usage : my $gap_ext = $report->get_parameter('gapext')
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
434 Function: Returns the value for a specific parameter used
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
435 when running this report
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
436 Returns : string
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
437 Args : name of parameter (string)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
438
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
439 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
440
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
441 sub get_parameter{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
442 my ($self,$name) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
443 return $self->{'_parameters'}->{$name};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
444 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
445
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
446 =head2 available_parameters
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
447
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
448 Title : available_parameters
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
449 Usage : my @params = $report->available_paramters
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
450 Function: Returns the names of the available parameters
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
451 Returns : Return list of available parameters used for this report
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
452 Args : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
453
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
454 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
455
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
456 sub available_parameters{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
457 my ($self) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
458 return keys %{$self->{'_parameters'}};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
459 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
460
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
461
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
462 =head2 get_statistic
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
463
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
464 Title : get_statistic
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
465 Usage : my $gap_ext = $report->get_statistic('kappa')
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
466 Function: Returns the value for a specific statistic available
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
467 from this report
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
468 Returns : string
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
469 Args : name of statistic (string)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
470
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
471 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
472
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
473 sub get_statistic{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
474 my ($self,$key) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
475 return $self->{'_statistics'}->{$key};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
476 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
477
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
478 =head2 available_statistics
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
479
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
480 Title : available_statistics
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
481 Usage : my @statnames = $report->available_statistics
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
482 Function: Returns the names of the available statistics
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
483 Returns : Return list of available statistics used for this report
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
484 Args : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
485
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
486 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
487
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
488 sub available_statistics{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
489 my ($self) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
490 return keys %{$self->{'_statistics'}};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
491 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
492
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
493 =head2 Bio::Search::Report
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
494
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
495 Bio::Search::Result::GenericResult specific methods
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
496
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
497 =head2 add_hit
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
498
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
499 Title : add_hit
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
500 Usage : $report->add_hit($hit)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
501 Function: Adds a HitI to the stored list of hits
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
502 Returns : Number of HitI currently stored
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
503 Args : Bio::Search::Hit::HitI
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
504
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
505 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
506
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
507 sub add_hit {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
508 my ($self,$s) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
509 if( $s->isa('Bio::Search::Hit::HitI') ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
510 push @{$self->{'_hits'}}, $s;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
511 } else {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
512 $self->warn("Passed in " .ref($s).
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
513 " as a Hit which is not a Bio::Search::HitI... skipping");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
514 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
515 return scalar @{$self->{'_hits'}};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
516 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
517
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
518
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
519 =head2 rewind
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
520
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
521 Title : rewind
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
522 Usage : $result->rewind;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
523 Function: Allow one to reset the Hit iteration to the beginning
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
524 Since this is an in-memory implementation
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
525 Returns : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
526 Args : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
527
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
528 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
529
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
530 sub rewind{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
531 my ($self) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
532 $self->{'_hitindex'} = 0;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
533 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
534
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
535
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
536 =head2 _nexthitindex
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
537
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
538 Title : _nexthitindex
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
539 Usage : private
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
540
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
541 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
542
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
543 sub _nexthitindex{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
544 my ($self,@args) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
545 return $self->{'_hitindex'}++;
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
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
550 =head2 add_parameter
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
551
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
552 Title : add_parameter
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
553 Usage : $report->add_parameter('gapext', 11);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
554 Function: Adds a parameter
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
555 Returns : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
556 Args : key - key value name for this parama
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
557 value - value for this parameter
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
558
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
559 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
560
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
561 sub add_parameter{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
562 my ($self,$key,$value) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
563 $self->{'_parameters'}->{$key} = $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
564 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
565
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
566
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
567 =head2 add_statistic
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
568
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
569 Title : add_statistic
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
570 Usage : $report->add_statistic('lambda', 2.3);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
571 Function: Adds a parameter
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
572 Returns : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
573 Args : key - key value name for this parama
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
574 value - value for this parameter
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
575
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
576 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
577
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
578 sub add_statistic {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
579 my ($self,$key,$value) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
580 $self->{'_statistics'}->{$key} = $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
581 return;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
582 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
583
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
584
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
585 =head2 num_hits
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
586
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
587 Title : num_hits
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
588 Usage : my $hitcount= $result->num_hits
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
589 Function: returns the number of hits for this query result
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
590 Returns : integer
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
591 Args : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
592
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
593
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
594 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
595
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
596 sub num_hits{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
597 my ($self) = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
598 if (not defined $self->{'_hits'}) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
599 $self->throw("Can't get Hits: data not collected.");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
600 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
601 return scalar(@{$self->{'_hits'}});
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
602 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
603
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
604
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
605 =head2 hits
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
606
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
607 Title : hits
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
608 Usage : my @hits = $result->hits
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
609 Function: Returns the available hits for this Result
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
610 Returns : Array of L<Bio::Search::Hit::HitI> objects
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
611 Args : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
612
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
613
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
614 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
615
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
616 sub hits{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
617 my ($self) = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
618 my @hits = ();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
619 if( ref $self->{'_hits'}) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
620 @hits = @{$self->{'_hits'}};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
621 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
622 return @hits;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
623 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
624
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
625 =head2 algorithm_reference
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
626
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
627 Title : algorithm_reference
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
628 Usage : $obj->algorithm_reference($newval)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
629 Function:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
630 Returns : string containing literature reference for the algorithm
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
631 Args : newvalue string (optional)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
632 Comments: Formerly named program_reference(), which is still supported
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
633 for backwards compatibility.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
634
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
635 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
636
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
637 sub algorithm_reference{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
638 my ($self,$value) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
639 if( defined $value) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
640 $self->{'algorithm_reference'} = $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
641 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
642 return $self->{'algorithm_reference'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
643 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
644
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
645
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
646 sub program_reference { shift->algorithm_reference(@_); }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
647
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
648
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
649 =head2 no_hits_found
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
650
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
651 See documentation in L<Bio::Search::Result::ResultI::no_hits_found()|Bio::Search::Result::ResultI>
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
652
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
653 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
654
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
655 #-----------
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
656 sub no_hits_found {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
657 #-----------
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
658 my ($self, $round) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
659
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
660 my $result = 0; # final return value of this method.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
661 # Watch the double negative!
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
662 # result = 0 means "yes hits were found"
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
663 # result = 1 means "no hits were found" (for the indicated iteration or all iterations)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
664
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
665 # If a iteration was not specified and there were multiple iterations,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
666 # this method should return true only if all iterations had no hits found.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
667 if( not defined $round ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
668 if( $self->{'_iterations'} > 1) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
669 $result = 1;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
670 foreach my $i( 1..$self->{'_iterations'} ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
671 if( not defined $self->{"_iteration_$i"}->{'_no_hits_found'} ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
672 $result = 0;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
673 last;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
674 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
675 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
676 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
677 else {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
678 $result = $self->{"_iteration_1"}->{'_no_hits_found'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
679 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
680 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
681 else {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
682 $result = $self->{"_iteration_$round"}->{'_no_hits_found'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
683 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
684
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
685 return $result;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
686 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
687
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
688
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
689 =head2 set_no_hits_found
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
690
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
691 See documentation in L<Bio::Search::Result::ResultI::set_no_hits_found()|Bio::Search::Result::ResultI>
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
692
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
693 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
694
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
695 #-----------
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
696 sub set_no_hits_found {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
697 #-----------
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
698 my ($self, $round) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
699 $round ||= 1;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
700 $self->{"_iteration_$round"}->{'_no_hits_found'} = 1;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
701 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
702
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
703
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
704 =head2 iterations
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
705
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
706 See documentation in L<Bio::Search::Result::ResultI::iterations()|Bio::Search::Result::ResultI>
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
707
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
708 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
709
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
710 #----------------
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
711 sub iterations {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
712 #----------------
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
713 my ($self, $num ) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
714 if( defined $num ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
715 $self->{'_iterations'} = $num;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
716 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
717 return $self->{'_iterations'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
718 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
719
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
720
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
721 =head2 psiblast
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
722
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
723 See documentation in L<Bio::Search::Result::ResultI::psiblast()|Bio::Search::Result::ResultI>
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
724
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
725 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
726
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
727 #----------------
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
728 sub psiblast {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
729 #----------------
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
730 my ($self, $val ) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
731 if( $val ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
732 $self->{'_psiblast'} = 1;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
733 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
734 return $self->{'_psiblast'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
735 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
736
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
737
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
738 =head2 to_string
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
739
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
740 Title : to_string
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
741 Usage : print $blast->to_string;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
742 Function: Returns a string representation for the Blast result.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
743 Primarily intended for debugging purposes.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
744 Example : see usage
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
745 Returns : A string of the form:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
746 [GenericResult] <analysis_method> query=<name> <description> db=<database
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
747 e.g.:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
748 [GenericResult] BLASTP query=YEL060C vacuolar protease B, db=PDBUNIQ
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
749 Args : None
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
750
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
751 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
752
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
753 #---------------
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
754 sub to_string {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
755 #---------------
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
756 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
757 my $str = "[GenericResult] " . $self->algorithm . " query=" . $self->query_name . " " . $self->query_description .", db=" . $self->database_name;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
758 return $str;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
759 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
760
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
761 1;