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