annotate variant_effect_predictor/Bio/EnsEMBL/Funcgen/ExperimentalChip.pm @ 1:d6778b5d8382 draft default tip

Deleted selected files
author willmclaren
date Fri, 03 Aug 2012 10:05:43 -0400
parents 21066c0abaf5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
1 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
2 # Ensembl module for Bio::EnsEMBL::Funcgen::ExperimentalChip
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
3 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
4
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
5 =head1 LICENSE
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
6
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
7 Copyright (c) 1999-2011 The European Bioinformatics Institute and
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
8 Genome Research Limited. All rights reserved.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
9
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
10 This software is distributed under a modified Apache license.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
11 For license details, please see
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
12
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
13 http://www.ensembl.org/info/about/code_licence.html
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
14
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
15 =head1 CONTACT
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
16
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
17 Please email comments or questions to the public Ensembl
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
18 developers list at <ensembl-dev@ebi.ac.uk>.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
19
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
20 Questions may also be sent to the Ensembl help desk at
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
21 <helpdesk@ensembl.org>.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
22
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
23
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
24 =head1 NAME
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
25
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
26 Bio::EnsEMBL::Funcgen::ExperimentalChip - A module to represent a physical unique experimental chip.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
27
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
28 =head1 SYNOPSIS
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
29
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
30 use Bio::EnsEMBL::Funcgen::ExperimentalChip;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
31
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
32 my $ec = Bio::EnsEMBL::Funcgen::ExperimentalChip->new(
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
33 -dbID => $ec_id,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
34 -unique_id => $c_uid,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
35 -experiment_id => $exp_id,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
36 -array_chip_id => $ac_id,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
37 -feature_type => $ftpye,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
38 -cell_type => $ctype,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
39 -chip_set_id => 1,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
40 );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
41
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
42
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
43 =head1 DESCRIPTION
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
44
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
45 An ExperimentalChip object represent a physical array chip/slide used in an experiment. The data
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
46 (currently the unique_id, experiment_id, array_chip_id, and description) are stored
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
47 in the experimental_chip table.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
48
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
49 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
50
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
51 use strict;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
52 use warnings;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
53
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
54
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
55 package Bio::EnsEMBL::Funcgen::ExperimentalChip;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
56
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
57
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
58 use Bio::EnsEMBL::Utils::Argument qw( rearrange );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
59 use Bio::EnsEMBL::Utils::Exception qw( throw warning );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
60 use Bio::EnsEMBL::Funcgen::Storable;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
61
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
62 use vars qw(@ISA);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
63 @ISA = qw(Bio::EnsEMBL::Funcgen::Storable);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
64
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
65
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
66 =head2 new
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
67
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
68 Arg [-unique_id] : int - the unique id of this individual experimental chip
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
69 Arg [-experiment_id] : int - the experiment dbID
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
70 Arg [-array_chip_id] : int - the dbID or the array_chip
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
71 Arg [-feature_type ] : Bio::EnsEMBL::Funcgen::FeatureType
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
72 Arg [-cell_type ] : Bio::EnsEMBL::Funcgen::CellType
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
73 Arg [-biological_replicate ] : string - the name to define the biological replicate set
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
74 Arg [-technical_replicate ] : string - the name to define the technical replicate set
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
75
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
76
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
77 Example : my $array = Bio::EnsEMBL::Funcgen::ExperimentalChip->new(
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
78 -dbID => $ec_id,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
79 -unique_id => $c_uid,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
80 -experiment_id => $exp_id,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
81 -array_chip_id => $ac_id,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
82 -feature_type => $ftype,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
83 -cell_type => $ftype,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
84 -biological_replicate => 'BIOREP1',
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
85 -technical_replicate => 'techrep_1',
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
86 );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
87 Description: Creates a new Bio::EnsEMBL::Funcgen::ExperimentalChip object.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
88 Returntype : Bio::EnsEMBL::Funcgen::ExperimentalChip
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
89 Exceptions : None ? should throw if mandaotry params not set
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
90 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
91 Status : Medium Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
92
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
93 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
94
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
95 sub new {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
96 my $caller = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
97
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
98 my $class = ref($caller) || $caller;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
99
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
100 my $self = $class->SUPER::new(@_);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
101
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
102 #can we lc these?
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
103 my ($c_uid, $exp_dbid, $ac_id, $ftype, $ctype, $brep, $trep)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
104 = rearrange( ['UNIQUE_ID', 'EXPERIMENT_ID', 'ARRAY_CHIP_ID', 'FEATURE_TYPE', 'CELL_TYPE', 'BIOLOGICAL_REPLICATE', 'TECHNICAL_REPLICATE'], @_ );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
105
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
106
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
107 $self->unique_id($c_uid) if defined $c_uid;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
108 $self->experiment_id($exp_dbid) if defined $exp_dbid;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
109 $self->array_chip_id($ac_id) if defined $ac_id;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
110 $self->feature_type($ftype) if defined $ftype;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
111 $self->cell_type($ctype) if defined $ctype;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
112 $self->biological_replicate($brep) if defined $brep;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
113 $self->technical_replicate($trep) if defined $trep;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
114 return $self;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
115 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
116
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
117 =head2 get_Experiment
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
118
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
119 Args : None
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
120 Example : my $exp = $exp_chip->get_Experiment();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
121 Description: Returns the Experiment which this ExperimentalChip belongs to.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
122 Returntype : Bio::EnsEMBL::Funcgen::Experiment
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
123 Exceptions : None
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
124 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
125 Status : At Risk
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 get_Experiment {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
130 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
131
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
132 if (! $self->{'experiment'}){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
133
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
134 if ($self->dbID() && $self->adaptor() ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
135 $self->{'experiment'} = $self->adaptor->db->get_ExperimentAdaptor->fetch_by_dbID($self->experiment_id);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
136 } else {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
137 warning('Need database connection to retrieve Experiment');
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
138 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
139 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
140
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
141
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
142 return $self->{'experiment'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
143 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
144
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
145
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
146
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
147 =head2 get_Channels
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
148
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
149 Args : None
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
150 Example : my $channels = $exp_chip->get_Channels();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
151 Description: Returns all channels on a ExperimentalChip. Needs a database connection.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
152 Returntype : Listref of Bio::EnsEMBL::Funcgen::Channel objects
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
153 Exceptions : None
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
154 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
155 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
156
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
157 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
158
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
159 sub get_Channels {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
160 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
161
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
162 if (! $self->{'channels'}){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
163
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
164 if ($self->dbID() && $self->adaptor() ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
165 foreach my $channel (@{$self->adaptor->db->get_ChannelAdaptor->fetch_all_by_ExperimentalChip($self)}){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
166 $self->add_Channel($channel);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
167 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
168 } else {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
169 warning('Need database connection to retrieve Channels');
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
170 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
171 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
172
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
173 return [values %{$self->{'channels'}}];
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
174 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
175
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
176
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
177 =head2 add_Channel
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
178
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
179 Args : Bio::EnsEMBL::Funcgen::Channel
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
180 Example : $exp_chip->add_channel($chan);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
181 Description: Sets ad channel object for the ExperimentalChip
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
182 Returntype : Listref of Bio::EnsEMBL::Funcgen::Channel objects
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
183 Exceptions : warns if Channel already set
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
184 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
185 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
186
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
187 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
188
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
189 sub add_Channel{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
190 my ($self, $chan) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
191
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
192
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
193 if(! ($chan && $chan->isa("Bio::EnsEMBL::Funcgen::Channel") && $chan->dbID())){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
194 throw("Must provide a valid stored Bio::EnsEMBL::Funcgen::Channel object");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
195 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
196
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
197
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
198 $self->{'channels'} ||= {};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
199
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
200 if (exists $self->{'channels'}->{$chan->dbID()}){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
201 #should this throw?
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
202 #This currently prevents haveing to check whether a channel has already been added
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
203 #If we were duplicating then we probably would have a different dbID
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
204 warn("You cannot add the same Channel to an ExperimentalChip more than once");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
205 }else{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
206
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
207
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
208 ##change this to key on freq?
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
209
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
210 $self->{'channels'}{$chan->dbID()} = $chan;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
211 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
212
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
213 return;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
214 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
215
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
216
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
217
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
218 =head2 get_channel_ids
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
219
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
220 Args : None
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
221 Example : my @channel_ids = @{$array->get_channel_ids()};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
222 Description: Returns all channel ids for an ExperimentalChip. Needs a database connection.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
223 Returntype : List of ints
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
224 Exceptions : None
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
225 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
226 Status : Medium Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
227
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
228 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
229
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
230 sub get_channel_ids{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
231 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
232
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
233 $self->get_Channels();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
234
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
235 return [keys %{$self->{'channels'}}];
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
236 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
237
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
238 =head2 get_Channel_by_dye
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
239
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
240 Args : string - dye used in channel
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
241 Example : my $chan = $echip->get_Channel_by_dye("CY5");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
242 Description: Returnsthe channel corresponding to the frequency specified
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
243 Returntype : Bio::EnsEMBL::Funcgen::Channel
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
244 Exceptions : None
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
245 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
246 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
247
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
248 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
249
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
250 sub get_Channel_by_dye{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
251 my ($self, $dye) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
252
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
253 my @chans;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
254
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
255 foreach my $chan(@{$self->get_Channels()}){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
256 push @chans, $chan if uc($chan->dye()) eq uc($dye);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
257 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
258
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
259 throw("Found more than one Channels with the same dye") if(scalar(@chans) > 1);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
260
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
261
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
262 return (@chans) ? $chans[0] : undef;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
263 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
264
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
265 =head2 contains_Channel
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
266
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
267 Args [1] : Bio::EnsEMBL::Funcgen::Channel
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
268 Example : if(! $echip->contains_Channel($chan){..add channel ..};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
269 Description: Checks whether this Channel has already been added to the ExperimentalChip
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
270 Returntype : Boolean
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
271 Exceptions : Throws if arg not a valid stored Bio::EnseMBL::Funcgen::Channel
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
272 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
273 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
274
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
275 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
276
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
277 sub contains_Channel{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
278 my ($self, $chan) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
279
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
280 if(! ($chan && $chan->isa("Bio::EnsEMBL::Funcgen::Channel") && $chan->dbID())){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
281 throw("Must provide a valid stored Bio::EnsEMBL::Funcgen::Channel object");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
282 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
283
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
284 $self->get_Channels();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
285
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
286 my $contains = 0;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
287
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
288 $contains = 1 if(exists $self->{'channels'}->{$chan->dbID()});
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
289
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
290 return $contains;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
291 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
292
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
293
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
294
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
295 =head2 unique_id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
296
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
297 Arg [1] : (optional) int - the unique chip id for this ExperimentalChip
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
298 Example : my $c_uid = $array->unique_id();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
299 Description: Getter, setter unique_id attribute.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
300 Returntype : string
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
301 Exceptions : None
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
302 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
303 Status : at Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
304
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
305 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
306
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
307 sub unique_id {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
308 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
309 $self->{'unique_id'} = shift if @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
310 return $self->{'unique_id'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
311 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
312
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
313 =head2 feature_type
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
314
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
315 Arg [1] : (optional) Bio::EnsEMBL::Funcgen::FeatureType
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
316 Example : $ec->feature_type($ftype);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
317 Description: Getter/Setter thefeature_type attribute.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
318 Returntype : Bio::EnsEMBL::Funcgen::FeatureType
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
319 Exceptions : Throws if arg is not a Bio::EnsEMBL::FeatureType
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
320 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
321 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
322
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
323 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
324
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
325 sub feature_type {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
326 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
327
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
328 if(@_){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
329 throw("Must pass a valid Bio::EnsEMBL::Funcgen::FeatureType object") if (! $_[0]->isa("Bio::EnsEMBL::Funcgen::FeatureType"));
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
330 $self->{'feature_type'} = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
331 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
332
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
333 return $self->{'feature_type'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
334 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
335
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
336
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
337 =head2 cell_type
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
338
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
339 Arg [1] : (optional) Bio::EnsEMBL::Funcgen::CellType
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
340 Example : $ec->cell_type($ctype);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
341 Description: Getter/Setter the cell_type attribute.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
342 Returntype : Bio::EnsEMBL::Funcgen::CellType
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
343 Exceptions : Throws if arg is not a Bio::EnsEMBL::CellType
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
344 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
345 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
346
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
347 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
348
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
349 sub cell_type {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
350 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
351
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
352 if(@_){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
353 throw("Must pass a valid Bio::EnsEMBL::Funcgen::CellType object") if (! $_[0]->isa("Bio::EnsEMBL::Funcgen::CellType"));
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
354 $self->{'cell_type'} = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
355 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
356
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
357 return $self->{'cell_type'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
358 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
359
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
360
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
361
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
362 =head2 biological_replicate
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
363
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
364 Arg [1] : (optional) string - the name or number of the chip biological replicate set
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
365 Example : $ec->biological_replicate('SAMPLENAME_BR1');
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
366 Description: Getter, setter for the biological_replicate attribute.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
367 Returntype : string
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
368 Exceptions : None
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
369 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
370 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
371
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
372 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
373
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
374 sub biological_replicate {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
375 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
376 $self->{'biological_replicate'} = shift if @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
377 return $self->{'biological_replicate'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
378 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
379
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
380 =head2 technical_replicate
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
381
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
382 Arg [1] : (optional) string - the name or number of the chip technical replicate set
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
383 Example : $ec->technical_replicate('SAMPLENAME_BR1_TR1');
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
384 Description: Getter, setter for the technical_replicate attribute.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
385 Returntype : string
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
386 Exceptions : None
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
387 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
388 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
389
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
390 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
391
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
392 sub technical_replicate {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
393 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
394 $self->{'technical_replicate'} = shift if @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
395 return $self->{'technical_replicate'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
396 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
397
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
398
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
399
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
400 =head2 experiment_id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
401
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
402 Arg [1] : (optional) int - the experiment dbID
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
403 Example : my $exp_id = $array->experiment_id();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
404 Description: Getter, setter experiment_id attribute
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
405 Returntype : int
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
406 Exceptions : None
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
407 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
408 Status : Medium Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
409
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
410 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
411
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
412 sub experiment_id {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
413 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
414 $self->{'experiment_id'} = shift if @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
415 return $self->{'experiment_id'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
416 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
417
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
418 =head2 array_chip_id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
419
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
420 Arg [1] : (optional) int - the array_chip dbID
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
421 Example : my $ac_id = $ec->array_chip_id();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
422 Description: Getter, setter array_chip_id attribute
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
423 Returntype : int
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
424 Exceptions : None
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
425 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
426 Status : Medium Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
427
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
428 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
429
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
430 sub array_chip_id {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
431 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
432 $self->{'array_chip_id'} = shift if @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
433 return $self->{'array_chip_id'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
434 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
435
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
436 =head2 get_ArrayChip
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
437
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
438 Example : my $array_chip = $exp_chip->get_ArrayChip();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
439 Description: Getter for the array_chip attribute
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
440 Returntype : Bio::EnsEMBL::Funcgen::ArrayChip
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
441 Exceptions : None
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
442 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
443 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
444
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
445 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
446
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
447 sub get_ArrayChip {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
448 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
449
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
450 if(! defined $self->{'array_chip'}){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
451 $self->{'array_chip'} = $self->adaptor->db->get_ArrayChipAdaptor()->fetch_by_dbID($self->array_chip_id());
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
452 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
453
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
454 return $self->{'array_chip'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
455 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
456
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
457
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
458
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
459 1;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
460