2 # BioPerl module for Bio::Tools::Prediction::Gene
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
16 Bio::Tools::Prediction::Gene - a predicted gene structure feature
20 #See documentation of methods.
24 A feature representing a predicted gene structure. This class actually
25 inherits off Bio::SeqFeature::Gene::Transcript and therefore has all that
26 functionality, plus a few methods supporting predicted sequence features,
27 like a predicted CDS and a predicted translation.
29 Exons held by an instance of this class will usually be instances of
30 Bio::Tools::Prediction::Exon, although they do not have to be. Refer to the
31 documentation of the class that produced the instance.
33 Normally, you will not want to create an instance of this class yourself.
34 Instead, classes representing the results of gene structure prediction
35 programs will do that.
41 User feedback is an integral part of the evolution of this and other
42 Bioperl modules. Send your comments and suggestions preferably to one
43 of the Bioperl mailing lists. Your participation is much appreciated.
45 bioperl-l@bioperl.org - General discussion
46 http://bioperl.org/wiki/Mailing_lists - About the mailing lists
50 Please direct usage questions or support issues to the mailing list:
52 I<bioperl-l@bioperl.org>
54 rather than to the module maintainer directly. Many experienced and
55 reponsive experts will be able look at the problem and quickly
56 address it. Please include a thorough description of the problem
57 with code and data examples if at all possible.
61 Report bugs to the Bioperl bug tracking system to help us keep track
62 the bugs and their resolution. Bug reports can be submitted via the
65 https://github.com/bioperl/bioperl-live/issues
67 =head1 AUTHOR - Hilmar Lapp
69 Email hlapp-at-gmx.net or hilmar.lapp-at-pharma.novartis.com
73 The rest of the documentation details each of the object
74 methods. Internal methods are usually preceded with a _
79 # Let the code begin...
82 package Bio
::Tools
::Prediction
::Gene
;
87 use base
qw(Bio::SeqFeature::Gene::Transcript);
90 my($class,@args) = @_;
92 my $self = $class->SUPER::new
(@args);
94 my ($primary,$ptag) = $self->_rearrange([qw(PRIMARY PRIMARY_TAG)],@args);
95 $self->primary_tag('predicted_gene') unless $primary || $ptag;
103 Title : predicted_cds
104 Usage : $predicted_cds_dna = $gene->predicted_cds();
105 $gene->predicted_cds($predicted_cds_dna);
106 Function: Get/Set the CDS (coding sequence) as predicted by a program.
108 This method is independent of an attached_seq. There is no
109 guarantee whatsoever that the returned CDS has anything to do
110 (e.g., matches) with the sequence covered by the exons as annotated
114 Returns : A Bio::PrimarySeqI implementing object holding the DNA sequence
115 defined as coding by a prediction of a program.
116 Args : On set, a Bio::PrimarySeqI implementing object holding the DNA
117 sequence defined as coding by a prediction of a program.
122 my ($self, $cds) = @_;
125 $self->{'_predicted_cds'} = $cds;
127 return $self->{'_predicted_cds'};
130 =head2 predicted_protein
132 Title : predicted_protein
133 Usage : $predicted_protein_seq = $gene->predicted_protein();
134 $gene->predicted_protein($predicted_protein_seq);
135 Function: Get/Set the protein translation as predicted by a program.
137 This method is independent of an attached_seq. There is no
138 guarantee whatsoever that the returned translation has anything to
139 do with the sequence covered by the exons as annotated
140 through this object, or the sequence returned by predicted_cds(),
141 although it should usually be just the standard translation.
144 Returns : A Bio::PrimarySeqI implementing object holding the protein
145 translation as predicted by a program.
146 Args : On set, a Bio::PrimarySeqI implementing object holding the protein
147 translation as predicted by a program.
151 sub predicted_protein
{
152 my ($self, $aa) = @_;
155 $self->{'_predicted_aa'} = $aa;
157 return $self->{'_predicted_aa'};
161 # Everything else is just inherited from SeqFeature::GeneStructure.