Mercurial > repos > mahtabm > ensembl
comparison variant_effect_predictor/Bio/SeqFeature/Gene/TranscriptI.pm @ 0:1f6dce3d34e0
Uploaded
| author | mahtabm |
|---|---|
| date | Thu, 11 Apr 2013 02:01:53 -0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:1f6dce3d34e0 |
|---|---|
| 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 |
