annotate variant_effect_predictor/Bio/DB/InMemoryCache.pm @ 1:d6778b5d8382 draft default tip

Deleted selected files
author willmclaren
date Fri, 03 Aug 2012 10:05:43 -0400
parents 21066c0abaf5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
1 # POD documentation - main docs before the code
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
2 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
3 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
4
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
5 =head1 NAME
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
6
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
7 Bio::DB::InMemoryCache - Abstract interface for a sequence database
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
8
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
9 =head1 SYNOPSIS
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
10
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
11 $cachedb = Bio::DB::InMemoryCache->new( -seqdb => $real_db,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
12 -number => 1000);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
13
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
14 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
15 # get a database object somehow using a concrete class
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
16 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
17
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
18 $seq = $cachedb->get_Seq_by_id('ROA1_HUMAN');
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
19
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
20 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
21 # $seq is a Bio::Seq object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
22 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
23
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
24 =head1 DESCRIPTION
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
25
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
26 This is a memory cache system which saves the objects returned by Bio::DB::RandomAccessI in
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
27 memory to a hard limit of sequences.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
28
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
29 =head1 CONTACT
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
30
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
31 Ewan Birney
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
32
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
33 =head2 Reporting Bugs
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
34
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
35 Report bugs to the Bioperl bug tracking system to help us keep track
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
36 the bugs and their resolution. Bug reports can be submitted via email
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
37 or the web:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
38
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
39 bioperl-bugs@bio.perl.org
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
40 http://bugzilla.bioperl.org/
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
41
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
42 =head1 APPENDIX
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
43
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
44 The rest of the documentation details each of the object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
45 methods. Internal methods are usually preceded with a _
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
46
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
47 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
48
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
49
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
50 # Let the code begin...
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
51
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
52 package Bio::DB::InMemoryCache;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
53
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
54 use Bio::DB::SeqI;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
55
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
56 use vars qw(@ISA);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
57 use strict;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
58
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
59 use Bio::Root::Root;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
60 use Bio::Seq;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
61
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
62 @ISA = qw(Bio::Root::Root Bio::DB::SeqI);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
63
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
64
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
65 sub new {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
66 my ($class,@args) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
67
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
68 my $self = Bio::Root::Root->new();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
69 bless $self,$class;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
70
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
71 my ($seqdb,$number,$agr) = $self->_rearrange([qw(SEQDB NUMBER AGRESSION)],@args);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
72
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
73 if( !defined $seqdb || !ref $seqdb || !$seqdb->isa('Bio::DB::RandomAccessI') ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
74 $self->throw("Must be a randomaccess database not a [$seqdb]");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
75 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
76 if( !defined $number ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
77 $number = 1000;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
78 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
79
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
80 $self->seqdb($seqdb);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
81 $self->number($number);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
82 $self->agr($agr);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
83
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
84 # we consider acc as the primary id here
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
85 $self->{'_cache_number_hash'} = {};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
86 $self->{'_cache_id_hash'} = {};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
87 $self->{'_cache_acc_hash'} = {};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
88 $self->{'_cache_number'} = 1;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
89
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
90 return $self;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
91 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
92
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
93
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
94
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
95 =head2 get_Seq_by_id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
96
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
97 Title : get_Seq_by_id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
98 Usage : $seq = $db->get_Seq_by_id('ROA1_HUMAN')
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
99 Function: Gets a Bio::Seq object by its name
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
100 Returns : a Bio::Seq object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
101 Args : the id (as a string) of a sequence
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
102 Throws : "id does not exist" exception
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
103
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
104
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
105 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
106
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
107 sub get_Seq_by_id{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
108 my ($self,$id) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
109
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
110 if( defined $self->{'_cache_id_hash'}->{$id} ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
111 my $acc = $self->{'_cache_id_hash'}->{$id};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
112 my $seq = $self->{'_cache_acc_hash'}->{$acc};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
113 $self->{'_cache_number_hash'}->{$seq->accession} = $self->{'_cache_number'}++;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
114 return $seq;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
115 } else {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
116 return $self->_load_Seq('id',$id);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
117 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
118 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
119
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
120 =head2 get_Seq_by_acc
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
121
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
122 Title : get_Seq_by_acc
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
123 Usage : $seq = $db->get_Seq_by_acc('X77802');
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
124 Function: Gets a Bio::Seq object by accession number
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
125 Returns : A Bio::Seq object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
126 Args : accession number (as a string)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
127 Throws : "acc does not exist" exception
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
128
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
129
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
130 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
131
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
132 sub get_Seq_by_acc{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
133 my ($self,$acc) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
134
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
135 #print STDERR "In cache get for $acc\n";
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
136 if( defined $self->{'_cache_acc_hash'}->{$acc} ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
137 #print STDERR "Returning cached $acc\n";
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
138 my $seq = $self->{'_cache_acc_hash'}->{$acc};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
139 $self->{'_cache_number_hash'}->{$seq->accession} = $self->{'_cache_number'}++;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
140 return $seq;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
141 } else {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
142 return $self->_load_Seq('acc',$acc);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
143 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
144 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
145
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
146
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
147
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
148 sub number {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
149 my ($self, $number) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
150 if ($number) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
151 $self->{'number'} = $number;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
152 } else {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
153 return $self->{'number'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
154 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
155 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
156
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
157 sub seqdb {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
158 my ($self, $seqdb) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
159 if ($seqdb) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
160 $self->{'seqdb'} = $seqdb;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
161 } else {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
162 return $self->{'seqdb'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
163 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
164 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
165
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
166 sub agr {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
167 my ($self, $agr) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
168 if ($agr) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
169 $self->{'agr'} = $agr;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
170 } else {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
171 return $self->{'agr'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
172 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
173 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
174
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
175
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
176 sub _load_Seq {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
177 my ($self,$type,$id) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
178
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
179 my $seq;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
180
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
181 if( $type eq 'id') {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
182 $seq = $self->seqdb->get_Seq_by_id($id);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
183 }elsif ( $type eq 'acc' ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
184 $seq = $self->seqdb->get_Seq_by_acc($id);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
185 } else {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
186 $self->throw("Bad internal error. Don't understand $type");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
187 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
188
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
189 if( $self->agr() ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
190 #print STDERR "Pulling out into memory\n";
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
191 my $newseq = Bio::Seq->new( -display_id => $seq->display_id,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
192 -accession_number => $seq->accession,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
193 -seq => $seq->seq,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
194 -desc => $seq->desc,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
195 );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
196 if( $self->agr() == 1 ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
197 foreach my $sf ( $seq->top_SeqFeatures() ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
198 $newseq->add_SeqFeature($sf);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
199 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
200
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
201 $newseq->annotation($seq->annotation);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
202 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
203 $seq = $newseq;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
204 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
205
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
206 if( $self->_number_free < 1 ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
207 # remove the latest thing from the hash
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
208 my @accs = sort { $self->{'_cache_number_hash'}->{$a} <=> $self->{'_cache_number_hash'}->{$b} } keys %{$self->{'_cache_number_hash'}};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
209
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
210 my $acc = shift @accs;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
211 # remove this guy
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
212 my $seq = $self->{'_cache_acc_hash'}->{$acc};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
213
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
214 delete $self->{'_cache_number_hash'}->{$acc};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
215 delete $self->{'_cache_id_hash'}->{$seq->id};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
216 delete $self->{'_cache_acc_hash'}->{$acc};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
217 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
218
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
219 # up the number, register this sequence into the hash.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
220 $self->{'_cache_id_hash'}->{$seq->id} = $seq->accession;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
221 $self->{'_cache_acc_hash'}->{$seq->accession} = $seq;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
222 $self->{'_cache_number_hash'}->{$seq->accession} = $self->{'_cache_number'}++;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
223
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
224 return $seq;
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 sub _number_free {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
229 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
230
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
231 return $self->number - scalar(keys %{$self->{'_cache_number_hash'}});
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
232 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
233
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
234
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
235
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
236
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
237 =head2 get_Seq_by_version
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
238
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
239 Title : get_Seq_by_version
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
240 Usage : $seq = $db->get_Seq_by_version('X77802.1');
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
241 Function: Gets a Bio::Seq object by sequence version
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
242 Returns : A Bio::Seq object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
243 Args : accession.version (as a string)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
244 Throws : "acc.version does not exist" exception
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
245
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
246 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
247
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
248
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
249 sub get_Seq_by_version{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
250 my ($self,@args) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
251 $self->throw("Not implemented it");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
252 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
253
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
254
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
255
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
256 ## End of Package
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
257
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
258 1;