annotate variant_effect_predictor/Bio/EnsEMBL/StableIdEvent.pm @ 0:1f6dce3d34e0

Uploaded
author mahtabm
date Thu, 11 Apr 2013 02:01:53 -0400
parents
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::StableIdEvent- object representing a stable ID mapping event
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 my $old_id = Bio::EnsEMBL::ArchiveStableId->new(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28 -stable_id => 'ENSG001',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29 -version => 1,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30 -type => 'Gene',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33 my $new_id = Bio::EnsEMBL::ArchiveStableId->new(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 -stable_id => 'ENSG001',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35 -version => 2,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36 -type => 'Gene',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39 my $event = Bio::EnsEMBL::StableIdEvent->new(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40 -old_id => $old_id,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41 -new_id => $new_id,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42 -score => 0.997
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45 # directly access attributes in old and new ArchiveStableId
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46 my $old_stable_id = $event->get_attribute( 'old', 'stable_id' );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50 This object represents a stable ID mapping event. Such an event links two
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51 ArchiveStableIds with a mapping score.
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 new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56 old_ArchiveStableId
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57 new_ArchiveStableId
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58 score
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59 get_attribute
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60 ident_string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62 =head1 RELATED MODULES
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64 Bio::EnsEMBL::ArchiveStableId
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65 Bio::EnsEMBL::DBSQL::ArchiveStableIdAdaptor
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66 Bio::EnsEMBL::StableIdHistoryTree
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70 package Bio::EnsEMBL::StableIdEvent;
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 use Bio::EnsEMBL::Utils::Argument qw(rearrange);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80 =head2 new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82 Arg[1] : Bio::EnsEMBL::ArchiveStableId $old_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83 The old ArchiveStableId in the mapping event
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84 Arg[2] : Bio::EnsEMBL::ArchiveStableId $new_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85 The new ArchiveStableId in the mapping event
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86 Arg[3] : (optional) float $score - score of this mapping event
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87 Example : my $event = Bio::EnsEMBL::StableIdEvent->new(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88 $arch_id1, $arch_id2, 0.977);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89 Description : object constructor
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90 Return type : Bio::EnsEMBL::StableIdEvent
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91 Exceptions : thrown on wrong argument types
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92 Caller : Bio::EnsEMBL::DBSQL::ArchiveStableIdAdaptor::fetch_history_tree_by_stable_id, general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98 sub new {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99 my $caller = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100 my $class = ref($caller) || $caller;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102 my ($old_id, $new_id, $score) = rearrange([qw(OLD_ID NEW_ID SCORE)], @_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104 throw("Need old or new Bio::EnsEMBL::ArchiveStableId to create StableIdEvent")
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105 unless ($old_id || $new_id);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107 my $self = {};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108 bless $self, $class;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110 # initialise object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111 $self->old_ArchiveStableId($old_id);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112 $self->new_ArchiveStableId($new_id);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113 $self->score($score);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115 return $self;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119 =head2 old_ArchiveStableId
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121 Arg[1] : (optional) Bio::EnsEMBL::ArchiveStableId $archive_id, or undef
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122 The old ArchiveStableId to set for this mapping event
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123 Example : # getter
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124 my $archive_id = $event->old_ArchiveStableId;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126 # setter
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127 $event->old_ArchiveStableId($archive_id);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128 Description : Getter/setter for old ArchiveStableId in this mapping event.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129 Return type : Bio::EnsEMBL::ArchiveStableId
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130 Exceptions : thrown on wrong argument type
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137 sub old_ArchiveStableId {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140 # setter
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141 if (@_) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142 my $archive_id = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144 # if argument is defined, check type. undef is also legal as an argument.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145 if (defined($archive_id)) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146 throw("Need a Bio::EnsEMBL::ArchiveStableId.") unless
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147 (ref($archive_id) && $archive_id->isa('Bio::EnsEMBL::ArchiveStableId'));
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150 $self->{'old_id'} = $archive_id;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153 # getter
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154 return $self->{'old_id'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158 =head2 new_ArchiveStableId
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160 Arg[1] : (optional) Bio::EnsEMBL::ArchiveStableId $archive_id, or undef
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161 The new ArchiveStableId to set for this mapping event
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162 Example : # getter
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163 my $archive_id = $event->new_ArchiveStableId;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165 # setter
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166 $event->new_ArchiveStableId($archive_id);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167 Description : Getter/setter for new ArchiveStableId in this mapping event.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168 Return type : Bio::EnsEMBL::ArchiveStableId
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
169 Exceptions : thrown on wrong argument type
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
170 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
171 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
172 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
173
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
174 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
175
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
176 sub new_ArchiveStableId {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
177 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
178
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
179 # setter
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
180 if (@_) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
181 my $archive_id = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
182
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
183 # if argument is defined, check type. undef is also legal as an argument.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
184 if (defined($archive_id)) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
185 throw("Need a Bio::EnsEMBL::ArchiveStableId.") unless
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
186 (ref($archive_id) && $archive_id->isa('Bio::EnsEMBL::ArchiveStableId'));
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
187 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
188
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
189 $self->{'new_id'} = $archive_id;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
190 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
191
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
192 # getter
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
193 return $self->{'new_id'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
194 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
195
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
196
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
197 =head2 score
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
198
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
199 Arg[1] : (optional) float $score - the score to set
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
200 Example : my $score = $event->score;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
201 Description : Getter/setter for mapping event score.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
202 Return type : float or undef
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
203 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
204 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
205 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
206 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
207
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
208 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
209
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
210 sub score {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
211 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
212 $self->{'score'} = shift if (@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
213 return $self->{'score'};
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 =head2 get_attribute
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
218
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
219 Arg[1] : String $type - determines whether to get attribute from 'old'
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
220 or 'new' ArchiveStableId
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
221 Arg[2] : String $attr - ArchiveStableId attribute to fetch
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
222 Example : my $old_stable_id = $event->get_attribute('old', 'stable_id');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
223 Description : Accessor to attributes of the ArchiveStableIds attached to this
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
224 event. Convenience method that does the check for undef old
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
225 and/or new ArchiveStableId for you.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
226 Return type : same as respective method in Bio::EnsEMBL::ArchiveStableId, or
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
227 undef
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
228 Exceptions : thrown on wrong arguments
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
229 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
230 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
231 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
232
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
233 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
234
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
235 sub get_attribute {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
236 my ($self, $type, $attr) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
237
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
238 throw("First argument passed to this function has to be 'old' or 'new'.")
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
239 unless ($type eq 'old' or $type eq 'new');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
240
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
241 my %allowed_attribs = map { $_ => 1 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
242 qw(stable_id version db_name release assembly);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
243
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
244 throw("Attribute $attr not allowed.") unless $allowed_attribs{$attr};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
245
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
246 my $call = $type.'_ArchiveStableId';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
247
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
248 if (my $id = $self->$call) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
249 return $id->$attr;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
250 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
251 return undef;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
252 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
253 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
254
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
255
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
256 =head2 ident_string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
257
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
258 Example : print $event->ident_string, "\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
259 Description : Returns a string that can be used to identify your StableIdEvent.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
260 Useful in debug warnings.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
261 Return type : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
262 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
263 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
264 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
265 : under development
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
266
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
267 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
268
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
269 sub ident_string {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
270 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
271
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
272 my $old_id = $self->old_ArchiveStableId;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
273 my $new_id = $self->new_ArchiveStableId;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
274
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
275 my $str;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
276
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
277 if ($old_id) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
278 $str = $old_id->stable_id.'.'.$old_id->version.' ('.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
279 $old_id->release.')';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
280 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
281 $str = 'null';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
282 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
283
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
284 $str .= ' -> ';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
285
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
286 if ($new_id) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
287 $str .= $new_id->stable_id.'.'.$new_id->version.' ('.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
288 $new_id->release.')';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
289 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
290 $str .= 'null';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
291 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
292
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
293 $str .= ' ['.$self->score.']';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
294
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
295 return $str;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
296 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
297
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
298
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
299 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
300