diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/variant_effect_predictor/Bio/EnsEMBL/Attribute.pm	Thu Apr 11 06:29:17 2013 -0400
@@ -0,0 +1,192 @@
+=head1 LICENSE
+
+  Copyright (c) 1999-2012 The European Bioinformatics Institute and
+  Genome Research Limited.  All rights reserved.
+
+  This software is distributed under a modified Apache license.
+  For license details, please see
+
+    http://www.ensembl.org/info/about/code_licence.html
+
+=head1 CONTACT
+
+  Please email comments or questions to the public Ensembl
+  developers list at <dev@ensembl.org>.
+
+  Questions may also be sent to the Ensembl help desk at
+  <helpdesk@ensembl.org>.
+
+=cut
+
+=head1 NAME
+
+Bio::EnsEMBL::Attribute - A generic Attribute class.
+
+=head1 SYNOPSIS
+
+  use Bio::EnsEMBL::Attribute;
+
+  my $attribute = Bio::EnsEMBL::Attribute->new
+       (-CODE => 'myCode',
+        -NAME => 'My Attribute',
+        -DESCRIPTION => 'This is my attribute description.',
+        -VALUE => '10023');
+
+  print $attrib->name(), "\n";
+  print $attrib->code(), "\n";
+  print $attrib->description(), "\n";
+  print $attrib->value(), "\n";
+
+=head1 DESCRIPTION
+
+This is a generic attribute class used to represent attributes
+associated with seq_regions (and their Slices) and MiscFeatures.
+
+=head1 SEE ALSO
+
+Bio::EnsEMBL::Slice
+Bio::EnsEMBL::MiscFeature
+Bio::EnsEMBL::DBSQL::AttributeAdaptor
+
+=cut
+
+package Bio::EnsEMBL::Attribute;
+
+use strict;
+use warnings;
+
+use Bio::EnsEMBL::Utils::Argument qw(rearrange);
+use Scalar::Util qw(weaken isweak);
+
+=head2 new
+
+  Arg [-CODE]        : string - the code for this attribute
+  Arg [-NAME]        : string - a human readable name for this attribute
+  Arg [-DESCRIPTION] : string - a description for this attribute
+  Arg [-VALUE]       : value  - the value of this attribute
+  Example            :   my $attribute = Bio::EnsEMBL::Attribute->new
+                         (-CODE => 'myCode',
+                          -NAME => 'My Attribute',
+                          -DESCRIPTION => 'This is my attribute description.',
+                          -VALUE => '10023');
+  Description        : Constructor.  Instantiates a Bio::EnsEMBL::Attribute object.
+  Returntype         : Bio::EnsEMBL::Attribute
+  Exceptions         : none
+  Caller             : general
+  Status             : Stable
+
+=cut
+
+
+sub new {
+  my $caller = shift;
+
+  # allow to be called as class or object method
+  my $class = ref($caller) || $caller;
+
+  my ($code, $name, $desc, $value) =
+    rearrange([qw(CODE NAME DESCRIPTION VALUE)], @_);
+
+  return bless {'code'    => $code,
+                'name'    => $name,
+                'description' => $desc,
+                'value'   => $value}, $class;
+}
+
+=head2 new_fast
+
+  Arg [1]    : hashref to be blessed
+  Description: Construct a new Bio::EnsEMBL::Attribute using the hashref.
+  Exceptions : none
+  Returntype : Bio::EnsEMBL::Attribute
+  Caller     : general, subclass constructors
+  Status     : Stable
+
+=cut
+
+
+sub new_fast {
+  my $class = shift;
+  my $hashref = shift;
+  my $self = bless $hashref, $class;
+  weaken($self->{adaptor})  if ( ! isweak($self->{adaptor}) );
+  return $self;
+}
+
+
+=head2 code
+
+  Arg [1]    : string $code (optional)
+  Example    : $code = $attribute->code();
+  Description: Getter/Setter for code attribute
+  Returntype : string
+  Exceptions : none
+  Caller     : general
+  Status     : Stable
+
+=cut
+
+sub code {
+  my $self = shift;
+  $self->{'code'} = shift if(@_);
+  return $self->{'code'};
+}
+
+
+=head2 name
+
+  Arg [1]    : string $name (optional)
+  Example    : $name = $attribute->name();
+  Description: Getter/Setter for name attribute
+  Returntype : string
+  Exceptions : none
+  Caller     : general
+  Status     : Stable
+
+=cut
+
+sub name {
+  my $self = shift;
+  $self->{'name'} = shift if(@_);
+  return $self->{'name'};
+}
+
+=head2 description
+
+  Arg [1]    : string $description (optional)
+  Example    : $description = $attribute->description();
+  Description: Getter/Setter for description attribute
+  Returntype : string
+  Exceptions : none
+  Caller     : general
+  Status     : Stable
+
+=cut
+
+sub description {
+  my $self = shift;
+  $self->{'description'} = shift if(@_);
+  return $self->{'description'};
+}
+
+
+=head2 value
+
+  Arg [1]    : string $value (optional)
+  Example    : $value = $attribute->value();
+  Description: Getter/Setter for value attribute
+  Returntype : string
+  Exceptions : none
+  Caller     : general
+  Status     : Stable
+
+=cut
+
+sub value {
+  my $self = shift;
+  $self->{'value'} = shift if(@_);
+  return $self->{'value'};
+}
+
+
+1;