annotate variant_effect_predictor/Bio/EnsEMBL/IdMapping/TinyFeature.pm @ 2:a5976b2dce6f

changing defualt values for ensembl database
author mahtabm
date Thu, 11 Apr 2013 17:15:42 +1000
parents 1f6dce3d34e0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1 =head1 LICENSE
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
2
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
3 Copyright (c) 1999-2012 The European Bioinformatics Institute and
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
4 Genome Research Limited. All rights reserved.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
5
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
6 This software is distributed under a modified Apache license.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
7 For license details, please see
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
8
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
9 http://www.ensembl.org/info/about/code_licence.html
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
10
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
11 =head1 CONTACT
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
12
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
13 Please email comments or questions to the public Ensembl
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
14 developers list at <dev@ensembl.org>.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
15
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
16 Questions may also be sent to the Ensembl help desk at
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
17 <helpdesk@ensembl.org>.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
18
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
19 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
20
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
21 =head1 NAME
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
22
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
23 Bio::EnsEMBL::IdMapping::TinyFeature - lightweight feature object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
24
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
25 =head1 SYNOPSIS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
26
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
27 This object isn't instantiated. See objects which inherit from it
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28 (TinyGene, TinyTranscript, etc.) for examples.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32 This is the base class for the lightweight feature objects used by the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33 stable Id maping application. For performance reasons, these objects
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 are instantiated using a new_fast() method. The internal implementation
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35 is an arrayref (rather than the more common hashref), which optimises
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36 memory usage.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38 There are no adaptors to fetch TinyFeatures from the database. You
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39 rather use the normal feature adaptors and then create the TinyFeatures
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40 from the heavy objects you get. The memory saving will therefore mainly
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41 take effect when serialising and reloading these objects.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43 Also note that TinyFeatures don't have a slice attached to them - all
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44 location information (where required) is stored on the feature object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45 directly.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47 =head1 METHODS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49 new_fast
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50 id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51 stable_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52 version
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53 created_date
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54 modified_date
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55 to_string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59 package Bio::EnsEMBL::IdMapping::TinyFeature;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61 # internal data structure (array indices):
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63 # 0 dbID
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64 # 1 stable_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65 # 2 version
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66 # 3 created_date
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67 # 4 modified_date
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69 # other instance variables differ by subclass implementation, so look there.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73 use warnings;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74 no warnings 'uninitialized';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76 use Bio::EnsEMBL::Utils::Exception qw(throw warning);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79 =head2 new_fast
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81 Arg[1] : Arrayref $array_ref - the arrayref to bless into the new object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82 Description : Constructor.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83 Return type : Bio::EnsEMBL::IdMapping::TinyFeature implementing class
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85 Caller : Bio::EnsEMBL::IdMapping::Cache
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91 sub new_fast {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92 my $class = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93 my $array_ref = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94 return bless $array_ref, $class;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98 =head2 id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100 Arg[1] : (optional) Int - the feature's internal Id ("dbID")
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101 Description : Getter/setter for the feature's internal Id.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102 Return type : Int
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104 Caller : Bio::EnsEMBL::IdMapping::Cache
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110 sub id {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112 $self->[0] = shift if (@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113 return $self->[0];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117 =head2 stable_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119 Arg[1] : (optional) String - the feature's stable Id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120 Description : Getter/setter for the feature's stable Id.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121 Return type : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123 Caller : Bio::EnsEMBL::IdMapping::Cache
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129 sub stable_id {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131 $self->[1] = shift if (@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132 return $self->[1];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136 =head2 version
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138 Arg[1] : (optional) Int - the feature's stable Id version
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139 Description : Getter/setter for the feature's stable Id version.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140 Return type : Int
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142 Caller : Bio::EnsEMBL::IdMapping::Cache
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148 sub version {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150 $self->[2] = shift if (@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151 return $self->[2];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155 =head2 created_date
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157 Arg[1] : (optional) String - the feature's stable Id creation date
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158 Description : Getter/setter for the feature's stable Id creation date.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159 Return type : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161 Caller : Bio::EnsEMBL::IdMapping::Cache
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167 sub created_date {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
169 $self->[3] = shift if (@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
170 return $self->[3];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
171 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
172
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
173
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
174 =head2 modified_date
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
175
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
176 Arg[1] : (optional) String - the feature's stable Id modification date
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
177 Description : Getter/setter for the feature's stable Id modification date.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
178 Return type : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
179 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
180 Caller : Bio::EnsEMBL::IdMapping::Cache
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
181 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
182 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
183
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
184 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
185
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
186 sub modified_date {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
187 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
188 $self->[4] = shift if (@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
189 return $self->[4];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
190 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
191
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
192
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
193 =head2 to_string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
194
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
195 Example : print LOG "Created ", $f->to_string, "\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
196 Description : Prints a string representation of the feature for debug
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
197 purposes.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
198 Return type : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
199 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
200 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
201 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
202 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
203
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
204 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
205
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
206 sub to_string {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
207 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
208 return $self->id.':'.$self->stable_id.'.'.$self->version;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
209 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
210
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
211
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
212 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
213