Mercurial > repos > mahtabm > ensembl
comparison variant_effect_predictor/Bio/AnalysisResultI.pm @ 0:1f6dce3d34e0
Uploaded
author | mahtabm |
---|---|
date | Thu, 11 Apr 2013 02:01:53 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:1f6dce3d34e0 |
---|---|
1 #----------------------------------------------------------------- | |
2 # $Id: AnalysisResultI.pm,v 1.5 2002/10/22 07:38:24 lapp Exp $ | |
3 # | |
4 # BioPerl module Bio::AnalysisResultI | |
5 # | |
6 # Cared for by Steve Chervitz <sac@bioperl.org> | |
7 # | |
8 # Derived from Bio::Tools::AnalysisResult by Hilmar Lapp <hlapp@gmx.net> | |
9 # | |
10 # You may distribute this module under the same terms as perl itself | |
11 #----------------------------------------------------------------- | |
12 | |
13 # POD documentation - main docs before the code | |
14 | |
15 =head1 NAME | |
16 | |
17 Bio::AnalysisResultI - Interface for analysis result objects | |
18 | |
19 =head1 SYNOPSIS | |
20 | |
21 Bio::AnalysisResultI defines an interface that must be implemented by | |
22 a subclass. So you cannot create Bio::AnalysisResultI objects, | |
23 only objects that inherit from Bio::AnalysisResultI. | |
24 | |
25 =head1 DESCRIPTION | |
26 | |
27 The AnalysisResultI module provides an interface for modules | |
28 encapsulating the result of an analysis that was carried out with a | |
29 query sequence and an optional subject dataset. | |
30 | |
31 The notion of an analysis represented by this base class is that of a unary or | |
32 binary operator, taking either one query or a query and a subject and producing | |
33 a result. The query is e.g. a sequence, and a subject is either a sequence, | |
34 too, or a database of sequences. | |
35 | |
36 This interface defines methods to access analysis result data and does | |
37 not impose any contraints on how the analysis result data is acquired. | |
38 | |
39 Note that this module does not provide support for B<running> an analysis. | |
40 Rather, it is positioned in the subsequent parsing step (concerned with | |
41 turning raw results into BioPerl objects). | |
42 | |
43 =head1 FEEDBACK | |
44 | |
45 =head2 Mailing Lists | |
46 | |
47 User feedback is an integral part of the evolution of this and other | |
48 Bioperl modules. Send your comments and suggestions preferably to one | |
49 of the Bioperl mailing lists. Your participation is much appreciated. | |
50 | |
51 bioperl-l@bioperl.org - General discussion | |
52 http://bio.perl.org/MailList.html - About the mailing lists | |
53 | |
54 =head2 Reporting Bugs | |
55 | |
56 Report bugs to the Bioperl bug tracking system to help us keep track | |
57 the bugs and their resolution. Bug reports can be submitted via email | |
58 or the web: | |
59 | |
60 bioperl-bugs@bio.perl.org | |
61 http://bugzilla.bioperl.org/ | |
62 | |
63 =head1 AUTHOR - Steve Chervitz, Hilmar Lapp | |
64 | |
65 Email sac@bioperl.org | |
66 Email hlapp@gmx.net (author of Bio::Tools::AnalysisResult on which this module is based) | |
67 | |
68 =head1 COPYRIGHT | |
69 | |
70 Copyright (c) 2001 Steve Chervitz. All Rights Reserved. | |
71 | |
72 =head1 DISCLAIMER | |
73 | |
74 This software is provided "as is" without warranty of any kind. | |
75 | |
76 =head1 APPENDIX | |
77 | |
78 The rest of the documentation details each of the object | |
79 methods. Internal methods are usually preceded with a _ | |
80 | |
81 =cut | |
82 | |
83 | |
84 # Let the code begin... | |
85 | |
86 | |
87 package Bio::AnalysisResultI; | |
88 use strict; | |
89 use vars qw(@ISA); | |
90 | |
91 use Bio::Root::RootI; | |
92 | |
93 @ISA = qw( Bio::Root::RootI ); | |
94 | |
95 | |
96 =head2 analysis_query | |
97 | |
98 Usage : $query_obj = $result->analysis_query(); | |
99 Purpose : Get a Bio::PrimarySeqI-compatible object representing the entity | |
100 on which the analysis was performed. Lacks sequence information. | |
101 Argument : n/a | |
102 Returns : A Bio::PrimarySeqI-compatible object without sequence information. | |
103 The sequence will have display_id, description, moltype, and length data. | |
104 | |
105 =cut | |
106 | |
107 #--------------------- | |
108 sub analysis_query { | |
109 #--------------------- | |
110 my ($self) = @_; | |
111 $self->throw_not_implemented; | |
112 } | |
113 | |
114 | |
115 =head2 analysis_subject | |
116 | |
117 Usage : $obj = $result->analyis_subject(); | |
118 Purpose : Get the subject of the analysis against which it was | |
119 performed. For similarity searches it will probably be a database, | |
120 and for sequence feature predictions (exons, promoters, etc) it | |
121 may be a collection of models or homologous sequences that were | |
122 used, or undefined. | |
123 Returns : An object of a type the depends on the implementation | |
124 May also return undef for analyses that don\'t involve subjects. | |
125 Argument : n/a | |
126 Comments : Implementation of this method is optional. | |
127 AnalysisResultI provides a default behavior of returning undef. | |
128 | |
129 =cut | |
130 | |
131 #--------------- | |
132 sub analysis_subject { | |
133 #--------------- | |
134 my ($self) = @_; | |
135 return undef; | |
136 } | |
137 | |
138 =head2 analysis_subject_version | |
139 | |
140 Usage : $vers = $result->analyis_subject_version(); | |
141 Purpose : Get the version string of the subject of the analysis. | |
142 Returns : String or undef for analyses that don\'t involve subjects. | |
143 Argument : n/a | |
144 Comments : Implementation of this method is optional. | |
145 AnalysisResultI provides a default behavior of returning undef. | |
146 | |
147 =cut | |
148 | |
149 #--------------- | |
150 sub analysis_subject_version { | |
151 #--------------- | |
152 my ($self) = @_; | |
153 return undef; | |
154 } | |
155 | |
156 | |
157 =head2 analysis_date | |
158 | |
159 Usage : $date = $result->analysis_date(); | |
160 Purpose : Get the date on which the analysis was performed. | |
161 Returns : String | |
162 Argument : n/a | |
163 | |
164 =cut | |
165 | |
166 #--------------------- | |
167 sub analysis_date { | |
168 #--------------------- | |
169 my ($self) = @_; | |
170 $self->throw_not_implemented; | |
171 } | |
172 | |
173 =head2 analysis_method | |
174 | |
175 Usage : $meth = $result->analysis_method(); | |
176 Purpose : Get the name of the sequence analysis method that was used | |
177 to produce this result (BLASTP, FASTA, etc.). May also be the | |
178 actual name of a program. | |
179 Returns : String | |
180 Argument : n/a | |
181 | |
182 =cut | |
183 | |
184 #------------- | |
185 sub analysis_method { | |
186 #------------- | |
187 my ($self) = @_; | |
188 $self->throw_not_implemented; | |
189 } | |
190 | |
191 =head2 analysis_method_version | |
192 | |
193 Usage : $vers = $result->analysis_method_version(); | |
194 Purpose : Get the version string of the analysis program. | |
195 : (e.g., 1.4.9MP, 2.0a19MP-WashU). | |
196 Returns : String | |
197 Argument : n/a | |
198 | |
199 =cut | |
200 | |
201 #--------------------- | |
202 sub analysis_method_version { | |
203 #--------------------- | |
204 my ($self) = @_; | |
205 $self->throw_not_implemented; | |
206 } | |
207 | |
208 =head2 next_feature | |
209 | |
210 Title : next_feature | |
211 Usage : $seqfeature = $obj->next_feature(); | |
212 Function: Returns the next feature available in the analysis result, or | |
213 undef if there are no more features. | |
214 Example : | |
215 Returns : A Bio::SeqFeatureI implementing object, or undef if there are no | |
216 more features. | |
217 Args : none | |
218 | |
219 =cut | |
220 | |
221 #--------------------- | |
222 sub next_feature { | |
223 #--------------------- | |
224 my ($self); | |
225 $self->throw_not_implemented; | |
226 } | |
227 | |
228 | |
229 1; |