annotate variant_effect_predictor/Bio/EnsEMBL/Funcgen/Set.pm @ 3:d30fa12e4cc5 default tip

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