[Bioperl-l] PROPOSED new method Bio::Range->offsetStranded

Chris Fields cjfields at uiuc.edu
Wed Jan 10 11:10:21 EST 2007


Malcolm,

I don't have a problem with it.  Just curious, but what would it be used
for?

chris

> Hi,
> 
> I'd like to commit changes to Bio::RangeI which defined 
> offsetStranded to allows the following tests to pass in Bio/Range.t
> 
> $r = Bio::Range->new(-start => 30, -end => 40, -strand => 
> -1); ok ($r->offsetStranded(-5,10)->toString, '(20, 45) 
> strand=-1'); ok ($r->offsetStranded(+5,-10)->toString, '(30, 
> 40) strand=-1'); $r->strand(1); ok 
> ($r->offsetStranded(-5,10)->toString, '(25, 50) strand=1'); 
> ok ($r->offsetStranded(+5,-10)->toString, '(30, 40) strand=1');
> 
> 
> Here's the implementation.
> 
> =head2 offsetStranded
> 
>     Title    : offsetStranded
>     Usage    : $rnge->ofsetStranded($fiveprime_offset,
> $threeprime_offset)
>     Function : destructively modifies RangeI implementing object to
>                offset its start and stop coordinates by 
> values $fiveprime_offset and
>                $threeprime_offset (positive values being in 
> the strand direction).
>     Args     : two integer offsets: $fiveprime_offset and
> $threeprime_offset
>     Returns  : $self, offset accordingly.
> 
> =cut
> 
> sub offsetStranded {
>   my ($self, $offset_fiveprime, $offset_threeprime) = @_;
>   my ($offset_start, $offset_end) = $self->strand() eq -1 ? 
> (- $offset_threeprime, - $offset_fiveprime) : 
> ($offset_fiveprime, $offset_threeprime);
>   $self->start($self->start + $offset_start);
>   $self->end($self->end + $offset_end);
>   return $self;
> };
> 
> 
> I'll commit tomorrow unless I'm told 'that would be a mistake'.
> 
> Cheers,
> 
> --Malcolm
> 
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l



More information about the Bioperl-l mailing list