annotate variant_effect_predictor/Bio/IdCollectionI.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 # $Id: IdCollectionI.pm,v 1.2 2002/10/22 07:38:24 lapp Exp $
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
2
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
3 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
4 # This module is licensed under the same terms as Perl itself. You use,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
5 # modify, and redistribute it under the terms of the Perl Artistic License.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
6 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
7
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
8 =head1 NAME
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
9
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
10 Bio::IdcollectionI - interface for objects with multiple identifiers
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
11
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
12 =head1 SYNOPSIS
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
13
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
14
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
15 # to test this is an identifiable collection object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
16
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
17 $obj->isa("Bio::IdCollectionI") ||
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
18 $obj->throw("$obj does not implement the Bio::IdCollectionI interface");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
19
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
20 # accessors
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
21 @authorities = $obj->id_authorities();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
22 @ids = $obj->ids();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
23 $id = $obj->ids($authority);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
24
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
25 =head1 DESCRIPTION
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
26
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
27 This interface describes methods expected on objects that have
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
28 multiple identifiers, each of which is controlled by a different
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
29 authority.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
30
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
31 =head1 FEEDBACK
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
32
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
33 =head2 Mailing Lists
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
34
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
35 User feedback is an integral part of the evolution of this and other
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
36 Bioperl modules. Send your comments and suggestions preferably to one
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
37 of the Bioperl mailing lists. Your participation is much appreciated.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
38
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
39 bioperl-l@bioperl.org - General discussion
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
40 http://bio.perl.org/MailList.html - About the mailing lists
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
41
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
42 =head2 Reporting Bugs
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
43
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
44 Report bugs to the Bioperl bug tracking system to help us keep track
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
45 the bugs and their resolution. Bug reports can be submitted via email
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
46 or the web:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
47
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
48 bioperl-bugs@bio.perl.org
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
49 http://bugzilla.bioperl.org/
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
50
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
51 =head1 AUTHOR - Lincoln Stein
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
52
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
53 Email lstein@cshl.org
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
54
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
55 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
56
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
57 package Bio::IdCollectionI;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
58 use vars qw(@ISA );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
59 use strict;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
60 use Bio::Root::RootI;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
61
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
62
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
63 @ISA = qw(Bio::Root::RootI);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
64
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
65 =head1 Implementation Specific Functions
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
66
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
67 These functions are the ones that a specific implementation must
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
68 define.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
69
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
70 =head2 id_authorities
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
71
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
72 Title : id_authorities
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
73 Usage : @array = $obj->id_authorities()
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
74 Function: Return the authorities which have names for this object.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
75 The authorities can then be used to select ids.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
76
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
77 Returns : An array
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
78 Status : Virtual
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
79
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
80 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
81
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
82 sub id_authorities {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
83 my ($self) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
84 $self->throw_not_implemented();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
85 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
86
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
87 =head2 ids
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
88
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
89 Title : ids
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
90 Usage : @ids = $obj->ids([$authority1,$authority2...])
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
91 Function: return a list of Bio::IdentifiableI objects, optionally
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
92 filtered by the list of authorities.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
93
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
94 Returns : A list of Bio::IdentifiableI objects.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
95 Status : Virtual
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
96
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
97 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
98
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
99 sub ids {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
100 my ($self) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
101 my @authorities = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
102 $self->throw_not_implemented();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
103 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
104
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
105 1;