diff variant_effect_predictor/Bio/EnsEMBL/Funcgen/ExperimentalGroup.pm @ 0:21066c0abaf5 draft

Uploaded
author willmclaren
date Fri, 03 Aug 2012 10:04:48 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/variant_effect_predictor/Bio/EnsEMBL/Funcgen/ExperimentalGroup.pm	Fri Aug 03 10:04:48 2012 -0400
@@ -0,0 +1,225 @@
+#
+# Ensembl module for Bio::EnsEMBL::Funcgen::ExperimentalGroup
+#
+
+
+=head1 LICENSE
+
+  Copyright (c) 1999-2011 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 <ensembl-dev@ebi.ac.uk>.
+
+  Questions may also be sent to the Ensembl help desk at
+  <helpdesk@ensembl.org>.
+
+=head1 NAME
+
+Bio::EnsEMBL::Funcgen::ExperimentalGroup - A module to represent 
+an ExperimentalGroup. i.e. the authors of an experiment.
+
+=head1 SYNOPSIS
+
+use Bio::EnsEMBL::Funcgen::ExperimentalGroup;
+
+
+
+=head1 DESCRIPTION
+
+This is a simple class to represent information about an ExperimentalGroup, 
+containing a name and a more detailed description
+This module is part of the Ensembl project: http://www.ensembl.org/
+
+=cut
+
+use strict;
+use warnings;
+
+package Bio::EnsEMBL::Funcgen::ExperimentalGroup;
+
+use Bio::EnsEMBL::Utils::Argument qw( rearrange ) ;
+use Bio::EnsEMBL::Utils::Exception qw( throw warning );
+use Bio::EnsEMBL::Funcgen::Storable;
+
+use vars qw(@ISA);
+@ISA = qw(Bio::EnsEMBL::Funcgen::Storable);
+
+
+=head2 new
+
+  Arg [-name]: string - name of ExperimentalGroup
+  Arg [-location]: (optional) string - location of ExperimentalGroup
+  Arg [-contact]: (optional) string - contact of ExperimentalGroup
+  Arg [-url]: (optional) string - url containing information for the ExperimentalGroup
+  Arg [-description]: (optional) string - descriptiom of ExperimentalGroup
+  Arg [-project]: (optional) boolean - True if this is part of a large project (eg. ENCODE)
+  Example    : my $group = Bio::EnsEMBL::Funcgen::ExperimentalGroup->new(
+                                                               -name  => "EBI",
+                                                               -location  => "Hinxton",
+                                                               -contact  => "dev@ensembl.org",
+                                                               -url  => "http://www.ebi.ac.uk/",
+                                                               -description => "European Bioinformatics Institute",
+                                                               -is_project => 0,
+                                                             );
+  Description: Constructor method for ExperimentalGroup class
+  Returntype : Bio::EnsEMBL::Funcgen::ExperimentalGroup
+  Exceptions : Throws if name not defined 
+  Caller     : General
+  Status     : At risk
+
+=cut
+
+sub new {
+  my $caller = shift;
+
+  my $obj_class = ref($caller) || $caller;
+  my $self = $obj_class->SUPER::new(@_);
+  
+  my (
+      $name,
+      $location,
+      $contact,
+      $url,
+      $desc,
+      $is_project
+     ) = rearrange([
+					'NAME', 'LOCATION', 'CONTACT', 'URL', 'DESCRIPTION', 'IS_PROJECT'
+				   ], @_);
+  
+  
+  if($name){
+    $self->name($name);
+  }else{
+    throw("Must supply a Group name\n");
+  }
+  $self->location($location) if $location;
+  $self->contact($contact) if $contact;
+  $self->url($url) if $url;
+  $self->description($desc) if $desc;
+  $self->is_project($is_project) if $is_project;
+
+  return $self;
+}
+
+
+
+=head2 name
+
+  Arg [1]    : string - name
+  Example    : my $name = $ft->name();
+  Description: Getter and setter of name attribute for ExperimentalGroup objects
+  Returntype : string
+  Exceptions : None
+  Caller     : General
+  Status     : Low Risk
+
+=cut
+
+sub name {
+    my $self = shift;
+    $self->{'name'} = shift if @_;
+    return $self->{'name'};
+}
+
+=head2 description
+
+  Arg [1]    : (optional) string - description
+  Example    : my $desc = $group->description();
+  Description: Getter and setter of description attribute for ExperimentalGroup objects.
+  Returntype : string
+  Exceptions : None
+  Caller     : General
+  Status     : Low Risk
+
+=cut
+
+sub description {
+    my $self = shift;
+    $self->{'description'} = shift if @_;
+    return $self->{'description'};
+}
+
+=head2 location
+
+  Arg [1]    : (optional) string - location
+  Example    : my $location = $group->location();
+  Description: Getter and setter of location attribute for ExperimentalGroup objects.
+  Returntype : string
+  Exceptions : None
+  Caller     : General
+  Status     : Low Risk
+
+=cut
+
+sub location {
+    my $self = shift;
+    $self->{'location'} = shift if @_;
+    return $self->{'location'};
+}
+
+
+=head2 contact
+
+  Arg [1]    : (optional) string - contact
+  Example    : my $contact = $group->contact();
+  Description: Getter and setter of contact attribute for ExperimentalGroup objects.
+  Returntype : string
+  Exceptions : None
+  Caller     : General
+  Status     : Low Risk
+
+=cut
+
+sub contact {
+    my $self = shift;
+    $self->{'contact'} = shift if @_;
+    return $self->{'contact'};
+}
+
+
+=head2 url
+
+  Arg [1]    : (optional) string - url
+  Example    : my $url = $group->url();
+  Description: Getter and setter of url attribute for ExperimentalGroup objects.
+  Returntype : string
+  Exceptions : None
+  Caller     : General
+  Status     : Low Risk
+
+=cut
+
+sub url {
+    my $self = shift;
+    $self->{'url'} = shift if @_;
+    return $self->{'url'};
+}
+
+=head2 is_project
+
+  Arg [1]    : (optional) Boolean - is_project
+  Example    : $group->is_project();
+  Description: Getter and setter of is_project attribute for ExperimentalGroup objects.
+  Returntype : string
+  Exceptions : None
+  Caller     : General
+  Status     : High Risk
+
+=cut
+
+sub is_project {
+    my $self = shift;
+    $self->{'is_project'} = shift if @_;
+    return $self->{'is_project'};
+}
+
+1;
+