Mercurial > repos > mahtabm > ensemb_rep_gvl
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;