Mercurial > repos > mahtabm > ensembl
diff variant_effect_predictor/Bio/Map/MarkerI.pm @ 0:1f6dce3d34e0
Uploaded
author | mahtabm |
---|---|
date | Thu, 11 Apr 2013 02:01:53 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/variant_effect_predictor/Bio/Map/MarkerI.pm Thu Apr 11 02:01:53 2013 -0400 @@ -0,0 +1,256 @@ +# $Id: MarkerI.pm,v 1.9 2002/10/22 07:45:15 lapp Exp $ +# +# BioPerl module for Bio::Map::MarkerI +# +# Cared for by Jason Stajich <jason@bioperl.org> +# +# Copyright Jason Stajich +# +# You may distribute this module under the same terms as perl itself + +# POD documentation - main docs before the code + +=head1 NAME + +Bio::Map::MarkerI - Interface for basic marker functionality + +=head1 SYNOPSIS + +Give standard usage here + +=head1 DESCRIPTION + +Describe the interface here + +=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 +the Bioperl mailing list. Your participation is much appreciated. + + bioperl-l@bioperl.org - General discussion + http://bioperl.org/MailList.shtml - About the mailing lists + +=head2 Reporting Bugs + +Report bugs to the Bioperl bug tracking system to help us keep track +of the bugs and their resolution. Bug reports can be submitted via +email or the web: + + bioperl-bugs@bioperl.org + http://bugzilla.bioperl.org/ + +=head1 AUTHOR - Jason Stajich + +Email jason@bioperl.org + +Describe contact details here + +=head1 CONTRIBUTORS + +Heikki Lehvaslaiho heikki@ebi.ac.uk +Lincoln Stein lstein@cshl.org +Jason Stajich jason@bioperl.org +Chad Matsalla bioinformatics1@dieselwurks.com + +=head1 APPENDIX + +The rest of the documentation details each of the object methods. +Internal methods are usually preceded with a _ + +=cut + + +# Let the code begin... + + +package Bio::Map::MarkerI; +use vars qw(@ISA); +use strict; +use Bio::Map::MappableI; + +@ISA = qw(Bio::Map::MappableI); + +=head2 name($new_name) + + Title : name($new_name) + Usage : my $name = $o_usat->name($new_name) _or_ + my $name = $o_usat->name() + Function: Get/Set the name for this Marker + Returns : A scalar representing the current name of this Marker + Args : If provided, the current name of this Marker + will be set to $new_name. + +=cut + +sub name { + my ($self) = @_; + $self->throw_not_implemented(); +} + +=head2 add_position + + Title : add_position + Usage : $position->add_position($map,'100') + Function: Add a numeric or string position to the PositionI container + Returns : none + Args : Map - Reference to Bio::Map::MapI + String or Numeric coding for a position on a map + +=cut + +sub add_position{ + my ($self,$map,$value) = @_; + $self->throw_not_implemented(); +} + + +=head2 each_position + + Title : positions + Usage : my @positions = $position->each_position_value('mapname'); + Function: Retrieve a list of positions coded as strings or ints + Returns : Array of position values + Args : none + +=cut + +sub each_position { + my ($self,$mapname) = @_; + $self->throw_not_implemented(); +} + +=head2 purge_positions + + Title : purge_positions + Usage : $position->purge_positions + Function: Remove all the position values stored for a Marker + Returns : none + Args : [optional] only purge values for a given map + +=cut + +sub purge_position_values{ + my ($self, $map) = @_; + $self->throw_not_implemented(); +} + +=head2 known_maps + + Title : known_maps + Usage : my @maps = $marker->known_maps + Function: Returns the list of maps that this position has values for + Returns : list of Bio::Map::MapI unique ids + Args : none + +=cut + +sub known_maps{ + my ($self) = @_; + $self->throw_not_implemented(); +} + +=head2 in_map + + Title : in_map + Usage : if ( $position->in_map($map) ) {} + Function: Tests if a position has values in a specific map + Returns : boolean + Args : a map unique id OR Bio::Map::MapI + + +=cut + +sub in_map{ + my ($self,@args) = @_; + $self->throw_not_implemented(); +} + +=head2 get_position_object + + Title : get_position_class + Usage : my $pos = $marker->get_position_object(); + Function: To get an object of the default Position class + for this Marker. Subclasses should redefine this method. + The Position needs to be L<Bio::Map::PositionI>. + Returns : L<Bio::Map::PositionI> + Args : none + +=cut + +sub get_position_object { + my ($self) = @_; + $self->throw_not_implemented(); +} + + +=head2 tuple + + Title : tuple + Usage : ($me, $you) = $self->_tuple($compare) + Function: Utility method to extract numbers and test for missing values. + Makes writing subsequent tests easier. + Returns : a tuple of values or ranges + Args : Bio::Map::MappableI or Bio::Map::PositionI + +=cut + +sub tuple { + my ($self,@args) = @_; + $self->throw_not_implemented(); +} + + +=head2 Bio::Map::MappableI methods + +=cut + + +=head2 position + + Title : position + Usage : my position_string = $position->position('mapname'); + Function: Get/Set method for single value positions. + Gives a simplified interface when only one map and + one position per marker is used. + Returns : a position value + Args : optional: + Map - Reference to Bio::Map::MapI + String or Numeric coding for a position on a map + +=cut + +sub position{ + my ($self,$map, $value) = @_; + $self->throw_not_implemented(); +} + +=head2 equals + + Title : equals + Usage : if( $mappable->equals($mapable2)) ... + Function: Test if a position is equal to another position + Returns : boolean + Args : Bio::Map::MappableI + +=head2 less_than + + Title : less_than + Usage : if( $mappable->less_than($m2) ) ... + Function: Tests if a position is less than another position + Returns : boolean + Args : Bio::Map::MappableI + +=head2 greater_than + + Title : greater_than + Usage : if( $mappable->greater_than($m2) ) ... + Function: Tests if position is greater than another position + Returns : boolean + Args : Bio::Map::MappableI + +=cut + +1;