Provided by: libbio-perl-perl_1.6.924-3_all bug

SYNOPSIS

         use Bio::Location::Simple;
         use Bio::Coordinate::Pair;

         my $match1 = Bio::Location::Simple->new
             (-seq_id => 'propeptide', -start => 21, -end => 40, -strand=>1 );
         my $match2 = Bio::Location::Simple->new
             (-seq_id => 'peptide', -start => 1, -end => 20, -strand=>1 );
         my $pair = Bio::Coordinate::Pair->new(-in => $match1,
                                               -out => $match2
                                               );
         # location to match
         $pos = Bio::Location::Simple->new
             (-start => 25, -end => 25, -strand=> -1 );

         # results are in a Bio::Coordinate::Result
         # they can be Matches and Gaps; are  Bio::LocationIs
         $res = $pair->map($pos);
         $res->isa('Bio::Coordinate::Result');
         $res->each_match == 1;
         $res->each_gap == 0;
         $res->each_Location == 1;
         $res->match->start == 5;
         $res->match->end == 5;
         $res->match->strand == -1;
         $res->match->seq_id eq 'peptide';

DESCRIPTION

       This class represents a one continuous match between two coordinate systems represented by
       Bio::Location::Simple objects. The relationship is directed and reversible. It implements
       methods to ensure internal consistency, and map continuous and split locations from one
       coordinate system to another.

       The map() method returns Bio::Coordinate::Results with Bio::Coordinate::Result::Gaps. The
       calling code have to deal (process or ignore) them.

   new
   in
        Title   : in
        Usage   : $obj->in('peptide');
        Function: Set and read the input coordinate system.
        Example :
        Returns : value of input system
        Args    : new value (optional), Bio::LocationI

   out
        Title   : out
        Usage   : $obj->out('peptide');
        Function: Set and read the output coordinate system.
        Example :
        Returns : value of output system
        Args    : new value (optional), Bio::LocationI

   swap
        Title   : swap
        Usage   : $obj->swap;
        Function: Swap the direction of mapping; input <-> output
        Example :
        Returns : 1
        Args    :

   strand
        Title   : strand
        Usage   : $obj->strand;
        Function: Get strand value for the pair
        Example :
        Returns : ( 1 | 0 | -1 )
        Args    :

   test
        Title   : test
        Usage   : $obj->test;
        Function: test that both components are of the same length
        Example :
        Returns : ( 1 | undef )
        Args    :

   map
        Title   : map
        Usage   : $newpos = $obj->map($pos);
        Function: Map the location from the input coordinate system
                  to a new value in the output coordinate system.
        Example :
        Returns : new Bio::LocationI in the output coordinate system or undef
        Args    : Bio::LocationI object

   _map
        Title   : _map
        Usage   : $newpos = $obj->_map($simpleloc);
        Function: Internal method that does the actual mapping. Called
                  multiple times by map() if the location to be mapped is a
                  split location
        Example :
        Returns : new location in the output coordinate system or undef
        Args    : Bio::Location::Simple