annotate variant_effect_predictor/Bio/EnsEMBL/IdMapping/TinyExon.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 =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::TinyExon - lightweight exon 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 # fetch an exon from the db and create a lightweight exon object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28 # from it
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29 my $exon = $exon_adaptor->fetch_by_stable_id('ENSE000345437');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30 my $lightweight_exon = Bio::EnsEMBL::IdMapping::TinyExon->new_fast( [
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31 $exon->dbID,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32 $exon->stable_id,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33 $exon->version,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 $exon->created_date,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35 $exon->modified_date,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36 $exon->start,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37 $exon->end,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38 $exon->strand,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39 $exon->slice->seq_region_name,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40 $exon->slice->coord_system_name,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41 $exon->slice->coord_system->version,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42 $exon->slice->subseq( $exon->start, $exon->end, $exon->strand ),
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43 $exon->phase,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44 $need_project,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45 ] );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49 This is a lightweight exon object for the stable Id mapping. See the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50 documentation in TinyFeature for general considerations about its
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51 design.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53 =head1 METHODS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55 start
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56 end
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57 strand
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58 seq_region_name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59 coord_system_name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60 coord_system_version
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61 seq
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62 phase
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63 need_project
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64 common_start
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65 common_end
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66 common_strand
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67 common_sr_name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68 length
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69 is_known
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74 package Bio::EnsEMBL::IdMapping::TinyExon;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76 # internal data structure (array indices):
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78 # 0-4 see TinyFeature
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79 # 5 start
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80 # 6 end
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81 # 7 strand
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82 # 8 seq_region_name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83 # 9 coord_system_name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84 # 10 coord_system_version
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85 # 11 seq
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86 # 12 phase
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87 # 13 need_project
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88 # 14 common_start
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89 # 15 common_end
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90 # 16 common_strand
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91 # 17 common_sr_name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95 use warnings;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96 no warnings 'uninitialized';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98 use Bio::EnsEMBL::IdMapping::TinyFeature;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99 our @ISA = qw(Bio::EnsEMBL::IdMapping::TinyFeature);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101 use Bio::EnsEMBL::Utils::Exception qw(throw warning);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104 =head2 start
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106 Arg[1] : (optional) Int - the exon's start coordinate
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107 Description : Getter/setter for the exon's start coordinate.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108 Return type : Int
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116 sub start {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118 $self->[5] = shift if (@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119 return $self->[5];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123 =head2 end
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125 Arg[1] : (optional) Int - the exon's end coordinate
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126 Description : Getter/setter for the exon's end coordinate.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127 Return type : Int
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135 sub end {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137 $self->[6] = shift if (@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138 return $self->[6];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142 =head2 strand
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144 Arg[1] : (optional) Int - the exon's strand
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145 Description : Getter/setter for the exon's strand.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146 Return type : Int
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154 sub strand {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156 $self->[7] = shift if (@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157 return $self->[7];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161 =head2 seq_region_name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163 Arg[1] : (optional) String - seq_region name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164 Description : Getter/setter for the seq_region name of the slice the exon is
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165 on.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166 Return type : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
169 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
170 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
171
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
172 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
173
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
174 sub seq_region_name {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
175 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
176 $self->[8] = shift if (@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
177 return $self->[8];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
178 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
179
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
180
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
181 =head2 coord_system_name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
182
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
183 Arg[1] : (optional) String - coord_system name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
184 Description : Getter/setter for the coord_system name of the slice the exon is
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
185 on.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
186 Return type : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
187 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
188 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
189 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
190 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
191
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
192 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
193
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
194 sub coord_system_name {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
195 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
196 $self->[9] = shift if (@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
197 return $self->[9];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
198 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
199
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
200
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
201 =head2 coord_system_version
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
202
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
203 Arg[1] : (optional) String - coord_system version
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
204 Description : Getter/setter for the coord_system version of the slice the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
205 exon is on.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
206 Return type : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
207 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
208 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
209 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
210 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
211
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
212 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
213
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
214 sub coord_system_version {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
215 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
216 $self->[10] = shift if (@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
217 return $self->[10];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
218 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
219
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
220
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
221 =head2 seq
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
222
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
223 Arg[1] : (optional) String - the exon's sequence
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
224 Description : Getter/setter for the exon's sequence.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
225 Return type : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
226 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
227 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
228 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
229 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
230
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
231 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
232
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
233 sub seq {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
234 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
235 $self->[11] = shift if (@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
236 return $self->[11];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
237 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
238
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
239
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
240 =head2 phase
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
241
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
242 Arg[1] : (optional) Int - the exon's phase
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
243 Description : Getter/setter for the exon's phase.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
244 Return type : Int
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
245 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
246 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
247 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
248 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
249
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
250 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
251
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
252 sub phase {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
253 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
254 $self->[12] = shift if (@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
255 return $self->[12];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
256 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
257
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
258
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
259 =head2 need_project
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
260
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
261 Arg[1] : (optional) Boolean - attribute to set
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
262 Description : Getter/setter for the attribute determining whether an exon
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
263 needs to be projected onto a common coord_system. You don't need
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
264 to do so if the native coord_system is common to the source and
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
265 target assemblies, or if no common coord_system is found (the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
266 Cache object has methods to determine this).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
267 Return type : Boolean
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
268 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
269 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
270 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
271 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
272
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
273 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
274
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
275 sub need_project {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
276 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
277 $self->[13] = shift if (@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
278 return $self->[13];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
279 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
280
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
281
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
282 =head2 common_start
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
283
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
284 Arg[1] : (optional) Int - the exon's start in common coord_system
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
285 coordinates
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
286 Description : Getter/setter for the exon's start in common coord_system
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
287 coordinates. Will return $self->start if no projection to a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
288 common coord_system is required.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
289 Return type : Int
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
290 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
291 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
292 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
293 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
294
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
295 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
296
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
297 sub common_start {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
298 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
299
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
300 # when used as a setter, always set a value
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
301 $self->[14] = shift if (@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
302
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
303 # when used as a getter
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
304 if (scalar(@$self) > 14) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
305 # return value for common coord_system if available (but avoid
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
306 # autovivification gotcha!)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
307 return $self->[14];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
308 } elsif ($self->need_project) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
309 # return undef if common value expected but not there (e.g. no projection
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
310 # found
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
311 return undef;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
312 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
313 # return native value
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
314 return $self->start;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
315 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
316 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
317
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
318
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
319 =head2 common_end
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
320
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
321 Arg[1] : (optional) Int - the exon's end in common coord_system
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
322 coordinates
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
323 Description : Getter/setter for the exon's end in common coord_system
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
324 coordinates. Will return $self->end if no projection to a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
325 common coord_system is required.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
326 Return type : Int
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 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
331
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
332 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
333
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
334 sub common_end {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
335 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
336
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
337 # when used as a setter, always set a value
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
338 $self->[15] = shift if (@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
339
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
340 # when used as a getter
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
341 if (scalar(@$self) > 14) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
342 # return value for common coord_system if available (but avoid
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
343 # autovivification gotcha!)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
344 return $self->[15];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
345 } elsif ($self->need_project) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
346 # return undef if common value expected but not there (e.g. no projection
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
347 # found
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
348 return undef;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
349 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
350 # return native value
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
351 return $self->end;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
352 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
353 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
354
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
355
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
356 =head2 common_strand
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
357
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
358 Arg[1] : (optional) Int - the exon's strand in common coord_system
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
359 coordinates
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
360 Description : Getter/setter for the exon's strand in common coord_system
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
361 coordinates. Will return $self->strand if no projection to a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
362 common coord_system is required.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
363 Return type : Int
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
364 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
365 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
366 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
367 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
368
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
369 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
370
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
371 sub common_strand {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
372 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
373
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
374 # when used as a setter, always set a value
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
375 $self->[16] = shift if (@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
376
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
377 # when used as a getter
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
378 if (scalar(@$self) > 14) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
379 # return value for common coord_system if available (but avoid
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
380 # autovivification gotcha!)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
381 return $self->[16];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
382 } elsif ($self->need_project) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
383 # return undef if common value expected but not there (e.g. no projection
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
384 # found
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
385 return undef;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
386 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
387 # return native value
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
388 return $self->strand;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
389 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
390 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
391
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
392
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
393 =head2 common_sr_name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
394
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
395 Arg[1] : (optional) String - seq_region name of the exon's slice on the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
396 common coord_system
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
397 Description : Getter/setter for the seq_region name of the exon's slice on the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
398 common coord_system coordinates. Will return
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
399 $self->seq_region_name if no projection to a common coord_system
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
400 is required.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
401 Return type : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
402 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
403 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
404 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
405 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
406
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
407 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
408
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
409 sub common_sr_name {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
410 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
411
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
412 # when used as a setter, always set a value
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
413 $self->[17] = shift if (@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
414
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
415 # when used as a getter
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
416 if (scalar(@$self) > 14) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
417 # return value for common coord_system if available (but avoid
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
418 # autovivification gotcha!)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
419 return $self->[17];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
420 } elsif ($self->need_project) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
421 # return undef if common value expected but not there (e.g. no projection
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
422 # found
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
423 return undef;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
424 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
425 # return native value
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
426 return $self->seq_region_name;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
427 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
428 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
429
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
430
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
431 =head2 length
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
432
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
433 Description : Returns the exon length (distance between start and end).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
434 Return type : Int
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
435 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
436 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
437 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
438 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
439
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
440 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
441
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
442 sub length {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
443 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
444 return ($self->end - $self->start + 1);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
445 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
446
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
447
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
448 =head2 is_known
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
449
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
450 Description : Determine whether an exon is known. In the context of stable Id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
451 mapping, this is true for all exons.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
452 Return type : Boolean
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
453 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
454 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
455 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
456 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
457
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
458 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
459
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
460 sub is_known {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
461 return 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
462 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
463
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
464
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
465 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
466