tag fourth (and hopefully last) alpha
[bioperl-live.git] / branch-1-6 / Bio / SeqAnalysisParserI.pm
blob5ff1075b44fe0ac30c3ae2c41ef93aa6bb3ac3b2
1 # $Id$
3 # BioPerl module for Bio::SeqAnalysisParserI
5 # Please direct questions and support issues to <bioperl-l@bioperl.org>
7 # Cared for by Jason Stajich <jason@bioperl.org>,
8 # and Hilmar Lapp <hlapp@gmx.net>
10 # Copyright Jason Stajich, Hilmar Lapp
12 # You may distribute this module under the same terms as perl itself
14 # POD documentation - main docs before the code
16 =head1 NAME
18 Bio::SeqAnalysisParserI - Sequence analysis output parser interface
20 =head1 SYNOPSIS
22 # get a SeqAnalysisParserI somehow, e.g. by
23 my $parser = Bio::Factory::SeqAnalysisParserFactory->get_parser(
24 '-input' => 'inputfile', '-method' => 'genscan');
25 while( my $feature = $parser->next_feature() ) {
26 print "Feature from ", $feature->start, " to ", $feature->end, "\n";
29 =head1 DESCRIPTION
31 SeqAnalysisParserI is a generic interface for describing sequence analysis
32 result parsers. Sequence analysis in this sense is a search for similarities
33 or the identification of features on the sequence, like a databank search or a
34 a gene prediction result.
36 The concept behind this interface is to have a generic interface in sequence
37 annotation pipelines (as used e.g. in high-throughput automated
38 sequence annotation). This interface enables plug-and-play for new analysis
39 methods and their corresponding parsers without the necessity for modifying
40 the core of the annotation pipeline. In this concept the annotation pipeline
41 has to rely on only a list of methods for which to process the results, and a
42 factory from which it can obtain the corresponding parser implementing this
43 interface.
45 See Bio::Factory::SeqAnalysisParserFactoryI and
46 Bio::Factory::SeqAnalysisParserFactory for interface and an implementation
47 of the corresponding factory.
49 =head1 FEEDBACK
51 =head2 Mailing Lists
53 User feedback is an integral part of the evolution of this
54 and other Bioperl modules. Send your comments and suggestions preferably
55 to one of the Bioperl mailing lists.
56 Your participation is much appreciated.
58 bioperl-l@bioperl.org - General discussion
59 http://bioperl.org/wiki/Mailing_lists - About the mailing lists
61 =head2 Support
63 Please direct usage questions or support issues to the mailing list:
65 I<bioperl-l@bioperl.org>
67 rather than to the module maintainer directly. Many experienced and
68 reponsive experts will be able look at the problem and quickly
69 address it. Please include a thorough description of the problem
70 with code and data examples if at all possible.
72 =head2 Reporting Bugs
74 Report bugs to the Bioperl bug tracking system to help us keep track
75 the bugs and their resolution. Bug reports can be submitted via the
76 web:
78 http://bugzilla.open-bio.org/
80 =head1 AUTHOR - Hilmar Lapp, Jason Stajich
82 Email Hilmar Lapp E<lt>hlapp@gmx.netE<gt>, Jason Stajich E<lt>jason@bioperl.orgE<gt>
84 =head1 APPENDIX
86 The rest of the documentation details each of the object methods.
87 Internal methods are usually preceded with a _
89 =cut
91 package Bio::SeqAnalysisParserI;
92 use strict;
93 use Carp;
94 use base qw(Bio::Root::RootI);
96 =head2 next_feature
98 Title : next_feature
99 Usage : $seqfeature = $obj->next_feature();
100 Function: Returns the next feature available in the analysis result, or
101 undef if there are no more features.
102 Example :
103 Returns : A Bio::SeqFeatureI implementing object, or undef if there are no
104 more features.
105 Args : none
107 =cut
109 sub next_feature {
110 my ($self) = shift;
111 $self->throw_not_implemented();