NAME
Bio::Map::CytoPosition - Marker class with cytogenetic band storing attributes
SYNOPSIS
$m1 = Bio::Map::CytoPosition->new ( '-id' => 'A1','-value' => '2q1-3');$m2 = Bio::Map::CytoPosition->new ( '-id' => 'A2','-value' => '2q2');if ($m1->cytorange->overlaps($m2->cytorange)) {print "Makers overlap\n";}
DESCRIPTION
CytoPosition is marker (Bio::Map::MarkerI compliant) with a location in a cytogenetic map. See Bio::Map::MarkerI for more information.
Cytogenetic locations are names of bands visible in stained mitotic eucaryotic chromosomes. The naming follows strict rules which are consistent at least in higher vertebates, e.g. mammals. The chromosome name preceds the band names.
The shorter arm of the chromosome is called 'p' ('petit') and usually drawn pointing up. The lower arm is called 'q' ('queue'). The bands are named from the region separating these, a centromere (cen), towards the tips or telomeric regions (ter) counting from 1 upwards. Depending of the resolution used the bands are identified with one or more digit. The first digit determines the major band and subsequent digits sub bands: p1 band can be divided into subbands p11, p12 and 13 and p11 can furter be divided into subbands p11.1 and p11.2. The dot after second digit makes it easier to read the values. A region between ands is given from the centromere outwards towards the telomere (e.g. 2p2-5 or 3p21-35) or from a band in the p arm to a band in the q arm.
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 lists 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 the bugs and their resolution. Bug reports can be submitted via the web:
https://github.com/bioperl/bioperl-live/issues
AUTHOR - Heikki Lehvaslaiho
Email: heikki-at-bioperl-dot-org
CONTRIBUTORS
Sendu Bala [email protected]
APPENDIX
The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _
cytorange
Title : cytorangeUsage : my $range = $obj->cytorange();Function:Converts cytogenetic location set by value method intoan integer range. The chromosome number determines the"millions" in the values. Human X and Y chromosomesymbols are represented by values 100 and 101.The localization within chromosomes are converted intovalues between the range of 0 and 200,000:pter cen qter|------------------------|-------------------------|0 100,000 200,000The values between -100,000 through 0 for centromere to100,000 would have reflected the band numbering better butuse of positive integers was chosen since thetransformation is very easy. These values are not metric.Each band defines a range in a chromosome. A band stringis converted into a range by padding it with lower and andhigher end digits (for q arm: '0' and '9') to the lengthof five. The arm and chromosome values are added to these:e.g. 21000 & 21999 (band 21) + 100,000 (q arm) + 2,000,000(chromosome 2) => 2q21 : 2,121,000 .. 2,121,999. Note thatthis notation breaks down if there is a band or a subbandusing digit 9 in its name! This is not the case in humankaryotype.The full algorithm used for bands:if arm is 'q' thenpad char for start is '0', for end '9'range is chromosome + 100,000 + padded range start or endelsif arm is 'p' thenpad char for start is '9', for end '0'range is chromosome + 100,000 - padded range start or endReturns : Bio::Range object or undefArgs : none
range2value
Title : range2valueUsage : my $value = $obj->range2value($range);Function: Sets and returns the value string based on start and end values ofthe Bio::Range object passes as an argument.Returns : string or falseArgs : Bio::Range object
value
Title : valueUsage : my $pos = $position->value;Function: Get/Set the value for this positionReturns : scalar, valueArgs : none to get, OR scalar to set
numeric
Title : numericUsage : my $num = $position->numeric;Function: Read-only method that is guarantied to return a numericrepresentation of the start of this position.Returns : int (the start of the range)Args : optional Bio::RangeI object
chr
Title : chrUsage : my $mychr = $position->chr();Function: Get/Set method for the chromosome string of the location.Returns : chromosome valueArgs : none to get, OR scalar to set