diff variant_effect_predictor/Bio/EnsEMBL/Map/QtlFeature.pm @ 0:1f6dce3d34e0

Uploaded
author mahtabm
date Thu, 11 Apr 2013 02:01:53 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/variant_effect_predictor/Bio/EnsEMBL/Map/QtlFeature.pm	Thu Apr 11 02:01:53 2013 -0400
@@ -0,0 +1,149 @@
+=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::Map::QtlFeature
+
+=head1 SYNOPSIS
+
+=head1 DESCRIPTION
+
+Represents a QtlFeature in the EnsEMBL database. QtlFeatures are
+generally very long and its not clear wether a representation in Contig
+coordinates actually makes sense. In the database they will have
+chromosomal coordinates.
+
+=head1 METHODS
+
+=cut
+
+package Bio::EnsEMBL::Map::QtlFeature;
+
+use strict;
+use vars qw(@ISA);
+
+use Bio::EnsEMBL::Feature;
+
+@ISA = qw(Bio::EnsEMBL::Feature);
+
+
+=head2 new
+
+  Arg [1]    : Bio::EnsEMBL::Map::DBSQL::QtlFeatureAdaptor $adaptor
+  Example    : none
+  Description: Create a QtlFeature
+  Returntype : Bio::EnsEMBL::Map::QtlFeature
+  Exceptions : none
+  Caller     : general, DBSQL::QtlFeatureAdaptor
+  Status     : Stable
+
+=cut
+
+sub new {
+  my ( $class, $adaptor, $slice, $start, $end, $qtl, $analysis ) = @_;
+
+  $class = ref( $class ) ||$class;
+  my $self = bless( {
+		     'slice'    => $slice,
+		     'start'    => $start,
+		     'end'      => $end,
+		     'qtl'      => $qtl,
+		     'analysis' => $analysis,
+         'strand'   => 0
+		    }, $class );
+
+  $self->adaptor($adaptor);
+  return $self;
+}
+
+
+=head2 qtl
+
+  Arg [1]    : Bio::EnsEMBL::Map::Qtl $qtl
+               the qtl object for this feature
+  Example    : none
+  Description: return the Qtl object associated with this location
+  Returntype : Bio::EnsEMBL::Map::Qtl
+  Exceptions : none
+  Caller     : general
+  Status     : Stable
+
+=cut
+
+sub qtl {
+  my $self = shift;
+
+  if(@_) {
+    $self->{'qtl'} = shift;
+  }
+
+  return $self->{'qtl'};
+}
+
+
+
+=head2 strand
+
+  Arg [1]    : none
+	Example    : $strand = $qtl_feat->strand();
+  Description: Overrides the Feature strand method to always return a
+               value of 0 for qtl features (they are unstranded features)
+  Returntype : int (always 0)
+  Exceptions : none
+  Caller     : general
+  Status     : Stable
+
+=cut
+
+sub strand {
+	my $self = shift;
+  return 0;
+}
+
+
+
+=head2 move
+
+  Arg [1]    : $start - The new end of this qtl feature
+  Arg [2]    : $end - The new start of this qtl feature
+  Arg [3]    : $strand - ignored always set to 0
+  Example    : $qtl_feat->move(1, 10_000);
+  Description: Overrides superclass move() method to ensure strand is always 0.
+               See Bio::EnsEMBL::Feature::move
+  Returntype : none
+  Exceptions : none
+  Caller     : general
+  Status     : Stable
+
+=cut
+
+sub move {
+  my ($self, $start, $end, $strand) = @_;
+
+  #maintain a strandedness of 0
+  return $self->SUPER::move($start,$end,0);
+}
+
+
+
+1;
+
+