Raw content of Bio::LiveSeq::Exon
# $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
#
# 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;