tag fourth (and hopefully last) alpha
[bioperl-live.git] / branch-1-6 / Bio / SeqFeature / Gene / GeneStructureI.pm
blob4db4a21a1b8cd009ce5842ffbd8e0a3dba140c5e
1 # $Id$
3 # BioPerl module for Bio::SeqFeature::Gene::GeneStructureI
5 # Please direct questions and support issues to <bioperl-l@bioperl.org>
7 # Cared for by Hilmar Lapp <hlapp@gmx.net>
9 # Copyright 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::SeqFeature::Gene::GeneStructureI - A feature representing an arbitrarily
18 complex structure of a gene
20 =head1 SYNOPSIS
22 #documentation needed
24 =head1 DESCRIPTION
26 A feature representing a gene structure.
28 =head1 FEEDBACK
30 =head2 Mailing Lists
32 User feedback is an integral part of the evolution of this
33 and other Bioperl modules. Send your comments and suggestions preferably
34 to one of the Bioperl mailing lists. Your participation is much appreciated.
36 bioperl-l@bioperl.org - General discussion
37 http://bioperl.org/wiki/Mailing_lists - About the mailing lists
39 =head2 Support
41 Please direct usage questions or support issues to the mailing list:
43 I<bioperl-l@bioperl.org>
45 rather than to the module maintainer directly. Many experienced and
46 reponsive experts will be able look at the problem and quickly
47 address it. Please include a thorough description of the problem
48 with code and data examples if at all possible.
50 =head2 Reporting Bugs
52 Report bugs to the Bioperl bug tracking system to help us keep track
53 the bugs and their resolution. Bug reports can be submitted via the
54 web:
56 http://bugzilla.open-bio.org/
58 =head1 AUTHOR - Hilmar Lapp
60 Email hlapp@gmx.net
62 =head1 APPENDIX
64 The rest of the documentation details each of the object methods.
65 Internal methods are usually preceded with a _
67 =cut
70 # Let the code begin...
73 package Bio::SeqFeature::Gene::GeneStructureI;
74 use strict;
76 use Carp;
78 use base qw(Bio::SeqFeatureI);
80 =head2 transcripts
82 Title : transcripts()
83 Usage : @transcripts = $gene->transcripts();
84 Function: Get the transcript features/sites of this gene structure.
86 See Bio::SeqFeature::Gene::TranscriptI for properties of the
87 returned objects.
89 Returns : An array of Bio::SeqFeature::Gene::TranscriptI implementing objects
90 representing the promoter regions or sites.
91 Args :
94 =cut
96 sub transcripts {
97 my ($self) = @_;
98 $self->throw_not_implemented();
101 =head2 promoters
103 Title : promoters()
104 Usage : @prom_sites = $gene->promoters();
105 Function: Get the promoter features/sites of this gene structure.
107 Note that OO-modeling of regulatory elements is not stable yet.
108 This means that this method might change or even disappear in a
109 future release. Be aware of this if you use it.
111 Returns : An array of Bio::SeqFeatureI implementing objects representing the
112 promoter regions or sites.
113 Args :
115 =cut
117 sub promoters {
118 my ($self) = @_;
119 $self->throw_not_implemented();
122 =head2 exons
124 Title : exons()
125 Usage : @exons = $gene->exons();
126 @inital = $gene->exons('Initial');
127 Function: Get all exon features or all exons of specified type of this gene
128 structure.
130 Refer to the documentation of the class that produced this gene
131 structure object for information about the possible types.
133 See Bio::SeqFeature::Gene::ExonI for properties of the
134 returned objects.
136 Returns : An array of Bio::SeqFeature::Gene::ExonI implementing objects
137 representing the exon regions.
138 Args : An optional string specifying the type of the exon.
140 =cut
142 sub exons {
143 my ($self, $type) = @_;
144 $self->throw_not_implemented();
147 =head2 introns
149 Title : introns()
150 Usage : @introns = $gene->introns();
151 Function: Get all introns of this gene structure.
152 Returns : An array of Bio::SeqFeatureI implementing objects representing the
153 introns.
154 Args :
157 =cut
159 sub introns {
160 my ($self) = @_;
161 $self->throw_not_implemented();
164 =head2 poly_A_sites
166 Title : poly_A_sites()
167 Usage : @polyAsites = $gene->poly_A_sites();
168 Function: Get the poly-adenylation features/sites of this gene structure.
169 Returns : An array of Bio::SeqFeatureI implementing objects representing the
170 poly-adenylation regions or sites.
171 Args :
174 =cut
176 sub poly_A_sites {
177 my ($self) = @_;
178 $self->throw_not_implemented();
181 =head2 utrs
183 Title : utrs()
184 Usage : @utr_sites = $gene->utrs();
185 Function: Get the UTR features/sites of this gene structure.
187 See Bio::SeqFeature::Gene::ExonI for properties of the
188 returned objects.
190 Returns : An array of Bio::SeqFeature::Gene::ExonI implementing objects
191 representing the UTR regions or sites.
192 Args :
195 =cut
197 sub utrs {
198 my ($self) = @_;
199 $self->throw_not_implemented();