annotate variant_effect_predictor/Bio/LiveSeq/Exon.pm @ 0:2bc9b66ada89 draft default tip

Uploaded
author mahtabm
date Thu, 11 Apr 2013 06:29:17 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
1 # $Id: Exon.pm,v 1.8 2001/06/18 08:27:53 heikki Exp $
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
2 #
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
3 # bioperl module for Bio::LiveSeq::Exon
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
4 #
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
5 # Cared for by Joseph Insana <insana@ebi.ac.uk> <jinsana@gmx.net>
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
6 #
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
7 # Copyright Joseph Insana
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
8 #
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
9 # You may distribute this module under the same terms as perl itself
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
10 #
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
11 # POD documentation - main docs before the code
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
12
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
13 =head1 NAME
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
14
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
15 Bio::LiveSeq::Exon - Range abstract class for LiveSeq
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
16
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
17 =head1 SYNOPSIS
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
18
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
19 # documentation needed
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
20
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
21 =head1 DESCRIPTION
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
22
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
23 Class for EXON objects. They consist of a beginlabel, an endlabel (both
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
24 referring to a LiveSeq DNA object) and a strand.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
25 The strand could be 1 (forward strand, default), -1 (reverse strand).
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
26
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
27 =head1 AUTHOR - Joseph A.L. Insana
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
28
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
29 Email: Insana@ebi.ac.uk, jinsana@gmx.net
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
30
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
31 Address:
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
32
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
33 EMBL Outstation, European Bioinformatics Institute
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
34 Wellcome Trust Genome Campus, Hinxton
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
35 Cambs. CB10 1SD, United Kingdom
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
36
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
37 =head1 APPENDIX
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
38
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
39 The rest of the documentation details each of the object
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
40 methods. Internal methods are usually preceded with a _
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
41
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
42 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
43
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
44 # Let the code begin...
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
45
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
46 package Bio::LiveSeq::Exon;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
47 $VERSION=1.1;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
48
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
49 # Version history:
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
50 # Mon Mar 20 22:26:13 GMT 2000 v 1.0 begun
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
51 # Wed Apr 12 12:42:56 BST 2000 v 1.1 get_Transcript added
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
52
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
53 use strict;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
54 use vars qw($VERSION @ISA);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
55 use Bio::LiveSeq::Range 1.2; # uses Range, inherits from it
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
56 @ISA=qw(Bio::LiveSeq::Range);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
57
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
58 =head2 new
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
59
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
60 Title : new
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
61 Usage : $exon1 = Bio::LiveSeq::Exon-> new(-seq => $objref,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
62 -start => $startlabel,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
63 -end => $endlabel, -strand => 1);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
64
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
65 Function: generates a new Bio::LiveSeq::Exon
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
66 Returns : reference to a new object of class Exon
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
67 Errorcode -1
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
68 Args : two labels and an integer
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
69
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
70 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
71
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
72 =head2 get_Transcript
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
73
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
74 Title : get_Transcript
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
75 Usage : $transcript = $obj->get_Transcript()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
76 Function: retrieves the reference to the object of class Transcript (if any)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
77 attached to a LiveSeq object
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
78 Returns : object reference
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
79 Args : none
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
80 Note : only Exons that compose a Transcript (i.e. those created out of
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
81 a CDS Entry-Feature) will have an attached Transcript
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
82
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
83 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
84
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
85 sub get_Transcript {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
86 my $self=shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
87 return ($self->{'transcript'}); # this is set on all Exons a Transcript is made of when Transcript->new is called
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
88 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
89
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
90 # this checks if the attached Transcript has a Gene object attached
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
91 sub gene {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
92 my ($self,$value) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
93 if (defined $value) {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
94 $self->{'gene'} = $value;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
95 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
96 unless (exists $self->{'gene'}) {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
97 unless (exists $self->get_Transcript->{'gene'}) {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
98 return (0);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
99 } else {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
100 return ($self->get_Transcript->{'gene'});
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
101 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
102 } else {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
103 return $self->{'gene'};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
104 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
105 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
106
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
107 1;