diff variant_effect_predictor/Bio/EnsEMBL/Mapper/IndelCoordinate.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/Mapper/IndelCoordinate.pm	Thu Apr 11 02:01:53 2013 -0400
@@ -0,0 +1,135 @@
+=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::Mapper::IndelCoordinate
+
+=head1 SYNOPSIS
+
+=head1 DESCRIPTION
+
+Representation of a indel in a sequence; returned from Mapper.pm when
+the target region is in a deletion.
+
+=head1 METHODS
+
+=cut
+
+package Bio::EnsEMBL::Mapper::IndelCoordinate;
+
+use Bio::EnsEMBL::Mapper::Gap;
+use Bio::EnsEMBL::Mapper::Coordinate;
+
+use vars qw(@ISA);
+use strict;
+
+@ISA = qw(Bio::EnsEMBL::Mapper::Coordinate Bio::EnsEMBL::Mapper::Gap);
+
+
+=head2 new
+
+  Arg [1]    : Bio::EnsEMBL::Mapper::Gap $gap
+  Arg [2]    : Bio::EnsEMBL::Mapper::Coordinate $coordinate
+  Example    : $indelCoord = Bio::EnsEMBL::Mapper::IndelCoordinate($gap, $coordinate);
+  Description: Creates a new IndelCoordinate object.
+  Returntype : Bio::EnsEMBL::Mapper::IndelCoordinate
+  Exceptions : none
+  Caller     : Bio::EnsEMBL::Mapper
+
+=cut
+
+sub new {
+  my ( $proto, $gap, $coordinate ) = @_;
+
+  my $class = ref($proto) || $proto;
+
+  return
+    bless( { 'start'        => $coordinate->start(),
+             'end'          => $coordinate->end(),
+             'strand'       => $coordinate->strand(),
+             'id'           => $coordinate->id(),
+             'coord_system' => $coordinate->coord_system(),
+             'gap_start'    => $gap->start(),
+             'gap_end'      => $gap->end()
+           },
+           $class );
+}
+
+=head2 gap_start
+
+  Arg[1]      : (optional) int $gap_start
+  Example     : $gap_start = $ic->gap_start()
+  Description : Getter/Setter for the start of the Gap region
+  ReturnType  : int
+  Exceptions  : none
+  Caller      : general
+
+=cut
+
+sub gap_start {
+  my ( $self, $value ) = @_;
+
+  if ( defined($value) ) {
+    $self->{'gap_start'} = $value;
+  }
+
+  return $self->{'gap_start'};
+}
+
+=head2 gap_end
+
+  Arg[1]      : (optional) int $gap_end
+  Example     : $gap_end = $ic->gap_end()
+  Description : Getter/Setter for the end of the Gap region
+  ReturnType  : int
+  Exceptions  : none
+  Caller      : general
+
+=cut
+
+sub gap_end {
+  my ( $self, $value ) = @_;
+
+  if ( defined($value) ) {
+    $self->{'gap_end'} = $value;
+  }
+
+  return $self->{'gap_end'};
+}
+
+=head2 gap_length
+
+  Args        : None
+  Example     : $gap_length = $ic->gap_length()
+  Description : Getter for the length of the Gap region
+  ReturnType  : int
+  Exceptions  : none
+  Caller      : general
+
+=cut
+
+sub gap_length {
+  my ($self) = @_;
+
+  return $self->{'gap_end'} - $self->{'gap_start'} + 1;
+}
+
+1;