File Coverage

Bio/Tools/Prediction/Exon.pm
Criterion Covered Total %
statement 13 21 61.9
branch 0 4 0.0
condition n/a
subroutine 7 9 77.7
pod 7 7 100.0
total 27 41 65.8


line stmt bran cond sub pod time code
1             #
2             # BioPerl module for Bio::Tools::Prediction::Exon
3             #
4             # Please direct questions and support issues to
5             #
6             # Cared for by Hilmar Lapp
7             #
8             # Copyright Hilmar Lapp
9             #
10             # You may distribute this module under the same terms as perl itself
11              
12             # POD documentation - main docs before the code
13              
14             =head1 NAME
15              
16             Bio::Tools::Prediction::Exon - A predicted exon feature
17              
18             =head1 SYNOPSIS
19              
20             # See documentation of methods.
21              
22             =head1 DESCRIPTION
23              
24             A feature representing a predicted exon. This class actually inherits
25             off Bio::SeqFeature::Gene::Exon and therefore has all that
26             functionality (also implements Bio::SeqFeatureI), plus a few methods
27             supporting predicted features, like various scores and a
28             significance. Even though these were inspired by GenScan results, at
29             least a subset should be generally useable for exon prediction
30             results.
31              
32             =head1 FEEDBACK
33              
34             =head2 Mailing Lists
35              
36             User feedback is an integral part of the evolution of this
37             and other Bioperl modules. Send your comments and suggestions preferably
38             to one of the Bioperl mailing lists.
39             Your participation is much appreciated.
40              
41             bioperl-l@bioperl.org - General discussion
42             http://bioperl.org/wiki/Mailing_lists - About the mailing lists
43              
44             =head2 Support
45              
46             Please direct usage questions or support issues to the mailing list:
47              
48             I
49              
50             rather than to the module maintainer directly. Many experienced and
51             reponsive experts will be able look at the problem and quickly
52             address it. Please include a thorough description of the problem
53             with code and data examples if at all possible.
54              
55             =head2 Reporting Bugs
56              
57             Report bugs to the Bioperl bug tracking system to help us keep track
58             the bugs and their resolution. Bug reports can be submitted via the
59             web:
60              
61             https://github.com/bioperl/bioperl-live/issues
62              
63             =head1 AUTHOR - Hilmar Lapp
64              
65             Email hlapp-at-gmx.net
66              
67             =head1 APPENDIX
68              
69             The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _
70              
71             =cut
72              
73              
74             # Let the code begin...
75              
76              
77             package Bio::Tools::Prediction::Exon;
78 2     2   7 use strict;
  2         2  
  2         50  
79              
80              
81 2     2   7 use base qw(Bio::SeqFeature::Gene::Exon);
  2         1  
  2         588  
82              
83             sub new {
84 422     422 1 772 my($class,@args) = @_;
85            
86 422         812 my $self = $class->SUPER::new(@args);
87              
88 422         745 return $self;
89             }
90              
91              
92             =head2 predicted_cds
93              
94             Title : predicted_cds
95             Usage : $predicted_cds_dna = $exon->predicted_cds();
96             $exon->predicted_cds($predicted_cds_dna);
97             Function: Get/Set the CDS (coding sequence) as predicted by a program.
98              
99             This method is independent of an attached_seq. There is no
100             guarantee whatsoever that the returned CDS has anything to do
101             (e.g., matches) with the sequence covered by the exons as annotated
102             through this object.
103              
104             Example :
105             Returns : A Bio::PrimarySeqI implementing object holding the DNA sequence
106             defined as coding by a prediction of a program.
107             Args : On set, a Bio::PrimarySeqI implementing object holding the DNA
108             sequence defined as coding by a prediction of a program.
109              
110             =cut
111              
112             sub predicted_cds {
113 0     0 1 0 my ($self, $cds) = @_;
114              
115 0 0       0 if(defined($cds)) {
116 0         0 $self->{'_predicted_cds'} = $cds;
117             }
118 0         0 return $self->{'_predicted_cds'};
119             }
120              
121             =head2 predicted_protein
122              
123             Title : predicted_protein
124             Usage : $predicted_protein_seq = $exon->predicted_protein();
125             $exon->predicted_protein($predicted_protein_seq);
126             Function: Get/Set the protein translation as predicted by a program.
127              
128             This method is independent of an attached_seq. There is no
129             guarantee whatsoever that the returned translation has anything to
130             do with the sequence covered by the exons as annotated
131             through this object, or the sequence returned by predicted_cds(),
132             although it should usually be just the standard translation.
133              
134             Example :
135             Returns : A Bio::PrimarySeqI implementing object holding the protein
136             translation as predicted by a program.
137             Args : On set, a Bio::PrimarySeqI implementing object holding the protein
138             translation as predicted by a program.
139              
140             =cut
141              
142             sub predicted_protein {
143 0     0 1 0 my ($self, $aa) = @_;
144              
145 0 0       0 if(defined($aa)) {
146 0         0 $self->{'_predicted_aa'} = $aa;
147             }
148 0         0 return $self->{'_predicted_aa'};
149             }
150              
151             =head2 significance
152              
153             Title : significance
154             Usage : $evalue = $obj->significance();
155             $obj->significance($evalue);
156             Function:
157             Returns :
158             Args :
159              
160              
161             =cut
162              
163             sub significance {
164 120     120 1 180 return shift->_tag_value('signif', @_);
165             }
166              
167             =head2 start_signal_score
168              
169             Title : start_signal_score
170             Usage : $sc = $obj->start_signal_score();
171             $obj->start_signal_score($evalue);
172             Function: Get/Set a score for the exon start signal (acceptor splice site
173             or initiation signal).
174             Returns :
175             Args :
176              
177              
178             =cut
179              
180             sub start_signal_score {
181 120     120 1 210 return shift->_tag_value('AccScore', @_);
182             }
183              
184             =head2 end_signal_score
185              
186             Title : end_signal_score
187             Usage : $sc = $obj->end_signal_score();
188             $obj->end_signal_score($evalue);
189             Function: Get/Set a score for the exon end signal (donor splice site
190             or termination signal).
191             Returns :
192             Args :
193              
194              
195             =cut
196              
197             sub end_signal_score {
198 120     120 1 177 return shift->_tag_value('DonScore', @_);
199             }
200              
201             =head2 coding_signal_score
202              
203             Title : coding_signal_score
204             Usage : $sc = $obj->coding_signal_score();
205             $obj->coding_signal_score($evalue);
206             Function: Get/Set a score for the exon coding signal (e.g., coding potential).
207             Returns :
208             Args :
209              
210              
211             =cut
212              
213             sub coding_signal_score {
214 120     120 1 183 return shift->_tag_value('CodScore', @_);
215             }
216              
217             #
218             # Everything else is just inherited from SeqFeature::Generic.
219             #
220              
221             1;