File Coverage

Bio/AnalysisResultI.pm
Criterion Covered Total %
statement 6 20 30.0
branch n/a
condition n/a
subroutine 2 9 22.2
pod 7 7 100.0
total 15 36 41.6


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