Bio::Map
Position
Toolbar
Summary
Bio::Map::Position - A single position of a Marker in a Map
Package variables
No package variables defined.
Included modules
Inherit
Synopsis
use Bio::Map::Position;
my $position = new Bio::Map::Position(-map => $map,
-marker => $marker
-value => 100
);
Description
This object is an implementation of the PositionI interface that
handles the specific values of a position. This allows an element
(e.g. Marker) to have multiple positions within a map and still be
treated as a single entity.
This does not directly handle the concept of a relative map in which
no known exact positions exist but markers are just ordered relative
to one another - in that case arbitrary values must be assigned for
position values.
No units are assumed here - units are handled by context of which Map
a position is placed in or the subclass of this Position.
Methods
Methods description
Title : map Usage : my $id = map->$map; Function: Get/Set the map the position is in. Returns : Bio::Map::MapI Args : [optional] new Bio::Map::MapI |
Title : new Usage : my $obj = new Bio::Map::Position(); Function: Builds a new Bio::Map::Position object Returns : Bio::Map::Position Args : -map a <Bio::Map::MapI> object -marker a <Bio::Map::MarkerI> object -value string or number |
Title : numeric Usage : my $num = $position->numeric; Function: Read-only method that is guarantied to return a numeric representation for this position. Returns : numeric (int or real) Args : none |
Title : value Usage : my $pos = $position->value; Function: Get/Set the value for this postion Returns : scalar, value Args : [optional] new value to set |
Methods code
sub map
{ my ($self,$map) = @_;
if( defined $map ) {
$self->throw("This is [$map], not a Bio::Map::MapI object")
unless $map->isa('Bio::Map::MapI');
$self->{'_map'} = $map;
}
return $self->{'_map'}; } |
sub marker
{ my ($self,$marker) = @_;
if( defined $marker ) {
$self->thow("This is [$marker], not a Bio::Map::MarkerI object")
unless $marker->isa('Bio::Map::MarkerI');
$self->{'_marker'} = $marker;
}
return $self->{'_marker'}; } |
sub new
{ my($class,@args) = @_;
my $self = $class->SUPER::new(@args);
my ($map, $marker, $value) =
$self->_rearrange([qw( MAP
MARKER
VALUE
)], @args);
$map && $self->map($map);
$marker && $self->marker($marker);
$value && $self->value($value);
return $self; } |
sub numeric
{ my ($self) = @_;
my $num = $self->{'_value'} || 0;
$self->throw("This value [$num] is not numeric!")
unless $num && $num =~ /^[+-]?[\d.]+$/;
return $num;
}
1; } |
sub value
{ my ($self,$value) = @_;
if( defined $value ) {
$self->{'_value'} = $value;
}
return $self->{'_value'}; } |
General documentation
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
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/
AUTHOR - Jason Stajich | Top |
The rest of the documentation details each of the object methods.
Internal methods are usually preceded with a _