annotate variant_effect_predictor/Bio/EnsEMBL/DBSQL/UnmappedObjectAdaptor.pm @ 0:1f6dce3d34e0

Uploaded
author mahtabm
date Thu, 11 Apr 2013 02:01:53 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1 =head1 LICENSE
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
2
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
3 Copyright (c) 1999-2012 The European Bioinformatics Institute and
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
4 Genome Research Limited. All rights reserved.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
5
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
6 This software is distributed under a modified Apache license.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
7 For license details, please see
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
8
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
9 http://www.ensembl.org/info/about/code_licence.html
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
10
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
11 =head1 CONTACT
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
12
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
13 Please email comments or questions to the public Ensembl
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
14 developers list at <dev@ensembl.org>.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
15
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
16 Questions may also be sent to the Ensembl help desk at
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
17 <helpdesk@ensembl.org>.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
18
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
19 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
20
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
21 =head1 NAME
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
22
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
23 Bio::EnsEMBL::DBSQL::UnmappedObjectAdaptor
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
24
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
25 =head1 SYNOPSIS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
26
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
27 my $uoa = $database_adaptor->get_UnmappedObjectAdaptor();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29 my $missed = @{ $uoa->fetch_all_by_type('xref') };
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33 Unmapped ObjectAdaptor - An adaptor responsible for the creation,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 editing, retrieval of Unmapped Objects. These being the Objects that
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35 where not mapped in a specific process i.e. xref, cDNA, Markers.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37 =head1 METHODS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41 package Bio::EnsEMBL::DBSQL::UnmappedObjectAdaptor;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42 use vars qw(@ISA);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46 use POSIX;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47 use Bio::EnsEMBL::Utils::Cache;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48 use Bio::EnsEMBL::Utils::Exception qw(throw warning);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49 use Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50 use Bio::EnsEMBL::UnmappedObject;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51 use Bio::EnsEMBL::Analysis;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52 @ISA = qw(Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54 our %desc_to_id;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56 =head2 new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58 Arg [1] : list of args @args
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59 Superclass constructor arguments
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60 Example : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61 Description: Constructor which just initializes internal cache structures
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62 Returntype : Bio::EnsEMBL::DBSQL::UnmappedObjectAdaptor
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64 Caller : implementing subclass constructors
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69 sub new {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70 my $proto = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72 my $class = ref($proto) || $proto;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74 my $self = $class->SUPER::new(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76 my $sth =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77 $self->prepare( "SELECT unmapped_reason_id, full_description "
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78 . "FROM unmapped_reason" );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80 $sth->execute();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82 my ( $id, $desc );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83 $sth->bind_columns( \( $id, $desc ) );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85 while ( $sth->fetch() ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86 $desc_to_id{$desc} = $id;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89 $sth->finish();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91 return $self;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95 # _tables
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96 # Arg [1] : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97 # Description: PROTECTED implementation of superclass abstract method
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98 # returns the names, aliases of the tables to use for queries
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99 # Returntype : list of listrefs of strings
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100 # Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101 # Caller : internal
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102 # Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103 sub _tables {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106 return (['unmapped_object', 'uo'],
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107 ['unmapped_reason', 'ur']);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111 # _columns
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112 # Arg [1] : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113 # Example : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114 # Description: PROTECTED implementation of superclass abstract method
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115 # returns a list of columns to use for queries
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116 # Returntype : list of strings
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117 # Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118 # Caller : internal
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119 # Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121 sub _columns {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124 return qw(uo.unmapped_object_id uo.type uo.analysis_id uo.external_db_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125 uo.identifier uo.unmapped_reason_id uo.query_score uo.target_score
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126 uo.ensembl_id uo.ensembl_object_type
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127 ur.summary_description ur.full_description);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130 sub _left_join {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131 return ( [
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132 'unmapped_object', "uo.unmapped_reason_id = ur.unmapped_reason_id"
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133 ] );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136 =head2 list_dbIDs
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138 Arg [1] : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139 Example : @unmapped_object_ids = @{$unmapped_object_adaptor->list_dbIDs()};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140 Description: Gets an array of internal ids for all unmapped_objects in the current db
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141 Returntype : list of ints
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143 Caller : ?
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148 sub list_dbIDs {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149 my ($self) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151 return $self->_list_dbIDs("unmapped_object");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154 =head2 list_unmapped_reasons
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156 Arg [1] : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157 Example : @unmapped_object_reason+ids =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158 @{$unmapped_object_adaptor->list_unmapped_reasons()};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159 Description: Gets an array of internal ids for all unmapped_objects in the current db
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160 Returntype : list of ints
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162 Caller : ?
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167 sub list_unmapped_reasons {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168 my ($self) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
169
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
170 return $self->_list_dbIDs("unmapped_reason");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
171 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
172
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
173
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
174 # _objs_from_sth
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
175
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
176 # Arg [1] : StatementHandle $sth
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
177 # Example : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
178 # Description: PROTECTED implementation of abstract superclass method.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
179 # responsible for the creation of UnmappedObjects
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
180 # Returntype : listref of Bio::EnsEMBL::UnmappedObjects
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
181 # Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
182 # Caller : internal
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
183 # Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
184
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
185 sub _objs_from_sth {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
186 my ($self, $sth) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
187
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
188 my($unmapped_object_id, $type, $analysis_id, $external_db_id, $identifier,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
189 $unmapped_reason_id, $query_score, $target_score, $ensembl_id,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
190 $ensembl_object_type, $summary, $full_desc);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
191
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
192 $sth->bind_columns(\$unmapped_object_id,\$type, \$analysis_id,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
193 \$external_db_id, \$identifier, \$unmapped_reason_id,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
194 \$query_score, \$target_score, \$ensembl_id,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
195 \$ensembl_object_type, \$summary, \$full_desc);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
196
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
197 my $analysis_adaptor = $self->db->get_AnalysisAdaptor();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
198
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
199 my @features;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
200 while($sth->fetch()) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
201 my $analysis = $analysis_adaptor->fetch_by_dbID($analysis_id);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
202
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
203 #print "$identifier\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
204
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
205 push( @features,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
206 $self->_create_feature(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
207 'Bio::EnsEMBL::UnmappedObject', {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
208 -unmapped_object_id => $unmapped_object_id,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
209 -unmapped_reason_id => $unmapped_reason_id,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
210 -type => $type,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
211 -analysis => $analysis,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
212 -external_db_id => $external_db_id,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
213 -identifier => $identifier,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
214 -query_score => $query_score,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
215 -target_score => $target_score,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
216 -ensembl_id => $ensembl_id,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
217 -ensembl_object_type => $ensembl_object_type,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
218 -summary => $summary,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
219 -full_desc => $full_desc,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
220 -adaptor => $self
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
221 } ) );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
222
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
223 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
224 return \@features;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
225 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
226
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
227
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
228
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
229 =head2 store
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
230
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
231 Arg [1] : list of Bio::EnsEMBL::UnmappedObjects @uo
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
232 the unmapped objects to store in the database
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
233 Example : $ou_adaptor->store(@uo);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
234 Description: Stores a list of unmapped objects in the database
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
235 Returntype : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
236 Exceptions : thrown if no Analysis, or no list of objects to store.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
237 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
238 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
239
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
240 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
241
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
242 sub store{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
243 my ($self,@uos) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
244
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
245 if( scalar(@uos) == 0 ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
246 throw("Must call store with list of UnmappedObjects");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
247 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
248
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
249
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
250 my $db = $self->db();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
251 my $analysis_adaptor = $db->get_AnalysisAdaptor();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
252
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
253 my $sth_reason = $self->prepare
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
254 ("INSERT INTO unmapped_reason (summary_description, full_description)".
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
255 " VALUES (?,?)");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
256
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
257 my $sth_unmapped_object = $self->prepare
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
258 ("INSERT INTO unmapped_object (type, analysis_id, external_db_id,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
259 identifier, unmapped_reason_id, query_score, target_score,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
260 ensembl_id, ensembl_object_type)".
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
261 " VALUES (?,?,?,?,?,?,?,?,?)");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
262
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
263 FEATURE: foreach my $uo ( @uos ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
264
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
265 if( !ref $uo || !$uo->isa("Bio::EnsEMBL::UnmappedObject") ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
266 throw("UnmappedObject must be an Ensembl UnmappedObject, " .
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
267 "not a [".ref($uo)."]");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
268 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
269 if($uo->is_stored($db)){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
270 next;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
271 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
272
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
273 my $analysis = $uo->analysis();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
274 throw("UnmappedObject must have an analysis object.".$uo->analysis."\n") if(!defined($analysis));
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
275
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
276 my $analysis_id;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
277 if($analysis->is_stored($db)) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
278 $analysis_id = $analysis->dbID();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
279 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
280 $analysis_id = $db->get_AnalysisAdaptor->store($analysis);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
281 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
282
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
283 #First check to see unmapped reason is stored
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
284 if(!defined($desc_to_id{$uo->{'description'}})){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
285 $sth_reason->bind_param(1,$uo->{'summary'},SQL_VARCHAR);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
286 $sth_reason->bind_param(2,$uo->{'description'},SQL_VARCHAR);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
287 $sth_reason->execute();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
288 $uo->{'unmapped_reason_id'} = $desc_to_id{$uo->{'description'}}
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
289 = $sth_reason->{'mysql_insertid'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
290
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
291 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
292 else{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
293 $uo->{'unmapped_reason_id'} = $desc_to_id{$uo->{'description'}} ;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
294 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
295 $sth_unmapped_object->bind_param(1,$uo->{'type'},SQL_VARCHAR);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
296 $sth_unmapped_object->bind_param(2,$uo->analysis->dbID,SQL_INTEGER);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
297 $sth_unmapped_object->bind_param(3,$uo->{'external_db_id'},SQL_INTEGER);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
298 $sth_unmapped_object->bind_param(4,$uo->{'identifier'},SQL_VARCHAR);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
299 $sth_unmapped_object->bind_param(5,$uo->{'unmapped_reason_id'},SQL_VARCHAR);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
300 $sth_unmapped_object->bind_param(6,$uo->{'query_score'},SQL_DOUBLE);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
301 $sth_unmapped_object->bind_param(7,$uo->{'target_score'},SQL_DOUBLE);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
302 $sth_unmapped_object->bind_param(8,$uo->{'ensembl_id'},SQL_INTEGER);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
303 $sth_unmapped_object->bind_param(9,$uo->{'ensembl_object_type'},SQL_VARCHAR);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
304 $sth_unmapped_object->execute();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
305 $uo->dbID($sth_unmapped_object->{'mysql_insertid'});
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
306 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
307 $sth_reason->finish();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
308 return;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
309 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
310
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
311
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
312 =head2 fetch_all_by_type
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
313
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
314 Arg [1] : string type. The type of unmapped objects
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
315 Example : @unmapped_object = @{$uoa->fetch_all_by_type('xref')};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
316 Description : Retrieves all the unmapped object for a particular
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
317 type. e.g. 'xref','cDNA', 'marker'
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
318 Returntype : Array ref of Bio::EnsEMBL::UnmappedObject
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
319 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
320 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
321 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
322
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
323 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
324
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
325 sub fetch_all_by_type {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
326 my ($self, $type) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
327
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
328 unless($type) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
329 throw("type argument is required");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
330 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
331 $self->bind_param_generic_fetch($type,SQL_VARCHAR);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
332 $self->generic_fetch("uo.type = ?");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
333
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
334 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
335
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
336 =head2 fetch_all_by_analysis
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
337
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
338 Arg [1] : Bio:EnsEMBL::Analysis object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
339 Arg [2] : (optional) string database name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
340 Example : @unmapped_object = @{$uoa->fetch_all_by_analysis($analysis)};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
341 Description : Retrieves all the unmapped object for a particular
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
342 analysis type with the the option of a particular
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
343 database type.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
344 Returntype : array ref of Bio::EnsEMBL::UnmappedObject
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
345 Exceptions : thorws if first argument is not an anaylisi object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
346 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
347 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
348
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
349 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
350
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
351 sub fetch_all_by_analysis {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
352 my ($self, $analysis,$dbname) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
353
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
354 unless($analysis) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
355 throw("analysis argument is required");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
356 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
357 $self->bind_param_generic_fetch($analysis->dbID,SQL_INTEGER);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
358 my $constraint = "uo.analysis_id = ?";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
359 if(defined($dbname)){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
360 my $db_id =0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
361 my $sth = $self->prepare('select external_db_id from external_db where db_name like "'.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
362 $dbname.'"');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
363 $sth->execute;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
364 $sth->bind_columns(\$db_id);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
365 $sth->fetch();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
366 if(!defined($db_id) or $db_id == 0){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
367 throw("$dbname could not be found in the external database table\n");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
368 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
369 $self->bind_param_generic_fetch($db_id,SQL_INTEGER);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
370 $constraint .= " AND uo.external_db_id = ?";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
371 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
372 $self->generic_fetch($constraint);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
373
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
374 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
375
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
376 =head2 fetch_by_identifier
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
377
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
378 Arg [1] : string type. The type of unmapped objects
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
379 Arg [2] : (optional) string database name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
380 Example : @unmapped_object = @{$uoa->fetch_by_identifier('Q123345')};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
381 Description : Retrieves the unmapped object for a particular
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
382 identifier/accession
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
383 Returntype : array ref of Bio::EnsEMBL::UnmappedObject
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
384 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
385 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
386 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
387
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
388 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
389
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
390 sub fetch_by_identifier {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
391 my ($self, $identifier, $dbname) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
392
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
393 unless($identifier) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
394 throw("identifier argument is required");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
395 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
396 $self->bind_param_generic_fetch($identifier,SQL_VARCHAR);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
397 my $constraint = 'uo.identifier like ?';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
398
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
399 if(defined($dbname)){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
400 my $db_id =0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
401 my $sth = $self->prepare('select external_db_id from external_db where db_name like "'.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
402 $dbname.'"');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
403 $sth->execute;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
404 $sth->bind_columns(\$db_id);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
405 $sth->fetch();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
406 if(!defined($db_id) or $db_id == 0){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
407 throw("$dbname could not be found in the external database table\n");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
408 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
409 $self->bind_param_generic_fetch($db_id,SQL_INTEGER);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
410 $constraint .= " AND uo.external_db_id = ?";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
411 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
412 return $self->generic_fetch($constraint);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
413 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
414
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
415 =head2 fetch_all_by_object_type_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
416
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
417 Arg [1] : string - The object type of the ensembl object e.g. Gene
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
418 Arg [2] : int - The internal dbID of the ensembl object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
419 Example : my @unmapped_objects = @{$uoa->fetch_all_by_object_type_id('Gene', 12341)};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
420 Description : Retrieves the unmapped objects for a particular ensembl object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
421 This is a base method which should be called by wrapper methods
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
422 defining the correct object type e.g. $uoa->fetch_all_by_Gene($gene)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
423 Returntype : array ref of Bio::EnsEMBL::UnmappedObject objects
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
424 Exceptions : Throws if arguments are not defined
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
425 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
426 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
427
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
428 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
429
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
430 sub fetch_all_by_object_type_id {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
431 my ($self, $object_type, $dbid) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
432
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
433 if(! ($object_type && $dbid)){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
434 throw("object_type and dbid arguments required");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
435 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
436
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
437 $self->bind_param_generic_fetch($object_type, SQL_VARCHAR);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
438 $self->bind_param_generic_fetch($dbid, SQL_INTEGER);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
439
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
440 my $constraint = 'uo.ensembl_object_type=? and uo.ensembl_id=?';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
441
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
442 return $self->generic_fetch($constraint);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
443 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
444
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
445
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
446
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
447 1;