NAME
Bio::Map::Mappable - An object representing a generic map element that can have multiple locations in several maps.
SYNOPSIS
# a map element in two different positions on the same map$map1 = Bio::Map::SimpleMap->new();$position1 = Bio::Map::Position->new(-map => $map1, -value => 100);$position2 = Bio::Map::Position->new(-map => $map1, -value => 200);$mappable = Bio::Map::Mappable->new(-positions => [$position1, $position2] );# add another position on a different map$map2 = Bio::Map::SimpleMap->new();$position3 = Bio::Map::Position->new(-map => $map2, $value => 50);$mappable->add_position($position3);# get all the places our map element is found, on a particular map of interestforeach $pos ($mappable->get_positions($map1)) {print $pos->value, "\n";}
DESCRIPTION
This object handles the notion of a generic map element. Mappables are entities with one or more positions on one or more maps.
This object is a pure perl implementation of Bio::Map::MappableI. That interface implements some of its own methods so check the docs there for those.
FEEDBACK
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.
[email protected] - General discussionhttp://bioperl.org/wiki/Mailing_lists - About the mailing lists
Support
Please direct usage questions or support issues to the mailing list:
rather than to the module maintainer directly. Many experienced and reponsive experts will be able look at the problem and quickly address it. Please include a thorough description of the problem with code and data examples if at all possible.
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 the web:
https://github.com/bioperl/bioperl-live/issues
AUTHOR - Sendu Bala
Email [email protected]
APPENDIX
The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _
new
Title : newUsage : my $mappable = Bio::Map::Mappable->new();Function: Builds a new Bio::Map::Mappable objectReturns : Bio::Map::MappableArgs : -name => string : name of the mappable element-id => string : id of the mappable element
name
Title : nameUsage : $mappable->name($new_name);my $name = $mappable->name();Function: Get/Set the name for this MappableReturns : A scalar representing the current name of this MappableArgs : none to getstring to set
id
Title : idUsage : my $id = $mappable->id();$mappable->id($new_id);Function: Get/Set the id for this Mappable.Returns : A scalar representing the current id of this MappableArgs : none to getstring to set
in_map
Title : in_mapUsage : if ($mappable->in_map($map)) {...}Function: Tests if this mappable is found on a specific mapReturns : booleanArgs : L<Bio::Map::MapI>
Comparison methods
equals
Title : equalsUsage : if ($mappable->equals($other_mappable)) {...}my @equal_positions = $mappable->equals($other_mappable);Function: Finds the positions in this mappable that are equal to anycomparison positions.Returns : array of L<Bio::Map::PositionI> objectsArgs : arg #1 = L<Bio::Map::MappableI> OR L<Bio::Map::PositionI> to comparethis one to (mandatory)arg #2 = optionally, one or more of the key => value pairs below-map => MapI : a Bio::Map::MapI to only consider positionson the given map-relative => RelativeI : a Bio::Map::RelativeI to calculate in termsof each Position's relative position to thething described by that Relative
less_than
Title : less_thanUsage : if ($mappable->less_than($other_mappable)) {...}my @lesser_positions = $mappable->less_than($other_mappable);Function: Finds the positions in this mappable that are less than allcomparison positions.Returns : array of L<Bio::Map::PositionI> objectsArgs : arg #1 = L<Bio::Map::MappableI> OR L<Bio::Map::PositionI> to comparethis one to (mandatory)arg #2 = optionally, one or more of the key => value pairs below-map => MapI : a Bio::Map::MapI to only consider positionson the given map-relative => RelativeI : a Bio::Map::RelativeI to calculate in termsof each Position's relative position to thething described by that Relative
greater_than
Title : greater_thanUsage : if ($mappable->greater_than($other_mappable)) {...}my @greater_positions = $mappable->greater_than($other_mappable);Function: Finds the positions in this mappable that are greater than allcomparison positions.Returns : array of L<Bio::Map::PositionI> objectsArgs : arg #1 = L<Bio::Map::MappableI> OR L<Bio::Map::PositionI> to comparethis one to (mandatory)arg #2 = optionally, one or more of the key => value pairs below-map => MapI : a Bio::Map::MapI to only consider positionson the given map-relative => RelativeI : a Bio::Map::RelativeI to calculate in termsof each Position's relative position to thething described by that Relative
overlaps
Title : overlapsUsage : if ($mappable->overlaps($other_mappable)) {...}my @overlapping_positions = $mappable->overlaps($other_mappable);Function: Finds the positions in this mappable that overlap with anycomparison positions.Returns : array of L<Bio::Map::PositionI> objectsArgs : arg #1 = L<Bio::Map::MappableI> OR L<Bio::Map::PositionI> to comparethis one to (mandatory)arg #2 = optionally, one or more of the key => value pairs below-map => MapI : a Bio::Map::MapI to only consider positionson the given map-relative => RelativeI : a Bio::Map::RelativeI to calculate in termsof each Position's relative position to thething described by that Relative
contains
Title : containsUsage : if ($mappable->contains($other_mappable)) {...}my @container_positions = $mappable->contains($other_mappable);Function: Finds the positions in this mappable that contain any comparisonpositions.Returns : array of L<Bio::Map::PositionI> objectsArgs : arg #1 = L<Bio::Map::MappableI> OR L<Bio::Map::PositionI> to comparethis one to (mandatory)arg #2 = optionally, one or more of the key => value pairs below-map => MapI : a Bio::Map::MapI to only consider positionson the given map-relative => RelativeI : a Bio::Map::RelativeI to calculate in termsof each Position's relative position to thething described by that Relative
overlapping_groups
Title : overlapping_groupsUsage : my @groups = $mappable->overlapping_groups($other_mappable);my @groups = Bio::Map::Mappable->overlapping_groups(\@mappables);Function: Look at all the positions of all the supplied mappables and groupthem according to overlap.Returns : array of array refs, each ref containing the Bio::Map::PositionIobjects that overlap with each otherArgs : arg #1 = L<Bio::Map::MappableI> OR L<Bio::Map::PositionI> to comparethis one to, or an array ref of such objects (mandatory)arg #2 = optionally, one or more of the key => value pairs below-map => MapI : a Bio::Map::MapI to only consider positionson the given map-relative => RelativeI : a Bio::Map::RelativeI to calculate in termsof each Position's relative position to thething described by that Relative-min_pos_num => int : the minimum number of positions that mustbe in a group before it will be returned[default is 1]-min_mappables_num => int : the minimum number of differentmappables represented by thepositions in a group before itwill be returned [default is 1]-min_mappables_percent => number : as above, but the minimumpercentage of input mappables[default is 0]-min_map_num => int : the minimum number of differentmaps represented by the positionsin a group before it will bereturned [default is 1]-min_map_percent => number : as above, but the minimumpercentage of maps known by theinput mappables [default is 0]-require_self => 1|0 : require that at least one of thecalling object's positions be ineach group [default is 1, has noeffect when the second usage formis used]-required => \@mappables : require that at least one positionfor each mappable supplied in thisarray ref be in each group
disconnected_intersections
Title : disconnected_intersectionsUsage : @positions = $mappable->disconnected_intersections($other_mappable);@positions = Bio::Map::Mappable->disconnected_intersections(\@mappables);Function: Make the positions that are at the intersection of each group ofoverlapping positions, considering all the positions of the suppliedmappables.Returns : new Bio::Map::Mappable who's positions on maps are the calculateddisconnected unionsArgs : arg #1 = L<Bio::Map::MappableI> OR L<Bio::Map::PositionI> to comparethis one to, or an array ref of such objects (mandatory)arg #2 = optionally, one or more of the key => value pairs below-map => MapI : a Bio::Map::MapI to only consider positionson the given map-relative => RelativeI : a Bio::Map::RelativeI to calculate in termsof each Position's relative position to thething described by that Relative-min_pos_num => int : the minimum number of positions that mustbe in a group before the intersection willbe calculated and returned [default is 1]-min_mappables_num => int : the minimum number of differentmappables represented by thepositions in a group before theintersection will be calculatedand returned [default is 1]-min_mappables_percent => number : as above, but the minimumpercentage of input mappables[default is 0]-min_map_num => int : the minimum number of differentmaps represented by the positionsin a group before the intersectionwill be calculated and returned[default is 1]-min_map_percent => number : as above, but the minimumpercentage of maps known by theinput mappables [default is 0]-require_self => 1|0 : require that at least one of thecalling object's positions be ineach group [default is 1, has noeffect when the second usage formis used]-required => \@mappables : require that at least one positionfor each mappable supplied in thisarray ref be in each group
disconnected_unions
Title : disconnected_unionsUsage : my @positions = $mappable->disconnected_unions($other_mappable);my @positions = Bio::Map::Mappable->disconnected_unions(\@mappables);Function: Make the positions that are the union of each group of overlappingpositions, considering all the positions of the supplied mappables.Returns : new Bio::Map::Mappable who's positions on maps are the calculateddisconnected unionsArgs : arg #1 = L<Bio::Map::MappableI> OR L<Bio::Map::PositionI> to comparethis one to, or an array ref of such objects (mandatory)arg #2 = optionally, one or more of the key => value pairs below-map => MapI : a Bio::Map::MapI to only consider positionson the given map-relative => RelativeI : a Bio::Map::RelativeI to calculate in termsof each Position's relative position to thething described by that Relative-min_pos_num => int : the minimum number of positions that mustbe in a group before the union will becalculated and returned [default is 1]-min_mappables_num => int : the minimum number of differentmappables represented by thepositions in a group before theunion will be calculated andreturned [default is 1]-min_mappables_percent => number : as above, but the minimumpercentage of input mappables[default is 0]-min_map_num => int : the minimum number of differentmaps represented by the positionsin a group before the union willbe calculated and returned[default is 1]-min_map_percent => number : as above, but the minimumpercentage of maps known by theinput mappables [default is 0]-require_self => 1|0 : require that at least one of thecalling object's positions be ineach group [default is 1, has noeffect when the second usage formis used]-required => \@mappables : require that at least one positionfor each mappable supplied in thisarray ref be in each group
tuple
Title : tupleUsage : Do Not Use!Function: tuple was supposed to be a private method; this method no longerdoes anythingReturns : warningArgs : noneStatus : deprecated, will be removed in next version
annotation
Title : annotationUsage : $mappable->annotation($an_col);my $an_col = $mappable->annotation();Function: Get the annotation collection (see Bio::AnnotationCollectionI)for this annotatable object.Returns : a Bio::AnnotationCollectionI implementing object, or undefArgs : none to get, ORa Bio::AnnotationCollectionI implementing object to set