annotate variant_effect_predictor/Bio/Structure/Residue.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 # $Id: Residue.pm,v 1.7 2002/10/22 07:38:44 lapp Exp $
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
2 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
3 # bioperl module for Bio::Structure::Residue
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
4 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
5 # Cared for by Kris Boulez <kris.boulez@algonomics.com>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
6 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
7 # Copyright Kris Boulez
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
8 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
9 # You may distribute this module under the same terms as perl itself
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
10
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
11 # POD documentation - main docs before the code
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
12
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
13 =head1 NAME
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
14
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
15 Bio::Structure::Residue - Bioperl structure Object, describes a Residue
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
16
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
17 =head1 SYNOPSIS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
18
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
19 #add synopsis here
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
20
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
21 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
22
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
23 This object stores a Bio::Structure::Residue
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
24
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
25 =head1 FEEDBACK
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
26
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
27 =head2 Mailing Lists
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29 User feedback is an integral part of the evolution of this and other
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30 Bioperl modules. Send your comments and suggestions preferably to one
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31 of the Bioperl mailing lists. Your participation is much appreciated.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33 bioperl-l@bioperl.org - General discussion
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 http://bio.perl.org/MailList.html - About the mailing lists
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36 =head2 Reporting Bugs
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38 Report bugs to the Bioperl bug tracking system to help us keep track
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39 the bugs and their resolution. Bug reports can be submitted via email
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40 or the web:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42 bioperl-bugs@bio.perl.org
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43 http://bugzilla.bioperl.org/
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45 =head1 AUTHOR - Kris Boulez
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47 Email kris.boulez@algonomics.com
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49 =head1 APPENDIX
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51 The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56 # Let the code begin...
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59 package Bio::Structure::Residue;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60 use vars qw(@ISA);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63 use Bio::Root::Root;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64 use Bio::Structure::Chain;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65 use Bio::Structure::Atom;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66 @ISA = qw(Bio::Root::Root);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69 =head2 new()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71 Title : new()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72 Usage : $residue = Bio::Structure::Residue->new(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73 -id => 'human_id',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76 Function: Returns a new Bio::Structure::Residue object from basic
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77 constructors. Probably most called from Bio::Structure::IO.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78 Returns : a new Bio::Structure::Residue object
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
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83 sub new {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84 my ($class, @args) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85 my $self = $class->SUPER::new(@args);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87 my($id, $atom ) =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88 $self->_rearrange([qw(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89 ID
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90 ATOM
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91 )],
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92 @args);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94 $id && $self->id($id);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96 $self->{'atom'} = [];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98 # the 'smallest' (and only) item that can be added to a residue is an atom
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100 $atom && $self->throw("add atoms via an Entry object entry->add_atom(residue,atom)\n");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102 return $self;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107 =head2 atom()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109 Title : atom
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110 Usage :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111 Function: nothing usefull untill I get symbolic references to do what I want
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112 Returns :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113 Args :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117 sub atom {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118 my ($self,$value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120 $self->throw("no code down here, go see an Entry object nearby\n");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124 =head2 add_atom()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126 Title : add_atom
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127 Usage :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128 Function: nothing usefull untill I get symbolic references to do what I want
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129 Returns :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130 Args :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134 sub add_atom {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135 my($self,$value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137 $self->throw("nothing here, use a method on an Entry object\n");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141 =head2 chain()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143 Title : chain
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144 Usage : $chain = $residue->chain($chain)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145 Function: Sets the Chain this Residue belongs to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146 Returns : Returns the Chain this Residue belongs to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147 Args : reference to a Chain
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151 sub chain {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152 my($self, $value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154 $self->throw("use an Entry based method please\n");
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 id()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160 Title : id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161 Usage : $residue->id("TRP-35")
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162 Function: Gets/sets the ID for this residue
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163 Returns : the ID
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164 Args : the ID
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168 sub id {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
169 my ($self, $value) = @_;;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
170 if (defined $value) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
171 $self->{'id'} = $value;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
172 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
173 return $self->{'id'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
174 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
175
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
176
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
177 =head2 DESTROY()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
178
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
179 Title : DESTROY
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
180 Usage :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
181 Function: destructor ( get rid of circular references )
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
182 Returns :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
183 Args :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
184
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
185 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
186
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
187 sub DESTROY {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
188 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
189
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
190 # no specific destruction for now
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
191 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
192
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
193
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
194 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
195 # from here on only private methods
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
196 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
197
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
198 =head2 _remove_atoms()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
199
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
200 Title : _remove_atoms
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
201 Usage :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
202 Function: Removes the atoms attached to a Residue. Tells the atoms they
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
203 don't belong to this Residue any more
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
204 Returns :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
205 Args :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
206
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
207 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
208
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
209 sub _remove_atoms {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
210 my ($self) = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
211
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
212 $self->throw("no code here\n");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
213 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
214
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
215
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
216 =head2 _remove_chain()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
217
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
218 Title : _remove_chain
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
219 Usage :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
220 Function: Removes the Chain this Residue is atttached to.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
221 Returns :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
222 Args :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
223
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
224 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
225
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
226 sub _remove_chain {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
227 my ($self) = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
228
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
229 $self->{'chain'} = undef;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
230 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
231
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
232
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
233 =head2 _grandparent()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
234
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
235 Title : _grandparent
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
236 Usage :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
237 Function: get/set a symbolic reference to our grandparent
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
238 Returns :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
239 Args :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
240
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
241 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
242
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
243 sub _grandparent {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
244 my($self,$symref) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
245
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
246 if (ref($symref)) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
247 $self->throw("Thou shall only pass strings in here, no references $symref\n");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
248 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
249 if (defined $symref) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
250 $self->{'grandparent'} = $symref;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
251 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
252 return $self->{'grandparent'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
253 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
254
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
255 1;