annotate variant_effect_predictor/Bio/Expression/FeatureGroup.pm @ 0:21066c0abaf5 draft

Uploaded
author willmclaren
date Fri, 03 Aug 2012 10:04:48 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
1 # $Id: FeatureGroup.pm,v 1.1.2.2 2003/09/17 09:19:21 allenday Exp $
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
2 # BioPerl module for Bio::Expression::FeatureGroup
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
3 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
4 # Copyright Allen Day <allenday@ucla.edu>, Stanley Nelson <snelson@ucla.edu>
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
5 # Human Genetics, UCLA Medical School, University of California, Los Angeles
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
6
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
7 # POD documentation - main docs before the code
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
8
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
9 =head1 NAME
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
10
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
11 Bio::Expression::FeatureGroup - a set of DNA/RNA features. ISA
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
12 Bio::Expression::FeatureI
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
13
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
14 =head1 SYNOPSIS
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
15
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
16 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
17
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
18 =head1 DESCRIPTION
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
19
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
20 A set of DNA/RNA features.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
21
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
22 =head1 FEEDBACK
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
23
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
24 =head2 Mailing Lists
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
25
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
26 User feedback is an integral part of the evolution of this and other
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
27 Bioperl modules. Send your comments and suggestions preferably to one
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
28 of the Bioperl mailing lists. Your participation is much appreciated.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
29
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
30 bioperl-l@bioperl.org - General discussion
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
31 http://bioperl.org/MailList.shtml - About the mailing lists
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
32
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
33 =head2 Reporting Bugs
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
34
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
35 Report bugs to the Bioperl bug tracking system to help us keep track
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
36 the bugs and their resolution.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
37 Bug reports can be submitted via email or the web:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
38
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
39 bioperl-bugs@bio.perl.org
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
40 http://bugzilla.bioperl.org/
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
41
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
42 =head1 AUTHOR
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
43
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
44 Allen Day E<lt>allenday@ucla.eduE<gt>
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
45
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
46 =head1 APPENDIX
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
47
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
48 The rest of the documentation details each of the object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
49 methods. Internal methods are usually preceded with a _
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
50
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
51 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
52
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
53 # Let the code begin...
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
54 package Bio::Expression::FeatureGroup;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
55
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
56 use strict;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
57
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
58 use base qw(Bio::Root::Root Bio::Expression::FeatureI);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
59 use vars qw($DEBUG);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
60
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
61 =head2 new
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
62
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
63 Title : new
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
64 Usage : $featuregroup = Bio::Expression::FeatureGroup->new(%args);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
65 Function: create a new featuregroup object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
66 Returns : a Bio::Expression::FeatureGroup object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
67 Args : an optional hash of parameters to be used in initialization:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
68 -id -- the featuregroup ID
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
69 -type -- the featuregroup type
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
70
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
71 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
72
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
73 sub new {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
74 my($class,@args) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
75 my $self = bless {}, $class;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
76 $self->_initialize(@args);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
77 return $self;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
78 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
79
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
80 =head2 _initialize
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
81
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
82 Title : _initialize
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
83 Usage : $featuregroup->_initialize(@args);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
84 Function: initialize the featuregroup object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
85 Returns : nothing
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
86 Args : @args
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
87
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
88 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
89
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
90 sub _initialize{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
91 my ($self,@args) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
92 my %param = @args;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
93
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
94 $self->type($param{-type});
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
95 $self->id($param{-id} );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
96
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
97 $self->SUPER::_initialize(@args);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
98 $DEBUG = 1 if( ! defined $DEBUG && $self->verbose > 0);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
99 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
100
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
101 =head2 type
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
102
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
103 Title : type
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
104 Usage : $featuregroup->type($optional_arg);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
105 Function: get/set the type of the featuregroup
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
106 Comments: this is probably going to be a string like
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
107 "quality control", "mismatch blah blah", etc.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
108 Returns : the featuregroup type
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
109 Args : a new value for the featuregroup type
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
110
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
111 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
112
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
113 sub type {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
114 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
115 $self->{type} = shift if @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
116 return $self->{type};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
117 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
118
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
119 =head2 id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
120
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
121 Title : id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
122 Usage : $featuregroup->id($optional_arg);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
123 Function: get/set the id of the featuregroup
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
124 Returns : the featuregroup id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
125 Args : a new value for the featuregroup id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
126
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
127 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
128
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
129 sub id {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
130 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
131 $self->{id} = shift if @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
132 return $self->{id};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
133 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
134
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
135
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
136 =head2 standard_deviation
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
137
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
138 Title : standard_deviation
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
139 Usage : $featuregroup->standard_deviation($optional_arg);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
140 Function: get/set the standard deviation of the featuregroup value
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
141 Returns : the featuregroup standard deviation
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
142 Args : a new value for the featuregroup standard deviation
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
143 Notes : this method does no calculation, it merely holds a value
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
144
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
145 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
146
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
147 sub standard_deviation {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
148 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
149 $self->{standard_deviation} = shift if @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
150 return $self->{standard_deviation};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
151 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
152
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
153 =head2 quantitation
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
154
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
155 Title : quantitation
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
156 Usage : $featuregroup->quantitation($optional_arg);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
157 Function: get/set the quantitation of the featuregroup
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
158 Returns : the featuregroup's quantitated value
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
159 Args : a new value for the featuregroup's quantitated value
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
160 Notes : this method does no calculation, it merely holds a value
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
161
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
162 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
163
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
164 sub quantitation {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
165 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
166 $self->{quantitation} = shift if @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
167 return $self->{quantitation};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
168 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
169
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
170 =head2 quantitation_units
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
171
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
172 Title : quantitation_units
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
173 Usage : $featuregroup->quantitation_units($optional_arg);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
174 Function: get/set the quantitation units of the featuregroup
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
175 Returns : the featuregroup's quantitated value units
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
176 Args : a new value for the featuregroup's quantitated value units
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
177
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
178 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
179
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
180 sub quantitation_units {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
181 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
182 $self->{quantitation_units} = shift if @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
183 return $self->{quantitation_units};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
184 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
185
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
186 =head2 presence
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
187
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
188 Title : presence
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
189 Usage : $featuregroup->presence($optional_arg);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
190 Function: get/set the presence call of the featuregroup
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
191 Returns : the featuregroup's presence call
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
192 Args : a new value for the featuregroup's presence call
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
193
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
194 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
195
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
196 sub presence {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
197 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
198 $self->{presence} = shift if @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
199 return $self->{presence};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
200 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
201
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
202 =head2 add_feature
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
203
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
204 Title : add_feature
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
205 Usage : $feature_copy = $featuregroup->add_feature($feature);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
206 Function: add a feature to the featuregroup
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
207 Returns : see this_feature()
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
208 Args : a Bio::Expression::FeatureI compliant object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
209
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
210 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
211
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
212 sub add_feature {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
213 my($self,@args) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
214 foreach my $feature (@args){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
215 $self->throw('Features must be Bio::Expression::FeatureI compliant') unless $feature->isa('Bio::Expression::FeatureI');
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
216 push @{$self->{features}}, $feature;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
217 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
218
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
219 return $self->{features} ? $self->{features}->[-1] : undef;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
220 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
221
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
222 =head2 this_feature
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
223
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
224 Title : this_feature
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
225 Usage : $feature = $featuregroup->this_feature
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
226 Function: access the last feature added to the featuregroup
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
227 Returns : the last feature added to the featuregroup
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
228 Args : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
229
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
230 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
231
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
232 sub this_feature {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
233 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
234 return $self->{features} ? $self->{features}->[-1] : undef;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
235 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
236
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
237 =head2 each_feature
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
238
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
239 Title : each_feature
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
240 Usage : @features = $featuregroup->each_feature
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
241 Function: returns a list of Bio::Expression::FeatureI compliant
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
242 objects
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
243 Returns : a list of objects
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
244 Args : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
245
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
246 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
247
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
248 sub each_feature {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
249 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
250 return @{$self->{features}} if defined($self->{features});
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
251 return ();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
252 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
253
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
254 =head2 each_feature_quantitation
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
255
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
256 Title : each_feature_quantitation
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
257 Usage : @featurequantitions = $featuregroup->each_feature_quantitation;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
258 Function: returns an list of quantitations of the features in the featuregroup
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
259 Returns : a list of numeric values
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
260 Args : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
261
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
262 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
263
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
264 sub each_feature_quantitation {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
265 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
266 my @values = ();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
267 push @values, $_->value foreach $self->each_feature;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
268 return @values;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
269 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
270
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
271 =head2 is_qc
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
272
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
273 Title : is_qc
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
274 Usage : $is_quality_control = $featuregroup->is_qc
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
275 Function: get/set whether or not the featuregroup is used for quality control purposes
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
276 Returns : a boolean (equivalent)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
277 Args : a new value
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
278
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
279 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
280
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
281 sub is_qc {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
282 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
283 $self->{is_qc} = shift if defined @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
284 return $self->{is_qc};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
285 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
286
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
287 1;