annotate variant_effect_predictor/Bio/Structure/Residue.pm @ 0:2bc9b66ada89 draft default tip

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