annotate variant_effect_predictor/Bio/EnsEMBL/ArchiveStableId.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 =head1 LICENSE
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
2
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
3 Copyright (c) 1999-2012 The European Bioinformatics Institute and
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
4 Genome Research Limited. All rights reserved.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
5
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
6 This software is distributed under a modified Apache license.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
7 For license details, please see
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
8
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
9 http://www.ensembl.org/info/about/code_licence.html
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
10
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
11 =head1 CONTACT
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
12
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
13 Please email comments or questions to the public Ensembl
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
14 developers list at <dev@ensembl.org>.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
15
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
16 Questions may also be sent to the Ensembl help desk at
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
17 <helpdesk@ensembl.org>.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
18
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
19 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
20
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
21 =head1 NAME
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
22
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
23 Bio::EnsEMBL::ArchiveStableId
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
24
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
25 =head1 DESCRIPTION
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
26
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
27 ArchiveStableId objects are the main workunit for retrieving stable id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
28 archived information from EnsEMBL core database.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
29
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
30 Attributes:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
31 type: Gene, Transcript, Translation, Exon, other, undef
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
32 stable_id: eg. ENSG00000000001
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
33 version: e.g. 1
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
34 db_name: eg. homo_sapiens_core_12_31
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
35 release: e.g. 35
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
36 assembly: e.g. NCBI35
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
37 successors: listref of Bio::EnsEMBL::ArchiveStableIds
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
38 adaptor: Bio::EnsEMBL::DBSQL::ArchiveStableIdAdaptor
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
39
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
40 Status: At Risk. This module is in development.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
41
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
42 =head1 SEE ALSO
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
43
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
44 Bio::EnsEMBL::DBSQL::ArchiveStableIdAdaptor
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
45 Bio::EnsEMBL::StableIdEvent
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
46 Bio::EnsEMBL::StableIdHistoryTree
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
47
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
48 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
49
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
50 package Bio::EnsEMBL::ArchiveStableId;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
51
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
52 use strict;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
53 use warnings;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
54 no warnings qw(uninitialized);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
55
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
56 use Bio::EnsEMBL::Root;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
57 our @ISA = qw(Bio::EnsEMBL::Root);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
58
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
59 use Bio::EnsEMBL::Utils::Argument qw(rearrange);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
60 use Scalar::Util qw(weaken isweak);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
61
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
62 =head2 new
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
63
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
64 Arg [STABLE_ID] : String $stable_id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
65 Arg [VERSION] : Int $version
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
66 Arg [CURRENT_VERSION]: Int $current_version
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
67 Arg [DB_NAME] : String $db_name
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
68 Arg [RELEASE] : String $release
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
69 Arg [ASSEMBLY_NAME] : String $assembly
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
70 Arg [TYPE] : String $type - "Gene", "Transcript", "Translation", "Exon"
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
71 Arg [ADAPTOR] : Bio::EnsEMBL::DBSQL::ArchiveStableIdAdaptor $adaptor
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
72 Description : standard constructor with named arguments to create
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
73 ArchiveStableId
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
74 Returntype : Bio::EnsEMBL::ArchiveStableId
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
75 Exceptions : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
76 Caller : general, Bio::EnsEMBL::DBSQL::ArchiveStableIdAdaptor
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
77 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
78 : under development
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
79
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
80 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
81
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
82 sub new {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
83 my $class = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
84 $class = ref( $class ) || $class;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
85
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
86 my $self = bless {}, $class;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
87
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
88 my ($stable_id, $version, $current_version, $db_name, $release, $assembly,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
89 $type, $adaptor) = rearrange([qw( STABLE_ID VERSION CURRENT_VERSION DB_NAME
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
90 RELEASE ASSEMBLY TYPE ADAPTOR)], @_ );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
91
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
92 $self->{'stable_id'} = $stable_id;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
93 $self->{'version'} = $version;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
94 $self->{'current_version'} = $current_version;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
95 $self->{'db_name'} = $db_name;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
96 $self->{'release'} = $release;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
97 $self->{'assembly'} = $assembly;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
98 $self->{'type'} = $type;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
99 $self->adaptor($adaptor);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
100
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
101 return $self;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
102 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
103
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
104
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
105 =head2 new_fast
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
106
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
107 Arg [1] : String $stable_id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
108 Arg [2] : Int $version
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
109 Arg [3] : String $db_name
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
110 Arg [4] : String $release
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
111 Arg [5] : String $assembly
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
112 Arg [6] : String $type - "Gene", "Transcript", "Translation", "Exon"
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
113 Arg [7] : Bio::EnsEMBL::DBSQL::ArchiveStableIdAdaptor $adaptor
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
114 Arg [8] : Int $current_version
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
115 Description : faster version of above constructor
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
116 Returntype : Bio::EnsEMBL::ArchiveStableId
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
117 Exceptions : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
118 Caller : general, Bio::EnsEMBL::DBSQL::ArchiveStableIdAdaptor
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
119 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
120 : under development
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
121
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
122 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
123
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
124 sub new_fast {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
125 my $class = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
126
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
127 $class = ref ($class) || $class;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
128
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
129 my $self = bless {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
130 'stable_id' => $_[0],
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
131 'version' => $_[1],
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
132 'db_name' => $_[2],
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
133 'release' => $_[3],
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
134 'assembly' => $_[4],
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
135 'type' => $_[5],
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
136 'adaptor' => $_[6],
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
137 'current_version' => $_[7],
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
138 }, $class;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
139
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
140 weaken($self->{adaptor}) if ( ! isweak($self->{adaptor}) );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
141
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
142 return $self;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
143 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
144
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
145
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
146 =head2 get_history_tree
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
147
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
148 Arg[1] : (optional) Int $num_high_scorers
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
149 number of mappings per stable ID allowed when filtering
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
150 Arg[2] : (optional) Int $max_rows
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
151 maximum number of stable IDs in history tree (used for
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
152 filtering)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
153 Example : my $history_tree = $archive_id->get_history_tree;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
154 Description : Returns the history tree of this ArchiveStableId
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
155 Return type : Bio::EnsEMBL::StableIdHistoryTree
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
156 Exceptions : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
157 Caller : general
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
158 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
159 : under development
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
160
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
161 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
162
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
163 sub get_history_tree {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
164 my ($self, $num_high_scorers, $max_rows) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
165
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
166 unless ($self->{'history'}) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
167 $self->{'history'} = $self->adaptor->fetch_history_tree_by_stable_id(
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
168 $self->stable_id, $num_high_scorers, $max_rows);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
169 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
170
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
171 return $self->{'history'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
172 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
173
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
174
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
175 =head2 get_all_predecessors
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
176
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
177 Args : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
178 Description : Retrieve a list of ArchiveStableIds that were mapped to this
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
179 one.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
180 Returntype : listref of Bio::EnsEMBL::ArchiveStableId
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
181 Exceptions : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
182 Caller : general
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
183 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
184 : under development
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
185
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
186 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
187
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
188 sub get_all_predecessors {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
189 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
190
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
191 my $predecessors = $self->adaptor->fetch_predecessors_by_archive_id($self);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
192
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
193 foreach my $pre (@$predecessors) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
194 $pre->successors($self);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
195 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
196
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
197 return $predecessors;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
198 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
199
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
200
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
201 =head2 get_all_successors
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
202
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
203 Args : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
204 Description : Retrieve a list of ArchiveStableIds that this one was mapped to.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
205 Returntype : listref Bio::EnsEMBL::ArchiveStableId
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
206 Exceptions : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
207 Caller : general
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
208 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
209 : under development
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
210
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
211 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
212
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
213 sub get_all_successors {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
214 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
215
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
216 if ($self->{'successors'}) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
217 return $self->{'successors'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
218 } else {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
219 my $successors = $self->adaptor->fetch_successors_by_archive_id($self);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
220 return $self->successors(@$successors);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
221 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
222 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
223
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
224
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
225 =head2 get_peptide
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
226
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
227 Description : Retrieves the peptide string for this ArchiveStableId.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
228 Returntype : String, or undef if this is not a Translation or cant be found
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
229 in the database.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
230 Exceptions : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
231 Caller : general
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
232 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
233 : under development
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
234
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
235 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
236
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
237 sub get_peptide {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
238 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
239
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
240 if ( lc( $self->type() ) eq 'translation' ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
241 return $self->adaptor->get_peptide($self);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
242 } else {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
243 return undef;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
244 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
245 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
246
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
247
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
248 =head2 get_all_associated_archived
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
249
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
250 Example : my ($arch_gene, $arch_tr, $arch_tl, $pep_seq) =
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
251 @{ $arch_id->get_all_associated_archived };
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
252 Description : Fetches associated archived stable IDs from the db for this
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
253 ArchiveStableId (version is taken into account).
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
254 Return type : Listref of
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
255 ArchiveStableId archived gene
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
256 ArchiveStableId archived transcript
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
257 (optional) ArchiveStableId archived translation
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
258 (optional) peptide sequence
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
259 Caller : webcode, general
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
260 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
261 : under development
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
262
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
263 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
264
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
265 sub get_all_associated_archived {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
266 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
267 return $self->adaptor->fetch_associated_archived($self);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
268 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
269
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
270
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
271 =head2 get_all_gene_archive_ids
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
272
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
273 Example : my @archived_genes = @{ $arch_id->get_all_gene_archive_ids };
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
274 Description : Returns gene ArchiveStableIds associated with this
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
275 ArchiveStableId. If this is a gene, it returns itself.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
276 Returntype : listref of Bio::EnsEMBL::ArchiveStableId
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
277 Exceptions : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
278 Caller : general
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
279 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
280 : under development
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
281
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
282 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
283
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
284 sub get_all_gene_archive_ids {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
285 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
286
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
287 if ($self->type eq "Gene") {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
288 return [$self];
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
289 } else {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
290 return $self->adaptor->fetch_all_by_archive_id($self, 'Gene');
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
291 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
292 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
293
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
294
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
295 =head2 get_all_transcript_archive_ids
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
296
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
297 Example : my @archived_transcripts =
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
298 @{ $arch_id->get_all_transcript_archive_ids };
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
299 Description : Returns transcript ArchiveStableIds associated with this
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
300 ArchiveStableId. If this is a transcript, it returns itself.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
301 Returntype : listref of Bio::EnsEMBL::ArchiveStableId
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
302 Exceptions : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
303 Caller : general
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
304 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
305 : under development
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
306
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
307 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
308
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
309 sub get_all_transcript_archive_ids {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
310 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
311
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
312 if ($self->type eq "Transcript") {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
313 return [$self];
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
314 } else {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
315 return $self->adaptor->fetch_all_by_archive_id($self, 'Transcript');
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
316 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
317 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
318
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
319
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
320 =head2 get_all_translation_archive_ids
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
321
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
322 Example : my @archived_peptides =
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
323 @{ $arch_id->get_all_translation_archive_ids };
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
324 Description : Returns translation ArchiveStableIds associated with this
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
325 ArchiveStableId. If this is a translation, it returns itself.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
326 Returntype : listref of Bio::EnsEMBL::ArchiveStableId
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
327 Exceptions : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
328 Caller : general
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
329 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
330 : under development
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
331
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
332 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
333
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
334 sub get_all_translation_archive_ids {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
335 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
336
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
337 if ($self->type eq "Translation") {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
338 return [$self];
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
339 } else {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
340 return $self->adaptor->fetch_all_by_archive_id($self, 'Translation');
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
341 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
342 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
343
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
344
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
345 =head2 current_version
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
346
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
347 Example : if (my $v = $arch_id->current_version) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
348 print "Current version of this stable ID ", $v, "\n";
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
349 } else {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
350 print "This stable ID is not in the current db.\n";
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
351 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
352 Description : Lazy-loads the current version of stable ID
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
353 Return type : Boolean (TRUE is current version found, else FALSE)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
354 Exceptions : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
355 Caller : general
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
356 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
357 : under development
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
358
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
359 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
360
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
361 sub current_version {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
362 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
363
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
364 if (@_) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
365 $self->{'current_version'} = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
366 } elsif (! defined $self->{'current_version'}) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
367 if (defined $self->adaptor()) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
368 # lazy load
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
369 $self->adaptor()->lookup_current($self);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
370 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
371 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
372
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
373 return $self->{'current_version'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
374 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
375
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
376
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
377 =head2 is_current
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
378
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
379 Example : if ($arch_id->is_current) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
380 print $arch_id->version, " is the current version of this
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
381 stable ID.\n";
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
382 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
383 Description : Determines if the version of this object is the current version
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
384 of this stable ID. Note that this method doesn't lazy-load the
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
385 current version of an ArchiveStableId; if you want to be sure,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
386 use current_version() instead.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
387 Return type : Boolean (TRUE if it is current, else FALSE)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
388 Exceptions : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
389 Caller : general
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
390 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
391 : under development
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
392
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
393 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
394
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
395 sub is_current {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
396 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
397 return ($self->{'version'} == $self->{'current_version'});
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
398 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
399
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
400
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
401 =head2 get_latest_incarnation
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
402
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
403 Example : my $latest = $arch_id->get_latest_incarnation;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
404 print "Latest version of ".$arch_id->stable_id." is ".
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
405 $latest->version."\n";
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
406 Description : Returns the ArchiveStableId representing the latest version
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
407 of this stable ID. Returns itself if this already is the latest
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
408 version, otherwise fetches it from the db.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
409 Return type : Bio::EnsEMBL::ArchiveStableId
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
410 Exceptions : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
411 Caller : general
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
412 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
413 : under development
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
414
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
415 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
416
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
417 sub get_latest_incarnation {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
418 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
419
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
420 return $self if ($self->is_latest);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
421
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
422 my $latest = $self->adaptor->fetch_by_stable_id($self->stable_id);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
423 return $latest;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
424 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
425
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
426
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
427 =head2 is_latest
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
428
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
429 Arg[1] : (optional) Boolean $is_latest
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
430 Example : if ($arch_id->is_latest) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
431 print "Version ".$arch_id->version." is the latest version
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
432 of ".$arch_id->stable_id."\n";
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
433 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
434 Description : Indicates whether this is the latest version of this stable ID.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
435 Can also be used as a setter if we know this is the latest
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
436 version.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
437 Return type : Boolean (TRUE if yes, FALSE if no)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
438 Exceptions : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
439 Caller : Bio::EnsEMBL::DBSQL::ArchiveStableIdAdaptor->fetch_by_stable_id, general
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
440 Status : At Risk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
441 : under development
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
442
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
443 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
444
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
445 sub is_latest {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
446 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
447 $self->{'is_latest'} = shift if (@_);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
448 return ($self->{'is_latest'} || $self->is_current);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
449 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
450
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
451
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
452 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
453 # getter/setters for attributes
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
454 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
455
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
456 sub stable_id {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
457 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
458 $self->{'stable_id'} = shift if (@_);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
459 return $self->{'stable_id'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
460 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
461
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
462 sub version {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
463 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
464 $self->{'version'} = shift if (@_);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
465 return $self->{'version'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
466 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
467
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
468 sub db_name {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
469 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
470 $self->{'db_name'} = shift if (@_);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
471 return $self->{'db_name'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
472 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
473
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
474 sub release {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
475 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
476 $self->{'release'} = shift if (@_);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
477 return $self->{'release'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
478 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
479
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
480 sub assembly {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
481 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
482 $self->{'assembly'} = shift if (@_);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
483 return $self->{'assembly'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
484 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
485
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
486 sub type {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
487 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
488 $self->{'type'} = shift if (@_);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
489 return $self->{'type'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
490 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
491
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
492 sub adaptor {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
493 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
494 weaken($self->{'adaptor'} = shift) if (@_);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
495 return $self->{'adaptor'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
496 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
497
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
498 sub successors {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
499 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
500 $self->{'successors'} = \@_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
501 return $self->{'successors'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
502 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
503
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
504
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
505 1;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
506