Bio/Tools/Phylo/Gumby.pm: move to its own distribution
[bioperl-live.git] / Bio / SeqAnalysisParserI.pm
blob7235d754485a4eba3b7a0a4aa1843a8ea73590f1
2 # BioPerl module for Bio::SeqAnalysisParserI
4 # Please direct questions and support issues to <bioperl-l@bioperl.org>
6 # Cared for by Jason Stajich <jason@bioperl.org>,
7 # and Hilmar Lapp <hlapp@gmx.net>
9 # Copyright Jason Stajich, Hilmar Lapp
11 # You may distribute this module under the same terms as perl itself
13 # POD documentation - main docs before the code
15 =head1 NAME
17 Bio::SeqAnalysisParserI - Sequence analysis output parser interface
19 =head1 SYNOPSIS
21 # get a SeqAnalysisParserI somehow, e.g. by
22 my $parser = Bio::Factory::SeqAnalysisParserFactory->get_parser(
23 '-input' => 'inputfile', '-method' => 'genscan');
24 while( my $feature = $parser->next_feature() ) {
25 print "Feature from ", $feature->start, " to ", $feature->end, "\n";
28 =head1 DESCRIPTION
30 SeqAnalysisParserI is a generic interface for describing sequence analysis
31 result parsers. Sequence analysis in this sense is a search for similarities
32 or the identification of features on the sequence, like a databank search or a
33 a gene prediction result.
35 The concept behind this interface is to have a generic interface in sequence
36 annotation pipelines (as used e.g. in high-throughput automated
37 sequence annotation). This interface enables plug-and-play for new analysis
38 methods and their corresponding parsers without the necessity for modifying
39 the core of the annotation pipeline. In this concept the annotation pipeline
40 has to rely on only a list of methods for which to process the results, and a
41 factory from which it can obtain the corresponding parser implementing this
42 interface.
44 See Bio::Factory::SeqAnalysisParserFactoryI and
45 Bio::Factory::SeqAnalysisParserFactory for interface and an implementation
46 of the corresponding factory.
48 =head1 FEEDBACK
50 =head2 Mailing Lists
52 User feedback is an integral part of the evolution of this
53 and other Bioperl modules. Send your comments and suggestions preferably
54 to one of the Bioperl mailing lists.
55 Your participation is much appreciated.
57 bioperl-l@bioperl.org - General discussion
58 http://bioperl.org/wiki/Mailing_lists - About the mailing lists
60 =head2 Support
62 Please direct usage questions or support issues to the mailing list:
64 I<bioperl-l@bioperl.org>
66 rather than to the module maintainer directly. Many experienced and
67 reponsive experts will be able look at the problem and quickly
68 address it. Please include a thorough description of the problem
69 with code and data examples if at all possible.
71 =head2 Reporting Bugs
73 Report bugs to the Bioperl bug tracking system to help us keep track
74 the bugs and their resolution. Bug reports can be submitted via the
75 web:
77 https://github.com/bioperl/bioperl-live/issues
79 =head1 AUTHOR - Hilmar Lapp, Jason Stajich
81 Email Hilmar Lapp E<lt>hlapp@gmx.netE<gt>, Jason Stajich E<lt>jason@bioperl.orgE<gt>
83 =head1 APPENDIX
85 The rest of the documentation details each of the object methods.
86 Internal methods are usually preceded with a _
88 =cut
90 package Bio::SeqAnalysisParserI;
91 use strict;
92 use Carp;
93 use base qw(Bio::Root::RootI);
95 =head2 next_feature
97 Title : next_feature
98 Usage : $seqfeature = $obj->next_feature();
99 Function: Returns the next feature available in the analysis result, or
100 undef if there are no more features.
101 Example :
102 Returns : A Bio::SeqFeatureI implementing object, or undef if there are no
103 more features.
104 Args : none
106 =cut
108 sub next_feature {
109 my ($self) = shift;
110 $self->throw_not_implemented();