[Bioperl-l] Re: sub_Location in Bio::Location::Simple?

Hilmar Lapp hlapp@gnf.org
Mon, 1 Jul 2002 11:50:59 -0700


Right. -hilmar

> -----Original Message-----
> From: Heikki Lehvaslaiho [mailto:heikki@ebi.ac.uk]
> Sent: Monday, July 01, 2002 8:04 AM
> To: Charles Tilford
> Cc: Jason Stajich; Bioperl
> Subject: Re: [Bioperl-l] Re: sub_Location in Bio::Location::Simple?
> 
> 
> Charles,
> 
> I think silence indicates indifference/inability to see the 
> need of the 
> addition/inability to to see any reason to object. You have 
> the need, so do 
> the additions and let's see if someone complains.
> 
> 	-Heikki
> 
> Charles Tilford wrote:
> > I'm not sure what the 
> Bioperl-culturally-appropriate-interpretation of
> > "null comment" is - should I add each_location() to the appropriate
> > modules? Uncertain whether the lack of response indicates quiet
> > satisfaction or stunned shock...
> > 
> > -CAT
> > 
> > Charles Tilford wrote:
> > 
> >>Jason Stajich wrote:
> >>
> >>
> >>>I'd rather create a new method, something like:
> >>>each_Location().
> >>>
> >>>This can be implemented as a recursive method to handle 
> the case when
> >>>split locations contain other split locations.
> >>>
> >>>I don't want to make Simple locations explictly act like 
> Split locations
> >>>with a single loc since that defeats the purpose of separating the
> >>>interfaces.
> >>>
> >>>Other people may have input?
> >>>-j
> >>>
> >>
> >>I'm happy with a new method. How about these changes then?
> >>
> >>Bio::Location::Split
> >>
> >>sub each_Location {
> >>    my ($self, $order) = @_;
> >>    my @locs = ();
> >>    foreach my $subloc ($self->sub_Location($order)) {
> >>    # Recursively check to get hierarchical split locations:
> >>    push @locs, $subloc->each_Location($order);
> >>    }
> >>    return @locs;
> >>}
> >>
> >>Bio::Location::Simple
> >>
> >>sub each_Location {
> >>    my ($self) = @_;
> >>    return $self;
> >>}
> >>
> >>Bio::LocationI
> >>
> >>sub each_Location {
> >>    my ($self,@args) = @_;
> >>    $self->throw_not_implemented();
> >>    return undef;
> >>}
> >>
> >>-Charles
> >>
> >>
> >>>On Tue, 28 May 2002, Charles Tilford wrote:
> >>>
> >>>
> >>>
> >>>
> >>>>Hi Jason,
> >>>>
> >>>>Would you mind if I added a sub_Location method in
> >>>>Bio::Location::Simple? It would look like this:
> >>>>
> >>>>=head2 sub_Location
> >>>>
> >>>> Title   : sub_Location
> >>>> Usage   : $loc = $loc->sub_Location();
> >>>> Function: compatibility method to allow this single method to get
> >>>>locations from either Simple or Split locations.
> >>>> Returns : the Bio::Location::Simple object itself
> >>>> Args    :
> >>>>
> >>>>=cut
> >>>>
> >>>>sub start {
> >>>> my ($self) = @_;
> >>>> return $self;
> >>>>}
> >>>>
> >>>>I find myself doing this frequently, to grab all the 
> locations in a
> >>>>given feature:
> >>>>
> >>>>       my $fLoc = $feat->location;
> >>>>       my $locs = ($fLoc =~ /Split/) ? 
> [$fLoc->sub_Location()] : [$fLoc];
> >>>>
> >>>>If ::Simple had a sub_Location method, then I could just say:
> >>>>
> >>>>my @locs = $feat->location->sub_Location();
> >>>>
> >>>>Not sure if I am overlooking a gotcha here...
> >>>>
> >>>>-Charles
> >>>
> > 
> 
> 
> -- 
> ______ _/      _/_____________________________________________________
>        _/      _/                      http://www.ebi.ac.uk/mutations/
>       _/  _/  _/  Heikki Lehvaslaiho          heikki@ebi.ac.uk
>      _/_/_/_/_/  EMBL Outstation, European Bioinformatics Institute
>     _/  _/  _/  Wellcome Trust Genome Campus, Hinxton
>    _/  _/  _/  Cambs. CB10 1SD, United Kingdom
>       _/      Phone: +44 (0)1223 494 644   FAX: +44 (0)1223 494 468
> ___ _/_/_/_/_/________________________________________________________
> 
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l@bioperl.org
> http://bioperl.org/mailman/listinfo/bioperl-l
>