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

Deleted selected files
author willmclaren
date Fri, 03 Aug 2012 10:05:43 -0400
parents 21066c0abaf5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
1 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
2 # Ensembl module for Bio::EnsEMBL::Funcgen::SetFeature
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
3 #
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-2012 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::SetFeature - Base class for features of a Set.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
28
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
29 =head1 SYNOPSIS
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
30
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
31 # Would normally be created from an in inheriting class e.g. AnnotatedFeature.pm
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
32
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
33 use base qw(Bio::Ensembl::Funcgen::SetFeature);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
34
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
35 sub new {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
36 my $caller = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
37 my $class = ref($caller) || $caller;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
38 my $self = $class->SUPER::new(@_);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
39 # More construction here
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
40 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
41
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
42 # Alternative direct contruction
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
43
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
44 my $feat = Bio::EnsEMBL::Funcgen::SetFeature->
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
45 (
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
46 -start => 100,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
47 -end => 220,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
48 -strand => -1,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
49 -slice => $slice,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
50 -set => $fset,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
51 -feature_type => $ftype,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
52 -display_label => $label,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
53 );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
54
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
55 # Accessing some attributes
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
56
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
57
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
58 my $start = $feat->start;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
59 my $end = $feat->end;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
60 my $strand = $feat->strand;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
61 my $fset = $feat->set;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
62 my $cell_type = $feat->cell_type;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
63
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
64 # Printing some information
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
65
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
66 print $feature->display_label.' has the FeatureType '.$feat->feature_type->name."\n";
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
67
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
68 =head1 DESCRIPTION
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
69
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
70 This is a base class for features which are contained within a Funcgen FeatureSet or ResultSet.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
71 It provides generic methods for attributes which are common across all inheriting classes.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
72
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
73 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
74
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
75
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
76 package Bio::EnsEMBL::Funcgen::SetFeature;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
77
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
78 use strict;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
79 use warnings;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
80
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
81 use Bio::EnsEMBL::Feature;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
82 use Bio::EnsEMBL::Funcgen::Storable;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
83 use Bio::EnsEMBL::Utils::Argument qw(rearrange);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
84 use Bio::EnsEMBL::Utils::Exception qw(throw);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
85
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
86 use vars qw(@ISA);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
87 @ISA = qw(Bio::EnsEMBL::Feature Bio::EnsEMBL::Funcgen::Storable);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
88 #can't use base with dual inheritance
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
89
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
90 =head2 new
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
91
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
92
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
93 Arg [-SET] : Bio::EnsEMBL::Funcgen::ResultSet or FeatureSet.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
94 Arg [-DISPLAY_LABEL]: (optional) String - Display label for this feature
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
95 Arg [-FEATURE_TYPE] : (optional) Bio::EnsEMBL::Funcgen::FeatureType.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
96 Defaults to Feature/ResultSet FeatureType.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
97
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
98 #Bio::EnsEMBL::Feature arguments
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
99 Arg [-SLICE] : Bio::EnsEMBL::Slice - The slice on which this feature is.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
100 Arg [-STRAND] : (optional) Int - The orientation of this feature relative to the
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
101 strand it is on. Valid values are 1, -1 and 0.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
102 Arg [-START] : Int - The start coordinate of this feature relative to the start of the slice
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
103 it is sitting on. Coordinates start at 1 and are inclusive.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
104 Arg [-END] : Int -The end coordinate of this feature relative to the start of the slice
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
105 it is sitting on. Coordinates start at 1 and are inclusive.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
106 Arg [-ANALYSIS] : (optional) Bio::EnsEMBL::Analysis. Defaults to Feature/ResultSet Analysis.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
107 Arg [-dbID] : (optional) Int - Internal database ID.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
108 Arg [-ADAPTOR] : (optional) Bio::EnsEMBL::Funcgen::DBSQL::BaseFeatureAdaptor
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 Example : my $feature = Bio::EnsEMBL::Funcgen::SetFeature->new
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
113 (
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
114 -SLICE => $chr_1_slice,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
115 -START => 1000000,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
116 -END => 1000024,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
117 -STRAND => -1,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
118 -DISPLAY_LABEL => $text,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
119 -SET => $fset,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
120 );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
121
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
122 Description: Constructor for SetFeature objects. Should never be called directly, only by its children.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
123 Returntype : Bio::EnsEMBL::Funcgen::SetFeature
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
124 Exceptions : Throws if no valid ResultSet or FeatureSet passed
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
125 Throws if FeatureType is passed but not valid
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
126 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
127 Status : At Risk - FEATURE_SET arg to be removed, superceded by SET in v67
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
128
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
129 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
130
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
131 sub new {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
132 my $caller = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
133 my $class = ref($caller) || $caller;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
134
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
135 my ($display_label, $fset, $ftype, $set)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
136 = rearrange(['DISPLAY_LABEL', 'FEATURE_SET', 'FEATURE_TYPE', 'SET'], @_);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
137
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
138 $set ||= $fset;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
139
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
140 if( ( ref($set) ne 'Bio::EnsEMBL::Funcgen::FeatureSet') &&
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
141 ( ref($set) ne 'Bio::EnsEMBL::Funcgen::ResultSet') ){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
142 throw("Must pass valid Bio::EnsEMBL::Funcgen::FeatureSet or ResultSet object");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
143 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
144
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
145 #Grab FeatureSet first so we can pass analysis to base Feature class
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
146 #Funcgen analysis is currently always at the Set level
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
147 #if this ever changes the SetFeature->analysis method will also need changing
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
148 my $self = $class->SUPER::new(@_, -analysis => $set->analysis);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
149
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
150 if($ftype){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
151
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
152 if (ref($ftype) ne 'Bio::EnsEMBL::Funcgen::FeatureType') {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
153 throw('feature_type param must be a valid Bio::EnsEMBL::Funcgen::FeatureType');
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
154 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
155
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
156 $self->{feature_type} = $ftype;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
157 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
158
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
159 #Setting attrs directly removes the need for setter code in methods
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
160 $self->{set} = $set;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
161 $self->{display_label} = $display_label if defined $display_label;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
162
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
163 return $self;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
164 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
165
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
166
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
167
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
168 =head2 feature_set
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
169
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
170 Example : my $set = $efeature->feature_set();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
171 Description: WARNING: Can now also return ResultSet aswell as FeatureSet attribute for this feature.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
172 Returntype : Bio::EnsEMBL::Funcgen::FeatureSet or ResultSet
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
173 Exceptions : None
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
174 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
175 Status : At Risk - marked as to be removed in v67
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
176
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
177 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
178
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
179 sub feature_set {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
180 #??? deprecate
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
181 #check webcode?
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
182
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
183 return $_[0]->{set};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
184 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
185
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
186
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
187 =head2 set
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
188
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
189 Example : my $set = $set_feature->set();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
190 Description: Getter for the set attribute for this feature.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
191 Returntype : Bio::EnsEMBL::Funcgen::FeatureSet or ResultSet
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 sub set {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
199 return $_[0]->{set};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
200 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
201
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
202 =head2 cell_type
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
203
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
204 Example : my $cell_name = $set_feature->cell_type->name;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
205 Description: Getter for the CellType attribute for the Set of this Feature.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
206 May not always be for some Set types e.g. ExternalFeatures.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
207 Returntype : Bio::EnsEMBL::Funcgen::CellType
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
208 Exceptions : None
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
209 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
210 Status : stable
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
211
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
212 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
213
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
214 sub cell_type{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
215 return $_[0]->set->cell_type;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
216 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
217
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
218
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
219 =head2 feature_type
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
220
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
221 Example : my $ft_name = $set_feature->feature_type->name;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
222 Description: Getter for the FeatureType attribute for this feature.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
223 If not explicitly set, defaults to the Set FeatureType
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
224 Returntype : Bio::EnsEMBL::Funcgen::FeatureType
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
225 Exceptions : None
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
226 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
227 Status : stable
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
228
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
229 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
230
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
231 sub feature_type{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
232 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
233
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
234 if(! defined $self->{feature_type}){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
235 $self->{feature_type} = $self->set->feature_type;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
236 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
237
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
238 return $self->{feature_type};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
239 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
240
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
241
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
242 =head2 analysis
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
243
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
244 Example : my $analysis = $setfeature->analysis;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
245 Description: Getter for the Analysis attribute for this feature.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
246 Re-implementation of Bio::EnsEMBL::Feature->analysis.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
247 Returntype : Bio::EnsEMBL::Analysis
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
248 Exceptions : None
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
249 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
250 Status : stable
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
251
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
252 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
253
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
254 #what about MFs? add as feature_set as MOODS/PWM analysis not represented
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
255 #This is a mandatory requirement for Bio::EnsEMBL::Feature
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
256 #Do we ever actually have analysis at the feature level?
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
257
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
258 sub analysis{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
259 return $_[0]->set->analysis;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
260 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
261
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
262
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
263 =head2 display_label
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
264
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
265 Example : my $label = $feature->display_label;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
266 Description: Getter for the display label of this feature.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
267 This will most likely be over-ridden by inheriting class
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
268 Returntype : String
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
269 Exceptions : None
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
270 Caller : General
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
271 Status : Stable
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
272
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
273 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
274
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
275 sub display_label{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
276 return $_[0]->{display_label};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
277 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
278
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
279
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
280 1;