[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
>