annotate variant_effect_predictor/Bio/DB/Universal.pm @ 0:21066c0abaf5 draft

Uploaded
author willmclaren
date Fri, 03 Aug 2012 10:04:48 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
1
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
2 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
3 # BioPerl module for Bio::DB::Universal
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
4 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
5 # Cared for by Ewan Birney <birney@ebi.ac.uk>
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
6 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
7 # Copyright Ewan Birney
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
8 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
9 # You may distribute this module under the same terms as perl itself
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
10
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
11 # POD documentation - main docs before the code
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
12
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
13 =head1 NAME
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
14
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
15 Bio::DB::Universal - Artificial database that delegates to specific databases
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
16
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
17 =head1 SYNOPSIS
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
18
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
19 $uni = Bio::DB::Universal->new();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
20
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
21 # by default connects to web databases. We can also
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
22 # substitute local databases
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
23
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
24 $embl = Bio::Index::EMBL->new( -filename => '/some/index/filename/locally/stored');
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
25 $uni->use_database('embl',$embl);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
26
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
27 # treat it like a normal database. Recognises strings
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
28 # like gb|XXXXXX and embl:YYYYYY
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
29
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
30 $seq1 = $uni->get_Seq_by_id("embl:HSHNRNPA");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
31 $seq2 = $uni->get_Seq_by_acc("gb|A000012");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
32
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
33 # with no separator, tries to guess database. In this case the
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
34 # _ is considered to be indicative of swissprot
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
35 $seq3 = $uni->get_Seq_by_id('ROA1_HUMAN');
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
36
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
37 =head1 DESCRIPTION
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
38
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
39 Artificial database that delegates to specific databases, with a
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
40 "smart" (well, smartish) guessing routine for what the ids. No doubt
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
41 the smart routine can be made smarter.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
42
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
43 The hope is that you can make this database and just throw ids at it -
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
44 for most easy cases it will sort you out. Personally, I would be
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
45 making sure I knew where each id came from and putting it into its own
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
46 database first - but this is a quick and dirty solution.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
47
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
48 By default this connects to web orientated databases, with all the
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
49 reliability and network bandwidth costs this implies. However you can
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
50 subsistute your own local databases - they could be Bio::Index
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
51 databases (DBM file and flat file) or bioperl-db based (MySQL based)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
52 or biocorba-based (whatever you like behind the corba interface).
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
53
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
54 Internally the tags for the databases are
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
55
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
56 genbank - ncbi dna database
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
57 embl - ebi's dna database (these two share accession number space)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
58 swiss - swissprot + sptrembl (EBI's protein database)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
59
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
60 We should extend this for RefSeq and other sequence databases which
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
61 are out there... ;)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
62
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
63 Inspired by Lincoln Stein, written by Ewan Birney.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
64
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
65 =head1 FEEDBACK
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
66
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
67 =head2 Mailing Lists
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
68
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
69 User feedback is an integral part of the evolution of this and other
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
70 Bioperl modules. Send your comments and suggestions preferably to one
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
71 of the Bioperl mailing lists. Your participation is much appreciated.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
72
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
73 bioperl-l@bio.perl.org
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
74
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
75 =head2 Reporting Bugs
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
76
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
77 Report bugs to the Bioperl bug tracking system to help us keep track
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
78 the bugs and their resolution. Bug reports can be submitted via email
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
79 or the web:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
80
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
81 bioperl-bugs@bio.perl.org
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
82 http://bugzilla.bioperl.org/
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
83
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
84 =head1 AUTHOR - Ewan Birney
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
85
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
86 Email birney@ebi.ac.uk
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
87
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
88 Describe contact details here
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
89
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
90 =head1 APPENDIX
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
91
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
92 The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
93
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
94 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
95
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
96
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
97 # Let the code begin...
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
98
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
99
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
100 package Bio::DB::Universal;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
101 use vars qw(@ISA);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
102 use strict;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
103
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
104 # Object preamble - inherits from Bio::Root::Root
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
105
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
106 use Bio::Root::Root;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
107 use Bio::DB::RandomAccessI;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
108
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
109 use Bio::DB::GenBank;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
110 use Bio::DB::SwissProt;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
111 use Bio::DB::EMBL;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
112
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
113
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
114 @ISA = qw(Bio::DB::RandomAccessI Bio::Root::Root);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
115 # new() can be inherited from Bio::Root::Root
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
116
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
117 sub new {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
118 my ($class) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
119
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
120 my $self = {};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
121 bless $self,$class;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
122
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
123 $self->{'db_hash'} = {};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
124
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
125 # default databases
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
126
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
127 $self->use_database('embl',Bio::DB::EMBL->new);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
128 $self->use_database('genbank',Bio::DB::GenBank->new);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
129 $self->use_database('swiss',Bio::DB::GenBank->new);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
130
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
131 return $self;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
132 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
133
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
134
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
135 =head2 get_Seq_by_id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
136
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
137 Title : get_Seq_by_id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
138 Usage :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
139 Function:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
140 Example :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
141 Returns :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
142 Args :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
143
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
144
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
145 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
146
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
147 sub get_Seq_by_id{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
148 my ($self,$str) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
149
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
150 my ($tag,$id) = $self->guess_id($str);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
151
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
152 return $self->{'db_hash'}->{$tag}->get_Seq_by_id($id);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
153 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
154
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
155
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
156 =head2 get_Seq_by_acc
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
157
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
158 Title : get_Seq_by_acc
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
159 Usage :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
160 Function:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
161 Example :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
162 Returns :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
163 Args :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
164
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
165
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
166 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
167
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
168 sub get_Seq_by_acc {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
169 my ($self,$str) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
170
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
171 my ($tag,$id) = $self->guess_id($str);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
172
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
173 return $self->{'db_hash'}->{$tag}->get_Seq_by_acc($id);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
174 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
175
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
176
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
177
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
178 =head2 guess_id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
179
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
180 Title : guess_id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
181 Usage :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
182 Function:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
183 Example :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
184 Returns :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
185 Args :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
186
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
187
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
188 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
189
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
190 sub guess_id{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
191 my ($self,$str) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
192
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
193 if( $str =~ /(\S+)[:|\/;](\w+)/ ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
194 my $tag;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
195 my $db = $1;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
196 my $id = $2;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
197 if( $db =~ /gb/i || $db =~ /genbank/i || $db =~ /ncbi/i ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
198 $tag = 'genbank';
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
199 } elsif ( $db =~ /embl/i || $db =~ /emblbank/ || $db =~ /^em/i ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
200 $tag = 'embl';
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
201 } elsif ( $db =~ /swiss/i || $db =~ /^sw/i || $db =~ /sptr/ ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
202 $tag = 'swiss';
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
203 } else {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
204 # throw for the moment
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
205 $self->throw("Could not guess database type $db from $str");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
206 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
207 return ($tag,$id);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
208
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
209 } else {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
210 my $tag;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
211 # auto-guess from just the id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
212 if( $str =~ /_/ ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
213 $tag = 'swiss';
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
214 } elsif ( $str =~ /^[QPR]\w+\d$/ ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
215 $tag = 'swiss';
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
216 } elsif ( $str =~ /[A-Z]\d+/ ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
217 $tag = 'genbank';
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
218 } else {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
219 # default genbank...
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
220 $tag = 'genbank';
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
221 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
222 return ($tag,$str);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
223 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
224
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
225
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
226 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
227
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
228
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
229 =head2 use_database
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
230
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
231 Title : use_database
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
232 Usage :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
233 Function:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
234 Example :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
235 Returns :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
236 Args :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
237
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
238
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
239 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
240
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
241 sub use_database{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
242 my ($self,$name,$database) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
243
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
244 $self->{'db_hash'}->{$name} = $database;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
245 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
246
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
247