diff variant_effect_predictor/Bio/IdCollectionI.pm @ 0:2bc9b66ada89 draft default tip

Uploaded
author mahtabm
date Thu, 11 Apr 2013 06:29:17 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/variant_effect_predictor/Bio/IdCollectionI.pm	Thu Apr 11 06:29:17 2013 -0400
@@ -0,0 +1,105 @@
+# $Id: IdCollectionI.pm,v 1.2 2002/10/22 07:38:24 lapp Exp $
+
+#
+# This module is licensed under the same terms as Perl itself. You use,
+# modify, and redistribute it under the terms of the Perl Artistic License.
+#
+
+=head1 NAME
+
+Bio::IdcollectionI - interface for objects with multiple identifiers
+
+=head1 SYNOPSIS
+
+
+    # to test this is an identifiable collection object
+
+    $obj->isa("Bio::IdCollectionI") ||
+      $obj->throw("$obj does not implement the Bio::IdCollectionI interface");
+
+    # accessors
+    @authorities = $obj->id_authorities();
+    @ids         = $obj->ids();
+    $id          = $obj->ids($authority);
+
+=head1 DESCRIPTION
+
+This interface describes methods expected on objects that have
+multiple identifiers, each of which is controlled by a different
+authority.
+
+=head1 FEEDBACK
+
+=head2 Mailing Lists
+
+User feedback is an integral part of the evolution of this and other
+Bioperl modules. Send your comments and suggestions preferably to one
+of the Bioperl mailing lists.  Your participation is much appreciated.
+
+  bioperl-l@bioperl.org                       - General discussion
+  http://bio.perl.org/MailList.html           - About the mailing lists
+
+=head2 Reporting Bugs
+
+Report bugs to the Bioperl bug tracking system to help us keep track
+the bugs and their resolution.  Bug reports can be submitted via email
+or the web:
+
+  bioperl-bugs@bio.perl.org
+  http://bugzilla.bioperl.org/
+
+=head1 AUTHOR - Lincoln Stein
+
+Email lstein@cshl.org
+
+=cut
+
+package Bio::IdCollectionI;
+use vars qw(@ISA );
+use strict;
+use Bio::Root::RootI;
+
+
+@ISA = qw(Bio::Root::RootI);
+
+=head1 Implementation Specific Functions
+
+These functions are the ones that a specific implementation must
+define.
+
+=head2 id_authorities
+
+ Title   : id_authorities
+ Usage   : @array    = $obj->id_authorities()
+ Function: Return the authorities which have names for this object.
+           The authorities can then be used to select ids.
+
+ Returns : An array
+ Status  : Virtual
+
+=cut
+
+sub id_authorities {
+   my ($self) = @_;
+   $self->throw_not_implemented();
+}
+
+=head2 ids
+
+ Title   : ids
+ Usage   : @ids    = $obj->ids([$authority1,$authority2...])
+ Function: return a list of Bio::IdentifiableI objects, optionally
+           filtered by the list of authorities.
+
+ Returns : A list of Bio::IdentifiableI objects.
+ Status  : Virtual
+
+=cut
+
+sub ids {
+   my ($self) = @_;
+   my @authorities = @_;
+   $self->throw_not_implemented();
+}
+
+1;