annotate variant_effect_predictor/Bio/EnsEMBL/Funcgen/Experiment.pm @ 2:a5976b2dce6f

changing defualt values for ensembl database
author mahtabm
date Thu, 11 Apr 2013 17:15:42 +1000
parents 1f6dce3d34e0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
2 =head1 LICENSE
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
3
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
4 Copyright (c) 1999-2011 The European Bioinformatics Institute and
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
5 Genome Research Limited. All rights reserved.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
6
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
7 This software is distributed under a modified Apache license.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
8 For license details, please see
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
9
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
10 http://www.ensembl.org/info/about/code_licence.html
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
11
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
12 =head1 CONTACT
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
13
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
14 Please email comments or questions to the public Ensembl
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
15 developers list at <ensembl-dev@ebi.ac.uk>.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
16
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
17 Questions may also be sent to the Ensembl help desk at
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
18 <helpdesk@ensembl.org>.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
19
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
20
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
21 =head1 NAME
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
22
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
23 Bio::EnsEMBL::Funcgen::Experiment
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
24
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
25 =head1 SYNOPSIS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
26
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
27 use Bio::EnsEMBL::Funcgen::Experiment;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29 my $exp = Bio::EnsEMBL::Funcgen::Experiment->new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30 (
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31 -ADAPTOR => $self,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32 -NAME => $name,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33 -EXPERIMENTAL_GROUP => $experimental_group,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 -DATE => $date,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35 -PRIMARY_DESIGN_TYPE => 'binding_site_indentification',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36 -DESCRIPTION => $description,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37 -ARCHIVE_ID => $archive_id,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40 my $db_adaptor = Bio::EnsEMBL::Funcgen::DBSQL::DBAdaptor->new(...);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41 my $exp_adaptor = $db_adaptor->get_ExperimentAdaptor();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42 my $exp = $exp_adaptor->fetch_by_name($exp_name)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46 The Experiment class represents an instance of an experiment i.e. a discrete set of data
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51 ################################################################################
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53 package Bio::EnsEMBL::Funcgen::Experiment;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55 use warnings;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58 use Bio::EnsEMBL::Utils::Argument qw( rearrange );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59 use Bio::EnsEMBL::Utils::Exception qw( throw warning deprecate );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60 use Bio::EnsEMBL::Funcgen::Storable;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61 use vars qw(@ISA);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63 @ISA = qw(Bio::EnsEMBL::Funcgen::Storable);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67 =head2 new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69 Arg [-NAME] : String - experiment name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70 Arg [-EXPERIMENTAL_GROUP] : Bio::EnsEMBL::Funcgen ExperimentalGroup associated with this experiment
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71 Arg [-DATE] : String - Date of the experiment (YYYY-MM-DD)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72 Arg [-PRIMARY_DESIGN_TYPE] : String - MGED term for the primary design of teh experiment e.g. binding_site_identification
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73 Arg [-DESCRIPTION] : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75 Example : my $array = Bio::EnsEMBL::Funcgen::Experiment->new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76 (
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77 -NAME => $name,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78 -EXPERIMENTAL_GROUP => $group,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79 -DATE => $date,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80 -PRIMARY_DESIGN_TYPE => $p_design_type,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81 -DESCRIPTION => $description,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84 Description: Creates a new Bio::EnsEMBL::Funcgen::Experiment object.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85 Returntype : Bio::EnsEMBL::Funcgen::Experiment
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86 Exceptions : Throws if name not defined
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87 Throws if ExperimentalGroup not valid
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89 Status : Medium Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93 sub new {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94 my $caller = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96 my $class = ref($caller) || $caller;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98 my $self = $class->SUPER::new(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100 my ($name, $group, $date, $p_dtype, $desc, $archive_id, $data_url, $xml_id, $xml)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101 = rearrange( ['NAME', 'EXPERIMENTAL_GROUP', 'DATE', 'PRIMARY_DESIGN_TYPE',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102 'DESCRIPTION','ARCHIVE_ID', 'DATA_URL', 'MAGE_XML', 'MAGE_XML_ID'], @_ );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105 #Added in v68
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106 #Remove in v69
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107 if($data_url || $archive_id){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108 throw('The -data_url and -archive_id parameters have been moved to the InputSubSet class');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112 #Mandatory attr checks
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114 if(ref($group) ne 'Bio::EnsEMBL::Funcgen::ExperimentalGroup'){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115 throw("Must pass a valid stored Bio::EnsEMBL::Funcgen::ExperimentalGroup object");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118 if(! defined $name){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119 throw('You must provide a name parameter');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122 #test date format here?
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125 #Direct assignment here so we avoid setter test in methods
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126 $self->{name} = $name;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127 $self->{group} = $group;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128 $self->{date} = $date if defined $date;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129 $self->{primary_design_type} = $p_dtype if defined $p_dtype; #MGED term for primary design type
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130 $self->{description} = $desc if defined $desc;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132 #Maintain setter funcs here as these are populated after initialisation
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133 $self->mage_xml_id($xml_id) if defined $xml_id;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134 $self->mage_xml($xml) if defined $xml;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136 return $self;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140 ### ACCESSOR METHODS ###
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142 =head2 name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144 Example : my $exp_name = $exp->name;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145 Description : Getter for the experiment name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146 Returntype : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153 sub name{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154 return $_[0]->{'name'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158 =head2 experimental_group
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160 Example : my $exp_group_name = $exp->experimental_group()->name();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161 Description : Getter for the experimental group
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162 Returntype : Bio::EnsEMBL::Funcgen::ExperimentalGroup
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165 Status : At risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
169 sub experimental_group{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
170 return $_[0]->{'group'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
171 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
172
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
173
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
174 =head2 date
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
175
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
176 Example : my $exp_date = $exp->date;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
177 Description : Getter for the date
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
178 Returntype : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
179 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
180 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
181 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
182
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
183 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
184
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
185 sub date{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
186 return $_[0]->{'date'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
187 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
188
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
189
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
190 =head2 description
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
191
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
192 Example : my $exp_desc = $exp->description
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
193 Description : Getter for the experiment description
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
194 Returntype : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
195 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
196 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
197 Status : At risk - Not used, was stable until v64
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
198
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
199 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
200
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
201 sub description{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
202 return $_[0]->{'description'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
203 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
204
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
205
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
206
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
207
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
208
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
209 =head2 primary_design_type
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
210
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
211 Example : my $pdt = $exp->primary_design_type;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
212 Description : Getter for the primary design type
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
213 Returntype : String - MGED term
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
214 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
215 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
216 Status : At risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
217
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
218 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
219
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
220 sub primary_design_type{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
221 return $_[0]->{'primary_design_type'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
222 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
223
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
224
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
225 # Accessor/Setter methods
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
226
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
227 =head2 mage_xml
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
228
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
229 Arg [1] : string(optional) - MAGE XML
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
230 Example : my $xml = $exp->mage_xml();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
231 Description : Getter/Setter for the mage_xml attribute
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
232 Returntype : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
233 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
234 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
235 Status : at risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
236
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
237 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
238
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
239 sub mage_xml{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
240 my ($self) = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
241
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
242 $self->{'mage_xml'} = shift if(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
243
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
244 #use fetch_attrs?
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
245 if(! exists $self->{'mage_xml'} && $self->mage_xml_id()){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
246 $self->{'mage_xml'} = $self->adaptor->fetch_mage_xml_by_Experiment($self);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
247 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
248
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
249 return (exists $self->{'mage_xml'}) ? $self->{'mage_xml'} : undef;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
250 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
251
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
252
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
253 =head2 mage_xml_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
254
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
255 Arg [1] : int (optional) - mage_xml_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
256 Example : $exp->group_db_id('1');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
257 Description : Getter/Setter for the mage_xml attribute
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
258 Returntype : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
259 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
260 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
261 Status : at risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
262
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
263 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
264
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
265 sub mage_xml_id{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
266 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
267
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
268 $self->{'mage_xml_id'} = shift if @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
269
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
270 return $self->{'mage_xml_id'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
271 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
272
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
273
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
274
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
275
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
276
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
277
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
278 #These convenience methods are to provide a registry for the experimental chips of the experiment
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
279
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
280 =head2 get_ExperimentalChips
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
281
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
282 Example : my $exp_chips = @{$exp->get_ExperimentalChips()}
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
283 Description : Retrieves all ExperiemntalChips
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
284 Returntype : Listref of ExperimentalChips
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
285 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
286 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
287 Status : At risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
288
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
289 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
290
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
291 sub get_ExperimentalChips{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
292 my ($self) = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
293
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
294 #should this also store echips?
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
295
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
296 #Need to retrieve all from DB if not defined, then check whether already present and add and store if not
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
297 #what about immediate access to dbID
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
298 #should we separate and have add_ExperimentalChip?
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
299
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
300
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
301
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
302 if(! exists $self->{'experimental_chips'}){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
303 $self->{'experimental_chips'} = {};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
304
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
305 #need to warn about DBAdaptor here?
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
306
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
307 foreach my $echip(@{$self->adaptor->db->get_ExperimentalChipAdaptor->fetch_all_by_experiment_dbID($self->dbID())}){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
308 $self->{'experimental_chips'}->{$echip->unique_id()} = $echip;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
309 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
310 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
311
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
312 #is this returning a list or a listref?
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
313 return [values %{$self->{'experimental_chips'}}];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
314 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
315
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
316 =head2 add_ExperimentalChip
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
317
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
318 Example : $exp_chip = $exp->add_ExperimentalChip($exp_chip)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
319 Description : Adds and stores an ExperiemntalChip for this Experiment
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
320 Returntype : Bio::EnsEMBL::Funcgen::ExperimentalChip
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
321 Exceptions : Throws is not passed a valid stored Bio::EnsENBML::Funcgen::ExperimentalChip
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
322 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
323 Status : At risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
324
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
325 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
326
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
327 sub add_ExperimentalChip{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
328 my ($self, $echip) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
329
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
330
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
331 throw("Must pass a valid stored Bio::EnsEMBL::Funcgen::ExperimentalChip object")
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
332 if(! $echip->isa("Bio::EnsEMBL::Funcgen::ExperimentalChip") || ! $echip->dbID());
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
333
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
334 if(! exists $self->{'experimental_chips'}){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
335 $self->get_ExperimentalChips();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
336 $self->{'experimental_chips'}->{$echip->unique_id()} = $echip;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
337 #do this here without checking to avoid probelm of retrieving first stored chip
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
338 }elsif(exists $self->{'experimental_chips'}->{$echip->unique_id()}){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
339 warn("You cannot add the same ExperimentalChip(".$echip->unique_id().")to an Experiment more than once, check your code");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
340 }else{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
341 $self->{'experimental_chips'}->{$echip->unique_id()} = $echip;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
342 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
343
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
344 return;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
345 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
346
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
347 =head2 get_ExperimentalChip_by_unique_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
348
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
349 Example : $exp_chip = $exp->add_ExperimentalChip($exp_chip)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
350 Description : Adds and stores an ExperiemntalChip for this Experiment
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
351 Returntype : Bio::EnsEMBL::Funcgen::ExperimentalChip
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
352 Exceptions : Throws if no uid supplied
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
353 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
354 Status : At risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
355
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
356 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
357
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
358 sub get_ExperimentalChip_by_unique_id{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
359 my ($self, $uid) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
360
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
361 my ($echip);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
362
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
363 throw("Must supply a ExperimentalChip unque_id") if(! defined $uid);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
364
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
365 $self->{'experimental_chips'} || $self->get_ExperimentalChips();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
366
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
367 if(exists $self->{'experimental_chips'}->{$uid}){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
368 $echip = $self->{'experimental_chips'}->{$uid};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
369 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
370 #should we warn here if not exists?
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
371
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
372 return $echip;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
373 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
374
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
375
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
376 =head2 get_ExperimentalChip_unique_ids
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
377
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
378 Example : foreach my $uid(@{$self->experiment->get_ExperimentalChip_unique_ids()}){ ... }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
379 Description : retrieves all ExperimentalChip unique_ids
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
380 Returntype : ListRef
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
381 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
382 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
383 Status : At risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
384
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
385 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
386
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
387 sub get_ExperimentalChip_unique_ids{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
388 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
389
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
390 $self->{'experimental_chips'} || $self->get_ExperimentalChips();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
391
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
392 return [keys %{ $self->{'experimental_chips'}}];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
393 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
394
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
395
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
396
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
397
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
398 ### Deprecated methods ###
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
399
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
400
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
401 sub group{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
402 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
403
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
404 deprecate("group is deprecated experimental_group instead");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
405 throw("You are trying to set a experimental group name using a deprecated method") if @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
406 return $self->experimental_group()->name;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
407 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
408
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
409
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
410
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
411 sub group_id{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
412 my ($self) = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
413
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
414 deprecate("Experiment->group_id is deprecated. Use exp->experimental_group->dbID instead");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
415 return $self->experimental_group()->dbID;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
416 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
417
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
418
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
419
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
420 sub archive_id{ #deprecated in v68
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
421 #would deprecate, but no easy way of doing this reliably
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
422 throw("Use InputSubset->archive_id");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
423 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
424
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
425
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
426 sub data_url{ #deprecated in v68
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
427 #would deprecate, but no easy way of doing this reliably
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
428 throw("Use InputSubset->display_url");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
429 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
430
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
431
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
432 sub source_info{ #deprecated in v68
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
433 #would deprecate, but no easy way of doing this reliably
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
434 throw("Use InputSubset->source_info");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
435 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
436
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
437
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
438 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
439