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