t/AlignIO/AlignIO.t: fix number of tests in plan (fixup c523e6bed866)
[bioperl-live.git] / Bio / SeqFeature / Gene / GeneStructureI.pm
blobee1a3cbc784e39c806ffe2ce9144bc8b75221d79
2 # BioPerl module for Bio::SeqFeature::Gene::GeneStructureI
4 # Please direct questions and support issues to <bioperl-l@bioperl.org>
6 # Cared for by Hilmar Lapp <hlapp@gmx.net>
8 # Copyright Hilmar Lapp
10 # You may distribute this module under the same terms as perl itself
12 # POD documentation - main docs before the code
14 =head1 NAME
16 Bio::SeqFeature::Gene::GeneStructureI - A feature representing an arbitrarily
17 complex structure of a gene
19 =head1 SYNOPSIS
21 #documentation needed
23 =head1 DESCRIPTION
25 A feature representing a gene structure.
27 =head1 FEEDBACK
29 =head2 Mailing Lists
31 User feedback is an integral part of the evolution of this
32 and other Bioperl modules. Send your comments and suggestions preferably
33 to one of the Bioperl mailing lists. Your participation is much appreciated.
35 bioperl-l@bioperl.org - General discussion
36 http://bioperl.org/wiki/Mailing_lists - About the mailing lists
38 =head2 Support
40 Please direct usage questions or support issues to the mailing list:
42 I<bioperl-l@bioperl.org>
44 rather than to the module maintainer directly. Many experienced and
45 reponsive experts will be able look at the problem and quickly
46 address it. Please include a thorough description of the problem
47 with code and data examples if at all possible.
49 =head2 Reporting Bugs
51 Report bugs to the Bioperl bug tracking system to help us keep track
52 the bugs and their resolution. Bug reports can be submitted via the
53 web:
55 https://github.com/bioperl/bioperl-live/issues
57 =head1 AUTHOR - Hilmar Lapp
59 Email hlapp@gmx.net
61 =head1 APPENDIX
63 The rest of the documentation details each of the object methods.
64 Internal methods are usually preceded with a _
66 =cut
69 # Let the code begin...
72 package Bio::SeqFeature::Gene::GeneStructureI;
73 use strict;
75 use Carp;
77 use base qw(Bio::SeqFeatureI);
79 =head2 transcripts
81 Title : transcripts()
82 Usage : @transcripts = $gene->transcripts();
83 Function: Get the transcript features/sites of this gene structure.
85 See Bio::SeqFeature::Gene::TranscriptI for properties of the
86 returned objects.
88 Returns : An array of Bio::SeqFeature::Gene::TranscriptI implementing objects
89 representing the promoter regions or sites.
90 Args :
93 =cut
95 sub transcripts {
96 my ($self) = @_;
97 $self->throw_not_implemented();
100 =head2 promoters
102 Title : promoters()
103 Usage : @prom_sites = $gene->promoters();
104 Function: Get the promoter features/sites of this gene structure.
106 Note that OO-modeling of regulatory elements is not stable yet.
107 This means that this method might change or even disappear in a
108 future release. Be aware of this if you use it.
110 Returns : An array of Bio::SeqFeatureI implementing objects representing the
111 promoter regions or sites.
112 Args :
114 =cut
116 sub promoters {
117 my ($self) = @_;
118 $self->throw_not_implemented();
121 =head2 exons
123 Title : exons()
124 Usage : @exons = $gene->exons();
125 @inital = $gene->exons('Initial');
126 Function: Get all exon features or all exons of specified type of this gene
127 structure.
129 Refer to the documentation of the class that produced this gene
130 structure object for information about the possible types.
132 See Bio::SeqFeature::Gene::ExonI for properties of the
133 returned objects.
135 Returns : An array of Bio::SeqFeature::Gene::ExonI implementing objects
136 representing the exon regions.
137 Args : An optional string specifying the type of the exon.
139 =cut
141 sub exons {
142 my ($self, $type) = @_;
143 $self->throw_not_implemented();
146 =head2 introns
148 Title : introns()
149 Usage : @introns = $gene->introns();
150 Function: Get all introns of this gene structure.
151 Returns : An array of Bio::SeqFeatureI implementing objects representing the
152 introns.
153 Args :
156 =cut
158 sub introns {
159 my ($self) = @_;
160 $self->throw_not_implemented();
163 =head2 poly_A_sites
165 Title : poly_A_sites()
166 Usage : @polyAsites = $gene->poly_A_sites();
167 Function: Get the poly-adenylation features/sites of this gene structure.
168 Returns : An array of Bio::SeqFeatureI implementing objects representing the
169 poly-adenylation regions or sites.
170 Args :
173 =cut
175 sub poly_A_sites {
176 my ($self) = @_;
177 $self->throw_not_implemented();
180 =head2 utrs
182 Title : utrs()
183 Usage : @utr_sites = $gene->utrs();
184 Function: Get the UTR features/sites of this gene structure.
186 See Bio::SeqFeature::Gene::ExonI for properties of the
187 returned objects.
189 Returns : An array of Bio::SeqFeature::Gene::ExonI implementing objects
190 representing the UTR regions or sites.
191 Args :
194 =cut
196 sub utrs {
197 my ($self) = @_;
198 $self->throw_not_implemented();