0
|
1 =head1 LICENSE
|
|
2
|
|
3 Copyright (c) 1999-2012 The European Bioinformatics Institute and
|
|
4 Genome Research Limited. All rights reserved.
|
|
5
|
|
6 This software is distributed under a modified Apache license.
|
|
7 For license details, please see
|
|
8
|
|
9 http://www.ensembl.org/info/about/code_licence.html
|
|
10
|
|
11 =head1 CONTACT
|
|
12
|
|
13 Please email comments or questions to the public Ensembl
|
|
14 developers list at <dev@ensembl.org>.
|
|
15
|
|
16 Questions may also be sent to the Ensembl help desk at
|
|
17 <helpdesk@ensembl.org>.
|
|
18
|
|
19 =cut
|
|
20
|
|
21 =head1 NAME
|
|
22
|
|
23 Bio::EnsEMBL::DBSQL::SlicingEventFeatureAdaptor - Database adaptor for the retrieval and
|
|
24 storage of SplicingEventFeature objects
|
|
25
|
|
26 =head1 SYNOPSIS
|
|
27
|
|
28 use Bio::EnsEMBL::Registry;
|
|
29
|
|
30 Bio::EnsEMBL::Registry->load_registry_from_db(
|
|
31 -host => 'ensembldb.ensembl.org',
|
|
32 -user => 'anonymous',
|
|
33 );
|
|
34
|
|
35 $se_adaptor =
|
|
36 Bio::EnsEMBL::Registry->get_adaptor( "human", "core", "SplicingEventFeature" );
|
|
37
|
|
38
|
|
39 =head1 DESCRIPTION
|
|
40
|
|
41 This is a database aware adaptor for the retrieval and storage of SlicingEventFeatures
|
|
42 objects.
|
|
43
|
|
44 =head1 METHODS
|
|
45
|
|
46 =cut
|
|
47 package Bio::EnsEMBL::DBSQL::SplicingEventFeatureAdaptor;
|
|
48
|
|
49 use strict;
|
|
50
|
|
51 use Bio::EnsEMBL::Utils::Exception qw( deprecate throw warning );
|
|
52 use Bio::EnsEMBL::DBSQL::SliceAdaptor;
|
|
53 use Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor;
|
|
54 use Bio::EnsEMBL::DBSQL::DBAdaptor;
|
|
55 use Bio::EnsEMBL::SplicingEventFeature;
|
|
56
|
|
57 use vars '@ISA';
|
|
58 @ISA = qw(Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor);
|
|
59
|
|
60
|
|
61
|
|
62 sub fetch_all_by_SplicingEvent{
|
|
63 my ($self, $splicing_event) = @_;
|
|
64
|
|
65
|
|
66 my ($splicing_event_feature_id, $splicing_event_id, $exon_id, $transcript_id, $feature_order, $transcript_association, $type, $start, $end);
|
|
67
|
|
68 $splicing_event_id = $splicing_event->dbID;
|
|
69
|
|
70 my $sql = "select splicing_event_feature_id, exon_id, transcript_id, feature_order, transcript_association, type, start, end from splicing_event_feature where splicing_event_id = $splicing_event_id";
|
|
71
|
|
72 my $sth = $self->prepare($sql);
|
|
73
|
|
74 $sth->execute();
|
|
75 $sth->bind_columns(\$splicing_event_feature_id, \$exon_id, \$transcript_id, \$feature_order, \$transcript_association, \$type, \$start, \$end);
|
|
76
|
|
77 my @features;
|
|
78
|
|
79 while($sth->fetch()){
|
|
80 push( @features,
|
|
81 $self->_create_feature_fast( 'Bio::EnsEMBL::SplicingEventFeature', {
|
|
82 'start' => $start,
|
|
83 'end' => $end,
|
|
84 'adaptor' => $self,
|
|
85 'dbID' => $splicing_event_feature_id,
|
|
86 'exon_id' => $exon_id,
|
|
87 'transcript_id' => $transcript_id,
|
|
88 'slice' => $splicing_event->slice,
|
|
89 'type' => $type,
|
|
90 'feature_order' => $feature_order,
|
|
91 'transcript_association' => $transcript_association
|
|
92 } ) );
|
|
93
|
|
94 }
|
|
95 $sth->finish;
|
|
96 return \@features;
|
|
97
|
|
98 }
|
|
99
|
|
100
|
|
101
|
|
102
|
|
103 # _tables
|
|
104 # Arg [1] : none
|
|
105 # Description: PROTECTED implementation of superclass abstract method.
|
|
106 # Returns the names, aliases of the tables to use for queries.
|
|
107 # Returntype : list of listrefs of strings
|
|
108 # Exceptions : none
|
|
109 # Caller : internal
|
|
110 # Status : At Risk
|
|
111
|
|
112 sub _tables {
|
|
113 my $self = shift;
|
|
114
|
|
115 return ([ 'splicing_event_feature', 'sef' ]);
|
|
116 }
|
|
117
|
|
118 # _columns
|
|
119 # Arg [1] : none
|
|
120 # Example : none
|
|
121 # Description: PROTECTED implementation of superclass abstract method.
|
|
122 # Returns a list of columns to use for queries.
|
|
123 # Returntype : list of strings
|
|
124 # Exceptions : none
|
|
125 # Caller : internal
|
|
126 # Status : At Risk
|
|
127
|
|
128 sub _columns {
|
|
129 my $self = shift;
|
|
130
|
|
131 # my $created_date = $self->db->dbc->from_date_to_seconds("gsi.created_date");
|
|
132 # my $modified_date = $self->db->dbc->from_date_to_seconds("gsi.modified_date");
|
|
133
|
|
134 return ( 'sef.splicing_event_id','sef.exon_id', 'sef.feature_order', 'sef.transcript_association', 'sef.type', 'sef.start', 'sef.end' );
|
|
135
|
|
136 }
|
|
137
|
|
138 sub list_dbIDs {
|
|
139 my ($self,$ordered) = @_;
|
|
140
|
|
141 return $self->_list_dbIDs("splicing_event_feature", undef, $ordered);
|
|
142 }
|
|
143
|
|
144
|
|
145 1;
|
|
146
|
|
147
|