annotate variant_effect_predictor/Bio/EnsEMBL/Funcgen/ExperimentalSet.pm @ 0:1f6dce3d34e0

Uploaded
author mahtabm
date Thu, 11 Apr 2013 02:01:53 -0400
parents
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 # Ensembl module for Bio::EnsEMBL::Funcgen::ExperimentalSubset
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
3 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
4 # You may distribute this module under the same terms as Perl itself
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
5
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
6 =head1 NAME
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
7
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
8 Bio::EnsEMBL::ExperimentalSet - A module to represent ExperimentalSet object.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
9
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
10
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
11 =head1 SYNOPSIS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
12
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
13 use Bio::EnsEMBL::Funcgen::ExpeimentalSet;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
14
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
15 my $data_set = Bio::EnsEMBL::Funcgen::ExperimentalSet->new(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
16 -DBID => $dbID,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
17 -ADAPTOR => $self,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
18 -EXPERIMENT => $exp,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
19 -FEATURE_TYPE => $ftype,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
20 -CELL_TYPE => $ctype,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
21 -FORMAT => 'READ_FORMAT',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
22 -VENDOR => 'SOLEXA',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
23 -NAME => 'ExpSet1',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
24 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
25
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
26
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
27
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30 An ExperimentalSet object provides a generic container for any non-array based feature import,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31 allowing tracking of file import via the status table and integration into Data and FeatureSets to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32 provide traceability to the source experiment from a given FeatureSet.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 =head1 AUTHOR
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36 This module was created by Nathan Johnson.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38 This module is part of the Ensembl project: http://www.ensembl.org/
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40 =head1 CONTACT
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42 Post comments or questions to the Ensembl development list: ensembl-dev@ebi.ac.uk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44 =head1 METHODS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49 use warnings;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51 package Bio::EnsEMBL::Funcgen::ExperimentalSet;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53 use Bio::EnsEMBL::Funcgen::ExperimentalSubset;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54 use Bio::EnsEMBL::Utils::Argument qw( rearrange );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55 use Bio::EnsEMBL::Utils::Exception qw( throw warning deprecate);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56 use Bio::EnsEMBL::Funcgen::Set;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59 use vars qw(@ISA);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60 @ISA = qw(Bio::EnsEMBL::Funcgen::Set);#change to Set once we have implemented analysis properly
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63 =head2 new
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 Example : my $eset = Bio::EnsEMBL::Funcgen::ExperimentalSet->new(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68 -EXPERIMENT => $exp,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69 -FEATURE_TYPE => $ftype,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70 -CELL_TYPE => $ctype,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71 -FORMAT => 'READ_FORMAT',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72 -VENDOR => 'SOLEXA',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73 -NAME => 'ExpSet1',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74 -ANALYSIS => $anal,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77 Do we want to define subsets likes this or are we more likely to add them one by one?
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79 Description: Constructor for ExperimentalSet objects.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80 Returntype : Bio::EnsEMBL::Funcgen::ExperimentalSet
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81 Exceptions : Throws if no Experiment defined
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82 Throws if CellType or FeatureType are not valid or stored
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84 Status : At risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88 sub new {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89 my $caller = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91 my $class = ref($caller) || $caller;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93 my $self = $class->SUPER::new(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95 #do we need to add $fg_ids to this? Currently maintaining one feature_group focus.(combi exps?)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96 my ($exp, $format, $vendor)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97 = rearrange(['EXPERIMENT', 'FORMAT', 'VENDOR'], @_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99 if (! (ref $exp && $exp->isa('Bio::EnsEMBL::Funcgen::Experiment') && $exp->dbID())){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100 throw('Must specify a valid stored Bio::EnsEMBL::Funcgen::Experiment');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104 #These are set in Set, just validate here
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105 throw ('Must provide a FeatureType') if(! defined $self->feature_type);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106 throw ('Must provide a CellType') if(! defined $self->cell_type);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110 if(! defined $self->analysis){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111 #default analysis hack for v47
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112 #Set directly to avoid dbID boolean check
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113 $self->{'analysis'} = Bio::EnsEMBL::Analysis->new(-logic_name => 'external',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114 -id => 0,#??someone needs to rewrite analysis
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118 $self->format($format) if defined $format;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119 $self->vendor($vendor) if defined $vendor;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120 $self->{'experiment'} = $exp;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121 $self->{'subsets'} = {};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123 return $self;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127 =head2 add_new_subset
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129 Arg [1] : string - sub set name e.g. the file name (not path as we're restricted to 30 chars)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130 Example : $expset->add_new_subset($ss_name, $exp_subset);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131 Description: Adds experimental_subset
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132 Returntype : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133 Exceptions : Throws if set is already present
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134 Throws if ExperimentalSubset is not valid or stored
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140 sub add_new_subset {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141 my ($self, $ss_name, $exp_sset) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143 if($self->get_subset_by_name($ss_name)){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144 throw("Subset $ss_name is already present in this ExperimentalSet, maybe you need to alter the filename?");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147 if(defined $exp_sset){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149 if(!(ref($exp_sset) && $exp_sset->isa('Bio::EnsEMBL::Funcgen::ExperimentalSubset') && $exp_sset->dbID())){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150 throw('ExperimentalSubsets must be valid and stored');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153 else{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155 $exp_sset = Bio::EnsEMBL::Funcgen::ExperimentalSubset->new(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156 -name => $ss_name,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157 -experimental_set => $self,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161 $self->{'subsets'}{$ss_name} = $exp_sset;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163 return $self->{'subsets'}{$ss_name};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167 =head2 get_Experiment
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
169 Example : my $exp = $exp_set->get_Experiment();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
170 Description: Getter for the Experiment of this DataSet.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
171 Returntype : Bio::EnsEMBL::Fuuncgen::Experiment
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
172 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
173 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
174 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
175
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
176 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
177
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
178 sub get_Experiment{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
179 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
180
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
181 return $self->{'experiment'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
182 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
183
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
184
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
185 =head2 get_subsets
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
186
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
187 Example : my @subsets = @{$exp_set->get_subsets()};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
188 Description: Getter for the subsets for this ExperimentalSet.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
189 Returntype : Arrayref
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
190 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
191 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
192 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
193
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
194 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
195
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
196 sub get_subsets{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
197 my ($self) = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
198
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
199 return [ values %{$self->{'subsets'}} ];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
200 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
201
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
202 =head2 get_subset_by_name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
203
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
204 Example : my $subsets = $exp_set->get_subset_by_name('subset1');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
205 Description: Getter for the subset of a given name for this ExperimentalSet.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
206 Returntype : Bio::EnsEMBL::Funcgen::ExpeirmentalSubset
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
207 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
208 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
209 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
210
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
211 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
212
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
213 sub get_subset_by_name{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
214 my ($self, $name) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
215
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
216 return (exists $self->{'subsets'}{$name}) ? $self->{'subsets'}{$name} : undef;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
217 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
218
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
219 =head2 get_subset_names
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
220
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
221 Example : my @subset_names = @{$exp_set->get_subset_names()};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
222 Description: Getter for the subset names for this ExperimentalSet.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
223 Returntype : Arrayref
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
224 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
225 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
226 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
227
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
228 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
229
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
230 sub get_subset_names{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
231 my ($self) = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
232
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
233 return [ keys %{$self->{'subsets'}} ];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
234 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
235
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
236
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
237
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
238
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
239 =head2 vendor
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
240
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
241 Arg[1] : string - vendor
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
242 Example : my $eset->vendor('SOLEXA');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
243 Description: Getter/Setter for the vendor attribute of this DataSet.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
244 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
245 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
246 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
247 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
248
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
249 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
250
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
251 sub vendor {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
252 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
253
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
254 $self->{'vendor'} = shift if @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
255
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
256 return $self->{'vendor'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
257 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
258
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
259
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
260 =head2 format
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
261
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
262 Arg[1] : string - format i.e. product type/format
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
263 Example : my $eset->format('DATASET1');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
264 Description: Getter/Setter for the format attribute of this ExperimentalSet.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
265 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
266 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
267 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
268 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
269
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
270 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
271
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
272 sub format {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
273 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
274
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
275 $self->{'format'} = shift if @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
276
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
277 return $self->{'format'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
278 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
279
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
280 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
281