Use /usr/bin/perl instead of env even on examples
[bioperl-live.git] / lib / Bio / Factory / SeqAnalysisParserFactoryI.pm
blobf8a731306929b42cd2bd4490d530f9590cfff4b6
2 # BioPerl module for Bio::Factory::SeqAnalysisParserFactoryI
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::Factory::SeqAnalysisParserFactoryI - interface describing objects capable
18 of creating SeqAnalysisParserI compliant parsers
20 =head1 SYNOPSIS
22 # initialize an object implementing this interface, e.g.
23 $factory = Bio::Factory::SeqAnalysisParserFactory->new();
24 # obtain a parser object
25 $parser = $factory->get_parser(-input=>$inputobj,
26 -params=>[@params],
27 -method => $method);
28 # $parser is an object implementing Bio::SeqAnalysisParserI
29 # annotate sequence with features produced by parser
30 while(my $feat = $parser->next_feature()) {
31 $seq->add_SeqFeature($feat);
34 =head1 DESCRIPTION
36 This is an interface for factory classes capable of instantiating
37 SeqAnalysisParserI implementing parsers.
39 The concept behind the interface is a generic analysis result parsing
40 in high-throughput automated sequence annotation pipelines. See
41 L<Bio::SeqAnalysisParserI> for more documentation of this concept.
43 =head1 FEEDBACK
45 =head2 Mailing Lists
47 User feedback is an integral part of the evolution of this
48 and other Bioperl modules. Send your comments and suggestions preferably
49 to one of the Bioperl mailing lists.
50 Your participation is much appreciated.
52 bioperl-l@bioperl.org - General discussion
53 http://bioperl.org/wiki/Mailing_lists - About the mailing lists
55 =head2 Support
57 Please direct usage questions or support issues to the mailing list:
59 I<bioperl-l@bioperl.org>
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.
66 =head2 Reporting Bugs
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
70 web:
72 https://github.com/bioperl/bioperl-live/issues
74 =head1 AUTHOR - Hilmar Lapp, Jason Stajich
76 Email Hilmar Lapp E<lt>hlapp@gmx.netE<gt>, Jason Stajich E<lt>jason@bioperl.orgE<gt>
78 =head1 APPENDIX
80 The rest of the documentation details each of the object
81 methods. Internal methods are usually preceded with a _
83 =cut
85 package Bio::Factory::SeqAnalysisParserFactoryI;
86 use strict;
88 use Carp;
90 use base qw(Bio::Root::RootI);
92 =head2 get_parser
94 Title : get_parser
95 Usage : $factory->get_parser(-input=>$inputobj,
96 [ -params=>[@params] ],
97 -method => $method)
98 Function: Creates and returns a parser object for the given input and method.
99 The type of input which is suitable depends on the implementation,
100 but a good-style implementation should allow both file names and
101 streams (filehandles).
103 A particular implementation may not be able to create a parser for
104 the requested method. In this case it shall return undef.
106 Parameters (-params argument) are passed on to the parser object
107 and therefore are specific to the parser to be created. An
108 implementation of this interface should make this argument optional.
109 Example :
110 Returns : A Bio::SeqAnalysisParserI implementing object.
111 Args : B<input> - object/file where analysis results are coming from,
112 B<params> - parameter to use when parsing/running analysis
113 B<method> - method of analysis
115 =cut
117 sub get_parser {
118 my ( $self, @args) = @_;
119 $self->throw_not_implemented();