annotate variant_effect_predictor/Bio/EnsEMBL/DBSQL/RepeatConsensusAdaptor.pm @ 3:d30fa12e4cc5 default tip

Merge heads 2:a5976b2dce6f and 1:09613ce8151e which were created as a result of a recently fixed bug.
author devteam <devteam@galaxyproject.org>
date Mon, 13 Jan 2014 10:38:30 -0500
parents 1f6dce3d34e0
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::RepeatConsensusAdaptor
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 $rca = $database_adaptor->get_RepeatConsensusAdaptor();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29 $repeat_consensus = $rca->fetch_by_dbID(132);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30 $repeat_consensus = $rca->fetch_by_name_class( 'AluSx', 'SINE/Alu' );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32 $rca->store( $rc1, $rc2, $rc3 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36 This is an adaptor for the retrieval and storage of RepeatConsensus
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37 objects.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39 =head1 METHODS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43 package Bio::EnsEMBL::DBSQL::RepeatConsensusAdaptor;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46 use warnings;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47 use Bio::EnsEMBL::DBSQL::BaseAdaptor;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48 use Bio::EnsEMBL::RepeatConsensus;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49 use Bio::EnsEMBL::Utils::Exception qw(throw deprecate);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51 use base qw(Bio::EnsEMBL::DBSQL::BaseAdaptor);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53 =head2 fetch_all_repeat_types
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55 Example : my $types = $rca->fetch_all_repeat_types();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56 Description : Returns the distinct repeat types available from a database
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57 Returntype : Array
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58 Exceptions : -
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63 sub fetch_all_repeat_types {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64 my ($self) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65 return $self->dbc()->sql_helper()->execute_simple(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66 -SQL => 'SELECT DISTINCT repeat_type FROM repeat_consensus');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70 =head2 fetch_by_dbID
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72 Arg [1] : int $db_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73 The database identifier for the RepeatConsensus to obtain
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74 Example : $repeat_consensus = $repeat_consensus_adaptor->fetch_by_dbID(4);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75 Description: Obtains a RepeatConsensus object from the database via its
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76 primary key.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77 Returntype : Bio::EnsEMBL::RepeatConsensus
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79 Caller : general, Bio::EnsEMBL::RepeatFeatureAdaptor
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84 sub fetch_by_dbID {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85 my( $self, $db_id ) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87 my ($rc) = @{$self->_generic_fetch("repeat_consensus_id = $db_id")};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89 return $rc;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94 =head2 fetch_by_name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96 Arg [1] : string $name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97 the name of the repeat consensus to obtain
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98 Example : $rc = $repeat_consensus_adaptor->fetch_by_name('AluSx');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99 Description: Obtains a repeat consensus from the database via its name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100 Returntype : Bio::EnsEMBL::RepeatConsensus
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107 sub fetch_by_name {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108 my( $self, $name ) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110 my ($rc) = @{$self->_generic_fetch("repeat_name = '$name'")};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112 return $rc;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116 =head2 fetch_by_name_class
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118 Arg [1] : string $name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119 the name of the repeat consensus to obtain
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120 Arg [2] : string $class
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121 the class of the repeat consensus to obtain
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122 Example : $rc = $repeat_consensus_adaptor->
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123 fetch_by_name_class('AluSx', 'SINE/Alu');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124 Description: Obtains a repeat consensus from the database
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125 via its name and class
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126 Returntype : Bio::EnsEMBL::RepeatConsensus
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133 sub fetch_by_name_class {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134 my( $self, $name, $class ) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137 my ($rc) = @{$self->_generic_fetch(qq{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138 repeat_name = '$name'
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139 AND repeat_class = '$class'
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140 })};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142 return $rc;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146 =head2 fetch_all_by_class_seq
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148 Arg [1] : string $class
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149 the class of the repeat consensus to obtain
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150 Arg [2] : string $seq
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151 the sequence of the repeat consensus to obtain
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152 Example : $rc = $repeat_consensus_adaptor->
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153 fetch_all_by_class_seq('trf', 'ATGGTGTCA');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154 Description: Obtains a repeat consensus from the database
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155 via its class and sequence
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156 Returntype : listREF of Bio::EnsEMBL::RepeatConsensus
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163 sub fetch_all_by_class_seq {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164 my( $self, $class, $seq ) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166 return $self->_generic_fetch(qq{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167 repeat_class = '$class'
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168 AND repeat_consensus = '$seq'
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
169 });
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
170 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
171
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
172
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
173 sub fetch_by_class_seq {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
174 deprecate('Use fetch_all_by_class_seq instead');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
175 fetch_all_by_class_seq(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
176 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
177
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
178
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
179 =head2 _generic_fetch
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
180
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
181 Arg [1] : string $where_clause
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
182 Example : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
183 Description: PRIVATE used to create RepeatConsensus features from an
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
184 SQL constraint
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
185 Returntype : listref of Bio::EnsEMBL::RepeatConsensus objects
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
186 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
187 Caller : internal
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
188 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
189
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
190 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
191
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
192 sub _generic_fetch {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
193 my( $self, $where_clause ) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
194
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
195 my( $repeat_consensus_id, $repeat_name, $repeat_class,$repeat_length,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
196 $repeat_consensus, $repeat_type );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
197
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
198 my $sth = $self->prepare(qq{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
199 SELECT repeat_consensus_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
200 , repeat_name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
201 , repeat_class
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
202 , repeat_type
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
203 , repeat_consensus
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
204 FROM repeat_consensus
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
205 WHERE }. $where_clause);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
206
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
207 $sth->execute;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
208 $sth->bind_columns(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
209 \$repeat_consensus_id,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
210 \$repeat_name,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
211 \$repeat_class,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
212 \$repeat_type,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
213 \$repeat_consensus
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
214 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
215
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
216
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
217 my @consensi;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
218 while ($sth->fetch) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
219 if ($repeat_consensus =~ /^(\d+)\(N\)$/) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
220 $repeat_length = $1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
221 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
222 $repeat_length = CORE::length($repeat_consensus);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
223 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
224
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
225 push @consensi, Bio::EnsEMBL::RepeatConsensus->new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
226 (-DBID => $repeat_consensus_id,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
227 -NAME => $repeat_name,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
228 -REPEAT_CLASS => $repeat_class,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
229 -REPEAT_TYPE => $repeat_type,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
230 -LENGTH => $repeat_length,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
231 -ADAPTOR => $self,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
232 -REPEAT_CONSENSUS => $repeat_consensus);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
233 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
234 return \@consensi;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
235 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
236
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
237
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
238 =head2 store
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
239
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
240 Arg [1] : list of Bio::EnsEMBL::RepeatConsensus @consensi
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
241 Example : $repeat_consensus_adaptor->store(@consensi);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
242 Description: stores a list of RepeatConsensus objects in the database
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
243 Returntype : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
244 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
245 Caller : ?
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
246 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
247
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
248 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
249
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
250 sub store {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
251 my( $self, @consensi ) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
252
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
253 my $sth = $self->prepare(q{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
254 INSERT into repeat_consensus( repeat_consensus_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
255 , repeat_name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
256 , repeat_class
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
257 , repeat_type
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
258 , repeat_consensus )
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
259 VALUES (NULL, ?,?,?,?)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
260 });
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
261
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
262 foreach my $rc (@consensi) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
263 my $name = $rc->name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
264 or throw("name not set");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
265 my $class = $rc->repeat_class
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
266 or throw("repeat_class not set");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
267 my $type = $rc->repeat_type();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
268 $type = "" unless defined $type;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
269 my $seq = $rc->repeat_consensus
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
270 or throw("repeat_consensus not set");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
271
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
272 $sth->bind_param(1,$name,SQL_VARCHAR);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
273 $sth->bind_param(2,$class,SQL_VARCHAR);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
274 $sth->bind_param(3,$type,SQL_VARCHAR);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
275 $sth->bind_param(4,$seq,SQL_LONGVARCHAR);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
276
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
277 $sth->execute();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
278
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
279 my $db_id = $sth->{'mysql_insertid'}
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
280 or throw("Didn't get an insertid from the INSERT statement");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
281
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
282 $rc->dbID($db_id);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
283 $rc->adaptor($self);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
284 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
285 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
286
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
287 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
288
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
289 __END__
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
290