annotate variant_effect_predictor/Bio/EnsEMBL/Funcgen/Set.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 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
3 # Ensembl module for Bio::EnsEMBL::Funcgen::Set
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
4 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
5
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
6 =head1 LICENSE
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
7
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
8 Copyright (c) 1999-2011 The European Bioinformatics Institute and
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
9 Genome Research Limited. All rights reserved.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
10
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
11 This software is distributed under a modified Apache license.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
12 For license details, please see
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
13
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
14 http://www.ensembl.org/info/about/code_licence.html
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
15
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
16 =head1 CONTACT
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
17
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
18 Please email comments or questions to the public Ensembl
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
19 developers list at <ensembl-dev@ebi.ac.uk>.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
20
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
21 Questions may also be sent to the Ensembl help desk at
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
22 <helpdesk@ensembl.org>.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
23
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
24
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
25 =head1 NAME
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
26
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
27 Bio::EnsEMBL::Funcgen::Set - A module to represent a base Set object.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
28
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
29
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
30 =head1 SYNOPSIS
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
31
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
32 use Bio::EnsEMBL::Funcgen::Set;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
33
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
34 @INC = qw (Bio::EnsEMBL::Funcgen::Set)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
35
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
36 sub new {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
37 my $caller = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
38
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
39 my $class = ref($caller) || $caller;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
40
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
41 my $self = $class->SUPER::new(@_);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
42
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
43
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
44 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
45
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
46 =head1 DESCRIPTION
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
47
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
48 A base Set object which provides access common methods available across all Funcgen Set classes.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
49
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
50
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
51 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
52
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
53 use strict;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
54 use warnings;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
55
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
56 package Bio::EnsEMBL::Funcgen::Set;
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 deprecate);
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 Example : my $self = $class->SUPER::new(@_);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
69 Description: Constructor for Set objects.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
70 Returntype : Bio::EnsEMBL::Funcgen::Set
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
71 Exceptions : None
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
72 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
73 Status : At risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
74
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
75 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
76
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
77 sub new {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
78 my $caller = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
79
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
80 my $class = ref($caller) || $caller;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
81
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
82 my $self = $class->SUPER::new(@_);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
83
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
84 #TYPE was never parsed here?
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
85 #Only in inheritants that used it i.e. FeatureSet
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
86
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
87 my ($name, $anal, $ftype, $ctype, $set_type, $fclass, $type)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
88 = rearrange(['NAME', 'ANALYSIS', 'FEATURE_TYPE', 'CELL_TYPE', 'SET_TYPE', 'FEATURE_CLASS', 'TYPE'], @_);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
89
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
90 throw('Need to specify a name') if ! defined $name;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
91
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
92 $self->set_type($set_type);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
93 $self->feature_class($fclass);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
94 $self->feature_class($type) if $type;#Remove this when fully implemented
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
95 $self->{'name'} = $name;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
96 $self->cell_type($ctype) if $ctype;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
97 $self->feature_type($ftype) if $ftype;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
98
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
99 if(defined $anal){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
100 $self->analysis($anal);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
101 }elsif($self->set_type ne 'input'){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
102 #Could move this to child Sets and just set analysis here
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
103 #As with ftype
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
104 throw('Must pass a valid -analysis parameter for a '.ref($self));
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
105 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
106
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
107 return $self;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
108 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
109
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
110
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
111
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
112
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
113
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
114
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
115 =head2 name
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
116
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
117 Example : my $set->name('SET1');
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
118 Description: Getter/Setter for the name of this Set.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
119 Returntype : string
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
120 Exceptions : None
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
121 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
122 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
123
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
124 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
125
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
126 sub name {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
127 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
128
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
129 return $self->{'name'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
130 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
131
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
132 =head2 cell_type
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
133
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
134 Example : my $dset_ctype_name = $dset->cell_type->name();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
135 Description: Getter for the cell_type for this DataSet.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
136 Returntype : Bio::EnsEMBL::Funcgen::CellType
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
137 Exceptions : throws if arg not valid
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
138 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
139 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
140
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
141 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
142
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
143 sub cell_type {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
144 my ($self, $ctype) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
145
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
146 if(defined $ctype){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
147
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
148 if(! (ref($ctype) eq 'Bio::EnsEMBL::Funcgen::CellType'
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
149 && $ctype->dbID())){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
150 throw('Must pass a valid stored Bio::EnsEMBL::Funcgen::CellType');
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
151 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
152 $self->{'cell_type'} = $ctype;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
153 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
154
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
155 return $self->{'cell_type'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
156 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
157
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
158 =head2 feature_type
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
159
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
160 Example : my $dset_ftype_name = $dset->feature_type->name();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
161 Description: Getter for the feature_type for this DataSet.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
162 Returntype : Bio::EnsEMBL::Funcgen::FeatureType
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
163 Exceptions : Throws if arg not valid
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
164 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
165 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
166
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
167 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
168
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
169 sub feature_type {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
170 my ($self, $ftype) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
171
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
172 if(defined $ftype){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
173
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
174 if(! (ref($ftype) eq 'Bio::EnsEMBL::Funcgen::FeatureType'
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
175 && $ftype->dbID())){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
176 throw('Must pass a valid stored Bio::EnsEMBL::Funcgen::FeatureType');
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
177 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
178 $self->{'feature_type'} = $ftype;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
179 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
180
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
181
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
182 return $self->{'feature_type'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
183 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
184
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
185
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
186 =head2 feature_class
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
187
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
188 Arg[0] : string - feature class e.g. result, annotated, regulatory or external.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
189 Example : my $fclass = $dset->feature_class;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
190 Description: Getter for the feature_type for this Set.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
191 Returntype : string
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
192 Exceptions : None
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
193 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
194 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
195
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
196 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
197
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
198 #Supercededs type method in FeatureSet
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
199
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
200 sub feature_class {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
201 my ($self, $fclass) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
202
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
203 if(defined $fclass){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
204
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
205 #Leave this an implement in inheritants
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
206 #if(! grep /^${fclass}$/, ('annotated', 'result', 'external', 'regulatory')){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
207 # throw("You have no supplied a valid feature class:\t$fclass");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
208 #}
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
209
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
210 $self->{'feature_class'} = $fclass;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
211 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
212
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
213 return $self->{'feature_class'};
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 analysis
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
219
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
220 Example : my $anal_name = $set->analysis->logic_name();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
221 Description: Getter for the analysis attribute for this Set.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
222 Returntype : Bio::EnsEMBL::Analysis
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
223 Exceptions : None
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
224 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
225 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
226
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
227 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
228
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
229 sub analysis {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
230 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
231
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
232 if(@_){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
233 throw('Must pass a valid stored Analysis') if (! (ref($_[0]) eq 'Bio::EnsEMBL::Analysis'
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
234 && $_[0]->dbID()));
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
235 $self->{'analysis'} = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
236 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
237
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
238
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
239 return $self->{'analysis'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
240 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
241
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
242 =head2 display_label
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
243
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
244 Example : print $set->display_label();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
245 Description: Getter for the display_label attribute for this Set.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
246 This is more appropriate for teh predicted_features of the set.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
247 Use the individual display_labels for each raw result set.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
248 Returntype : str
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
249 Exceptions : None
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
250 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
251 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
252
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
253 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
254
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
255 sub display_label {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
256 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
257
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
258
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
259 #Add display label in table?
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
260 #Can we aborc ResultSet method into this?
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
261
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
262 if(! $self->{'display_label'}){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
263
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
264 #if($self->product_FeatureSet->feature_type->class() eq 'Regulatory Feature'){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
265 # $self->{'display_label'} = 'Regulatory Features';
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
266 #}
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
267 #else{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
268
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
269 #This only works for annotated/regulatory_feature sets and result sets
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
270 #Move to other Set classes?
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
271
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
272 $self->{'display_label'} = $self->feature_type->name()." -";
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
273 $self->{'display_label'} .= " ".($self->cell_type->display_label() ||
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
274 $self->cell_type->description() ||
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
275 $self->cell_type()->name());
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
276
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
277
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
278 if($self->set_type eq 'result'){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
279 $self->{'display_label'} .= " signal";
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
280 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
281 else{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
282 $self->{'display_label'} .= " enriched sites";
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
283 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
284 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
285
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
286 return $self->{'display_label'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
287 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
288
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
289
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
290
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
291 =head2 set_type
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
292
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
293 Example : my $set_type = $set->set_type;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
294 Description: Getter for the Set type for this Set.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
295 Returntype : string e.g. result, feature, data, input
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
296 Exceptions : None
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
297 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
298 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
299
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
300 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
301
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
302 sub set_type {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
303 my ($self, $set_type) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
304
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
305 if(defined $set_type){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
306 $self->{'_set_type'} = $set_type;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
307 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
308 elsif(! defined $self->{'_set_type'}){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
309 my @namespace = split/\:\:/, ref($self);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
310 ($self->{'_set_type'} = lc($namespace[$#namespace])) =~ s/set//;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
311
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
312 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
313
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
314 return $self->{'_set_type'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
315 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
316
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
317 =head2 type
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
318
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
319 Example : my $type = $set->type;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
320 Description: Getter for the type for this Set.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
321 e.g. annotated, external, regulatory for FeatureSets
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
322 or
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
323 array, sequencing for InputSets
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
324 Currently not applicable to DataSets or ResultSets
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
325 Exceptions : None
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
326 Returntype : string
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
327 Exceptions : None
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
328 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
329 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
330
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
331 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
332
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
333 sub type {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
334 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
335
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
336 deprecate("Please use feature_class instead");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
337
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
338 return $self->feature_class(@_);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
339
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
340 #$self->{'feature_class'} = shift if @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
341
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
342 #return $self->{'feature_class'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
343 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
344
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
345
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
346
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
347 1;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
348