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