Mercurial > repos > willmclaren > ensembl_vep
comparison variant_effect_predictor/Bio/SeqFeature/Gene/TranscriptI.pm @ 0:21066c0abaf5 draft
Uploaded
author | willmclaren |
---|---|
date | Fri, 03 Aug 2012 10:04:48 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:21066c0abaf5 |
---|---|
1 # $Id: TranscriptI.pm,v 1.7 2002/10/22 07:38:41 lapp Exp $ | |
2 # | |
3 # BioPerl module for Bio::SeqFeature::Gene::TranscriptI | |
4 # | |
5 # Cared for by Hilmar Lapp <hlapp@gmx.net> | |
6 # | |
7 # Copyright Hilmar Lapp | |
8 # | |
9 # You may distribute this module under the same terms as perl itself | |
10 | |
11 # POD documentation - main docs before the code | |
12 | |
13 =head1 NAME | |
14 | |
15 Bio::SeqFeature::Gene::TranscriptI - Interface for a feature representing a | |
16 transcript of exons, promoter(s), UTR, and a poly-adenylation site. | |
17 | |
18 =head1 SYNOPSIS | |
19 | |
20 #documentation needed | |
21 | |
22 =head1 DESCRIPTION | |
23 | |
24 A feature representing a transcript. | |
25 | |
26 =head1 FEEDBACK | |
27 | |
28 =head2 Mailing Lists | |
29 | |
30 User feedback is an integral part of the evolution of this | |
31 and other Bioperl modules. Send your comments and suggestions preferably | |
32 to one of the Bioperl mailing lists. | |
33 Your participation is much appreciated. | |
34 | |
35 bioperl-l@bioperl.org - General discussion | |
36 http://bio.perl.org/MailList.html - About the mailing lists | |
37 | |
38 =head2 Reporting Bugs | |
39 | |
40 Report bugs to the Bioperl bug tracking system to help us keep track | |
41 the bugs and their resolution. | |
42 Bug reports can be submitted via email or the web: | |
43 | |
44 bioperl-bugs@bio.perl.org | |
45 http://bugzilla.bioperl.org/ | |
46 | |
47 =head1 AUTHOR - Hilmar Lapp | |
48 | |
49 Email hlapp@gmx.net | |
50 | |
51 Describe contact details here | |
52 | |
53 =head1 APPENDIX | |
54 | |
55 The rest of the documentation details each of the object methods. | |
56 Internal methods are usually preceded with a _ | |
57 | |
58 =cut | |
59 | |
60 | |
61 # Let the code begin... | |
62 | |
63 | |
64 package Bio::SeqFeature::Gene::TranscriptI; | |
65 use vars qw(@ISA); | |
66 use strict; | |
67 | |
68 use Carp; | |
69 use Bio::SeqFeatureI; | |
70 | |
71 @ISA = qw(Bio::SeqFeatureI); | |
72 | |
73 =head2 promoters | |
74 | |
75 Title : promoters() | |
76 Usage : @proms = $transcript->promoters(); | |
77 Function: Get the promoter features of this transcript. | |
78 | |
79 Note that OO-modeling of regulatory elements is not stable yet. | |
80 This means that this method might change or even disappear in a | |
81 future release. Be aware of this if you use it. | |
82 | |
83 Returns : An array of Bio::SeqFeatureI implementing objects representing the | |
84 promoter regions or sites. | |
85 Args : | |
86 | |
87 =cut | |
88 | |
89 sub promoters { | |
90 my ($self) = @_; | |
91 $self->throw_not_implemented(); | |
92 } | |
93 | |
94 =head2 exons | |
95 | |
96 Title : exons() | |
97 Usage : @exons = $transcript->exons(); | |
98 @inital = $transcript->exons('Initial'); | |
99 Function: Get the individual exons this transcript comprises of, or all exons | |
100 of a specified type. | |
101 | |
102 Refer to the documentation of the class that produced this | |
103 transcript object for information about the possible types. | |
104 | |
105 See Bio::SeqFeature::Gene::ExonI for properties of the | |
106 returned objects. | |
107 | |
108 Returns : An array of Bio::SeqFeature::Gene::ExonI implementing objects | |
109 Args : An optional string specifying the type of the exon. | |
110 | |
111 =cut | |
112 | |
113 sub exons { | |
114 my ($self, $type) = @_; | |
115 $self->throw_not_implemented(); | |
116 } | |
117 | |
118 =head2 introns | |
119 | |
120 Title : introns() | |
121 Usage : @introns = $transcript->introns(); | |
122 Function: Get all introns this transcript comprises of. | |
123 Returns : An array of Bio::SeqFeatureI implementing objects representing the | |
124 introns. | |
125 Args : | |
126 | |
127 | |
128 =cut | |
129 | |
130 sub introns { | |
131 my ($self) = @_; | |
132 $self->throw_not_implemented(); | |
133 } | |
134 | |
135 =head2 poly_A_site | |
136 | |
137 Title : poly_A_site() | |
138 Usage : $polyAsite = $transcript->poly_A_site(); | |
139 Function: Get the poly-adenylation site of this transcript. | |
140 Returns : A Bio::SeqFeatureI implementing object. | |
141 Args : | |
142 | |
143 | |
144 =cut | |
145 | |
146 sub poly_A_site { | |
147 my ($self) = @_; | |
148 $self->throw_not_implemented(); | |
149 } | |
150 | |
151 =head2 utrs | |
152 | |
153 Title : utrs() | |
154 Usage : @utr_sites = $transcript->utrs(); | |
155 Function: Get the UTR regions this transcript comprises of. | |
156 | |
157 See Bio::SeqFeature::Gene::ExonI for properties of the | |
158 returned objects. | |
159 | |
160 Returns : An array of Bio::SeqFeature::Gene::ExonI implementing objects | |
161 Args : | |
162 | |
163 | |
164 =cut | |
165 | |
166 sub utrs { | |
167 my ($self) = @_; | |
168 $self->throw_not_implemented(); | |
169 } | |
170 | |
171 =head2 mrna | |
172 | |
173 Title : mrna() | |
174 Usage : $mrna = $transcript->mrna(); | |
175 Function: Get the mRNA of the transcript as a sequence object. | |
176 | |
177 Returns : A Bio::PrimarySeqI implementing object. | |
178 Args : | |
179 | |
180 | |
181 =cut | |
182 | |
183 sub mrna { | |
184 my ($self) = @_; | |
185 $self->throw_not_implemented(); | |
186 } | |
187 | |
188 =head2 cds | |
189 | |
190 Title : cds() | |
191 Usage : $cds = $transcript->cds(); | |
192 Function: Get the CDS (coding sequence) of the transcript as a sequence | |
193 object. | |
194 | |
195 Returns : A Bio::PrimarySeqI implementing object. | |
196 Args : | |
197 | |
198 | |
199 =cut | |
200 | |
201 sub cds { | |
202 my ($self) = @_; | |
203 $self->throw_not_implemented(); | |
204 } | |
205 | |
206 =head2 protein | |
207 | |
208 Title : protein() | |
209 Usage : $protein = $transcript->protein(); | |
210 Function: Get the protein encoded by the transcript as a sequence object. | |
211 | |
212 Returns : A Bio::PrimarySeqI implementing object. | |
213 Args : | |
214 | |
215 | |
216 =cut | |
217 | |
218 sub protein { | |
219 my ($self) = @_; | |
220 $self->throw_not_implemented(); | |
221 } | |
222 | |
223 =head2 parent | |
224 | |
225 Title : parent | |
226 Usage : $obj->parent($newval) | |
227 Function: get the parent gene of the transcript | |
228 Returns : value of parent - a Bio::SeqFeature::Gene::GeneStructureI-compliant object | |
229 Args : a Bio::SeqFeature::Gene::GeneStructureI-compliant object (optional) | |
230 | |
231 | |
232 =cut | |
233 | |
234 sub parent{ | |
235 my ($self,$value) = @_; | |
236 if( defined $value) { | |
237 if ($value->isa("Bio::SeqFeature::Gene::GeneStructureI")) { | |
238 $self->{'parent'} = $value; | |
239 } else { | |
240 $self->throw("$value must be a Bio::SeqFeature::Gene::GeneStructureI") | |
241 } | |
242 } | |
243 return $self->{'parent'}; | |
244 } | |
245 | |
246 | |
247 1; | |
248 | |
249 | |
250 | |
251 | |
252 | |
253 |