annotate variant_effect_predictor/Bio/EnsEMBL/Attribute.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 =head1 LICENSE
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
2
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
3 Copyright (c) 1999-2012 The European Bioinformatics Institute and
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
4 Genome Research Limited. All rights reserved.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
5
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
6 This software is distributed under a modified Apache license.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
7 For license details, please see
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
8
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
9 http://www.ensembl.org/info/about/code_licence.html
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
10
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
11 =head1 CONTACT
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
12
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
13 Please email comments or questions to the public Ensembl
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
14 developers list at <dev@ensembl.org>.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
15
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
16 Questions may also be sent to the Ensembl help desk at
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
17 <helpdesk@ensembl.org>.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
18
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
19 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
20
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
21 =head1 NAME
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
22
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
23 Bio::EnsEMBL::Attribute - A generic Attribute class.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
24
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
25 =head1 SYNOPSIS
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
26
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
27 use Bio::EnsEMBL::Attribute;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
28
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
29 my $attribute = Bio::EnsEMBL::Attribute->new
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
30 (-CODE => 'myCode',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
31 -NAME => 'My Attribute',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
32 -DESCRIPTION => 'This is my attribute description.',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
33 -VALUE => '10023');
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
34
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
35 print $attrib->name(), "\n";
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
36 print $attrib->code(), "\n";
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
37 print $attrib->description(), "\n";
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
38 print $attrib->value(), "\n";
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
39
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
40 =head1 DESCRIPTION
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
41
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
42 This is a generic attribute class used to represent attributes
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
43 associated with seq_regions (and their Slices) and MiscFeatures.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
44
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
45 =head1 SEE ALSO
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
46
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
47 Bio::EnsEMBL::Slice
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
48 Bio::EnsEMBL::MiscFeature
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
49 Bio::EnsEMBL::DBSQL::AttributeAdaptor
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
50
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
51 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
52
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
53 package Bio::EnsEMBL::Attribute;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
54
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
55 use strict;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
56 use warnings;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
57
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
58 use Bio::EnsEMBL::Utils::Argument qw(rearrange);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
59 use Scalar::Util qw(weaken isweak);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
60
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
61 =head2 new
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
62
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
63 Arg [-CODE] : string - the code for this attribute
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
64 Arg [-NAME] : string - a human readable name for this attribute
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
65 Arg [-DESCRIPTION] : string - a description for this attribute
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
66 Arg [-VALUE] : value - the value of this attribute
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
67 Example : my $attribute = Bio::EnsEMBL::Attribute->new
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
68 (-CODE => 'myCode',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
69 -NAME => 'My Attribute',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
70 -DESCRIPTION => 'This is my attribute description.',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
71 -VALUE => '10023');
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
72 Description : Constructor. Instantiates a Bio::EnsEMBL::Attribute object.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
73 Returntype : Bio::EnsEMBL::Attribute
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
74 Exceptions : none
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
75 Caller : general
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
76 Status : Stable
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
77
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
78 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
79
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
80
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
81 sub new {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
82 my $caller = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
83
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
84 # allow to be called as class or object method
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
85 my $class = ref($caller) || $caller;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
86
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
87 my ($code, $name, $desc, $value) =
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
88 rearrange([qw(CODE NAME DESCRIPTION VALUE)], @_);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
89
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
90 return bless {'code' => $code,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
91 'name' => $name,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
92 'description' => $desc,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
93 'value' => $value}, $class;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
94 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
95
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
96 =head2 new_fast
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
97
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
98 Arg [1] : hashref to be blessed
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
99 Description: Construct a new Bio::EnsEMBL::Attribute using the hashref.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
100 Exceptions : none
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
101 Returntype : Bio::EnsEMBL::Attribute
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
102 Caller : general, subclass constructors
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
103 Status : Stable
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
104
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
105 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
106
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
107
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
108 sub new_fast {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
109 my $class = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
110 my $hashref = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
111 my $self = bless $hashref, $class;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
112 weaken($self->{adaptor}) if ( ! isweak($self->{adaptor}) );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
113 return $self;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
114 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
115
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
116
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
117 =head2 code
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
118
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
119 Arg [1] : string $code (optional)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
120 Example : $code = $attribute->code();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
121 Description: Getter/Setter for code attribute
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
122 Returntype : string
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
123 Exceptions : none
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
124 Caller : general
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
125 Status : Stable
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
126
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
127 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
128
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
129 sub code {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
130 my $self = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
131 $self->{'code'} = shift if(@_);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
132 return $self->{'code'};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
133 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
134
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
135
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
136 =head2 name
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
137
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
138 Arg [1] : string $name (optional)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
139 Example : $name = $attribute->name();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
140 Description: Getter/Setter for name attribute
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
141 Returntype : string
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
142 Exceptions : none
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
143 Caller : general
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
144 Status : Stable
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
145
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
146 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
147
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
148 sub name {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
149 my $self = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
150 $self->{'name'} = shift if(@_);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
151 return $self->{'name'};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
152 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
153
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
154 =head2 description
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
155
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
156 Arg [1] : string $description (optional)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
157 Example : $description = $attribute->description();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
158 Description: Getter/Setter for description attribute
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
159 Returntype : string
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
160 Exceptions : none
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
161 Caller : general
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
162 Status : Stable
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
163
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
164 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
165
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
166 sub description {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
167 my $self = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
168 $self->{'description'} = shift if(@_);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
169 return $self->{'description'};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
170 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
171
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
172
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
173 =head2 value
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
174
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
175 Arg [1] : string $value (optional)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
176 Example : $value = $attribute->value();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
177 Description: Getter/Setter for value attribute
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
178 Returntype : string
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
179 Exceptions : none
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
180 Caller : general
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
181 Status : Stable
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
182
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
183 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
184
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
185 sub value {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
186 my $self = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
187 $self->{'value'} = shift if(@_);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
188 return $self->{'value'};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
189 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
190
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
191
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
192 1;