comparison variant_effect_predictor/Bio/EnsEMBL/SplicingEvent.pm @ 0:1f6dce3d34e0

Uploaded
author mahtabm
date Thu, 11 Apr 2013 02:01:53 -0400
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:1f6dce3d34e0
1
2 =head1 LICENSE
3
4 Copyright (c) 1999-2012 The European Bioinformatics Institute and
5 Genome Research Limited. All rights reserved.
6
7 This software is distributed under a modified Apache license.
8 For license details, please see
9
10 http://www.ensembl.org/info/about/code_licence.html
11
12 =head1 CONTACT
13
14 Please email comments or questions to the public Ensembl
15 developers list at <dev@ensembl.org>.
16
17 Questions may also be sent to the Ensembl help desk at
18 <helpdesk@ensembl.org>.
19
20 =cut
21
22 =head1 NAME
23
24 Bio::EnsEMBL::SlicingEvent - Object representing an alternative splicing event
25
26 =head1 SYNOPSIS
27
28 my $ase =
29 Bio::EnsEMBL::SplicingEvent->new( -START => 123,
30 -END => 1045,
31 -STRAND => 1,
32 -GENE_ID => $gene->dbID,
33 -SLICE => $slice );
34
35 # set some additional attributes
36 $ase->name('ENSG00000000003-CNE-3');
37 $ase->type('CNE');
38
39 =head1 DESCRIPTION
40
41 A representation of an Alternative Splicing Event within the Ensembl system.
42
43 =head1 METHODS
44
45 =cut
46
47 package Bio::EnsEMBL::SplicingEvent;
48
49 use strict;
50
51 use POSIX;
52 use Bio::EnsEMBL::Feature;
53 use Bio::EnsEMBL::Utils::Argument qw(rearrange);
54 use Bio::EnsEMBL::Utils::Exception qw(throw warning deprecate);
55
56 use vars qw(@ISA);
57 @ISA = qw(Bio::EnsEMBL::Feature);
58
59 ## Add to gene get_all_splicing_events
60
61 sub gene_id {
62 my ( $self, $value ) = @_;
63
64 if ( defined($value) ) {
65 $self->{'gene_id'} = $value;
66 }
67
68 return $self->{'gene_id'};
69 }
70
71 sub name {
72 my ( $self, $value ) = @_;
73
74 if ( defined($value) ) {
75 $self->{'name'} = $value;
76 }
77
78 return $self->{'name'};
79 }
80
81 sub type {
82 my ( $self, $value ) = @_;
83
84 if ( defined($value) ) {
85 $self->{'type'} = $value;
86 }
87
88 return $self->{'type'};
89 }
90
91 sub add_Feature {
92 my ( $self, $feature ) = @_;
93
94 if ( !ref($feature)
95 || !$feature->isa("Bio::EnsEMBL::SplicingEventFeature") )
96 {
97 throw("$feature is not a Bio::EnsEMBL::SplicingEventFeature!");
98 }
99
100 $self->{'_feature_array'} ||= [];
101
102 push( @{ $self->{'_feature_array'} }, $feature );
103 }
104
105 sub get_all_Features {
106 my ($self) = @_;
107
108 if ( !exists( $self->{'_feature_array'} ) ) {
109 if ( defined( $self->adaptor() ) ) {
110 my $fta =
111 $self->adaptor()->db()->get_SplicingEventFeatureAdaptor();
112 my $features = $fta->fetch_all_by_SplicingEvent($self);
113 $self->{'_feature_array'} = $features;
114 }
115 }
116
117 return $self->{'_feature_array'};
118 }
119
120 sub add_Pair {
121 my ( $self, $feature ) = @_;
122
123 if ( !ref($feature)
124 || !$feature->isa("Bio::EnsEMBL::SplicingEventPair") )
125 {
126 throw("$feature is not a Bio::EnsEMBL::SplicingEventPair!");
127 }
128
129 $self->{'_pair_array'} ||= [];
130
131 push( @{ $self->{'_pair_array'} }, $feature );
132 }
133
134 sub get_all_Pairs {
135 my ($self) = @_;
136
137 if ( !exists( $self->{'_pair_array'} ) ) {
138 if ( defined( $self->adaptor() ) ) {
139 my $pa =
140 $self->adaptor()->db()->get_SplicingTranscriptPairAdaptor();
141 my $pairs = $pa->fetch_all_by_SplicingEvent($self);
142 $self->{'_pair_array'} = $pairs;
143 }
144 }
145
146 return $self->{'_pair_array'};
147 }
148
149 1;