diff variant_effect_predictor/Bio/LiveSeq/Exon.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/LiveSeq/Exon.pm	Thu Apr 11 02:01:53 2013 -0400
@@ -0,0 +1,107 @@
+# $Id: Exon.pm,v 1.8 2001/06/18 08:27:53 heikki Exp $
+#
+# bioperl module for Bio::LiveSeq::Exon
+#
+# Cared for by Joseph Insana <insana@ebi.ac.uk> <jinsana@gmx.net>
+#
+# Copyright Joseph Insana
+#
+# You may distribute this module under the same terms as perl itself
+#
+# POD documentation - main docs before the code
+
+=head1 NAME
+
+Bio::LiveSeq::Exon - Range abstract class for LiveSeq
+
+=head1 SYNOPSIS
+
+  # documentation needed
+
+=head1 DESCRIPTION
+
+Class for EXON objects. They consist of a beginlabel, an endlabel (both
+referring to a LiveSeq DNA object) and a strand.
+The strand could be 1 (forward strand, default), -1 (reverse strand).
+
+=head1 AUTHOR - Joseph A.L. Insana
+
+Email:  Insana@ebi.ac.uk, jinsana@gmx.net
+
+Address: 
+
+     EMBL Outstation, European Bioinformatics Institute
+     Wellcome Trust Genome Campus, Hinxton
+     Cambs. CB10 1SD, United Kingdom 
+
+=head1 APPENDIX
+
+The rest of the documentation details each of the object
+methods. Internal methods are usually preceded with a _
+
+=cut
+
+# Let the code begin...
+
+package Bio::LiveSeq::Exon;
+$VERSION=1.1;
+
+# Version history:
+# Mon Mar 20 22:26:13 GMT 2000 v 1.0 begun
+# Wed Apr 12 12:42:56 BST 2000 v 1.1 get_Transcript added
+
+use strict;
+use vars qw($VERSION @ISA);
+use Bio::LiveSeq::Range 1.2; # uses Range, inherits from it
+@ISA=qw(Bio::LiveSeq::Range);
+
+=head2 new
+
+  Title   : new
+  Usage   : $exon1 = Bio::LiveSeq::Exon-> new(-seq => $objref,
+					      -start => $startlabel,
+					      -end => $endlabel, -strand => 1);
+
+  Function: generates a new Bio::LiveSeq::Exon
+  Returns : reference to a new object of class Exon
+  Errorcode -1
+  Args    : two labels and an integer
+
+=cut
+
+=head2 get_Transcript
+
+  Title   : get_Transcript
+  Usage   : $transcript = $obj->get_Transcript()
+  Function: retrieves the reference to the object of class Transcript (if any)
+            attached to a LiveSeq object
+  Returns : object reference
+  Args    : none
+  Note    : only Exons that compose a Transcript (i.e. those created out of
+            a CDS Entry-Feature) will have an attached Transcript
+
+=cut
+
+sub get_Transcript {
+  my $self=shift;
+  return ($self->{'transcript'}); # this is set on all Exons a Transcript is made of when Transcript->new is called
+}
+
+# this checks if the attached Transcript has a Gene object attached
+sub gene {
+  my ($self,$value) = @_;
+  if (defined $value) {
+    $self->{'gene'} = $value;
+  }
+  unless (exists $self->{'gene'}) {
+    unless (exists $self->get_Transcript->{'gene'}) {
+      return (0);
+    } else {
+      return ($self->get_Transcript->{'gene'});
+    }
+  } else {
+    return $self->{'gene'};
+  }
+}
+
+1;