Bio::MapIO mapmaker
SummaryIncluded librariesPackage variablesSynopsisDescriptionGeneral documentationMethods
Toolbar
WebCvs
Summary
Bio::MapIO::mapmaker - A Mapmaker Map reader
Package variables
No package variables defined.
Included modules
Bio::Map::LinkagePosition
Bio::Map::Marker
Bio::Map::SimpleMap
Inherit
Bio::MapIO
Synopsis
# do not use this object directly it is accessed through the Bio::MapIO system
    use Bio::MapIO;
my $mapio = Bio::MapIO->new(-format => "mapmaker",
-file => "mapfile.map");
while ( my $map = $mapio->next_map ) { # get each map
foreach my $marker ( $map->each_element ) {
# loop through the markers associated with the map
}
}
Description
This object contains code for parsing and processing Mapmaker output
and creating Bio::Map::MapI objects from it.
Methods
next_mapDescriptionCode
write_mapDescriptionCode
Methods description
next_mapcode    nextTop
 Title   : next_map
Usage : my $map = $factory->next_map;
Function: Get one or more map objects from the Mapmaker input
Returns : Bio::Map::MapI
Args : none
See Bio::Map::MapI
write_mapcodeprevnextTop
 Title   : write_map
Usage : $factory->write_map($map);
Function: Write a map out through the factory
Returns : none
Args : Bio::Map::MapI
Methods code
next_mapdescriptionprevnextTop
sub next_map {
   my ($self) = @_;
   my $map = Bio::Map::SimpleMap->new(-name  => '',
												  -units => 'cM',
												  -type  => 'Genetic');

	# Mapmaker input can be free-form, like the result of a copy-paste
# from a terminal, with no particular format before or after the
# map data. The $in_map variable is a flag that's set to 1 when
# we're reading map data lines and set back to 0 when we're finished.
my ($in_map,$runningDistance); while ( defined ($_ = $self->_readline()) ) { if ( /^\s+Markers\s+Distance/ ) { $in_map = 1; next; } next unless $in_map; s/ +/\t/; my ($number,$name,$distance) = split; $runningDistance += $distance unless ($distance =~ /-+/); $runningDistance = '0.0' if ($runningDistance == 0 || $distance =~ /-+/); my $pos = Bio::Map::LinkagePosition->new(-order => $number, -map => $map, -value => $runningDistance ); my $marker = Bio::Map::Marker->new(-name => $name, -position => $pos ); if ($distance =~ /-+/) { # last marker
$in_map = 0; return $map; } }
}
write_mapdescriptionprevnextTop
sub write_map {
   my ($self,@args) = @_;
   $self->throw_not_implemented();
}

1;
}
General documentation
FEEDBACKTop
Mailing ListsTop
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/wiki/Mailing_lists - About the mailing lists
Support Top
Please direct usage questions or support issues to the mailing list:
bioperl-l@bioperl.org
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 BugsTop
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://redmine.open-bio.org/projects/bioperl/
AUTHOR - Jason StajichTop
Email jason@bioperl.org
APPENDIXTop
The rest of the documentation details each of the object methods.
Internal methods are usually preceded with a _