[Bioperl-l] Opening up deleting features from Seq objects again

Hilmar Lapp hlapp@gmx.net
Fri, 26 Oct 2001 01:00:03 -0700

Ewan Birney wrote:
> >
> > delete_feature can understand the feature's context and remove only those
> > parts of the parent gene that make sense.
> >
> > Our implementation looks like this:
> > my $orphanlist=$seq->delete_feature($feature,$transcript,$gene);
> >
> > This allows the current exon/transcript/gene hierarchy to be passed to the
> > sequence.  It returns a list of features which are no longer part of a
> > coherent gene structure, i.e. if you want to delete one of two
> > transcripts, but want the hypothetical exons that make up the transcript
> > to stick around, the exons will be attached as top-level features and
> > returned to you.
> >
> > This allows our gui to function as expected.
> >
> > I volunteer to bolt this functionality on to Bio::Seq or one of its
> > descendants, if that's better.  We want it in SeqI, at least as a stub,
> > so SeqCanvas doesn't barf if it's given any SeqI and asked to delete
> > something.
> I'm really against adding this functionality in the Bio::Seq
> implementation
> You are really forcing the Genquire update model (deleting individual
> features) into the default Bioperl sequence object. I think this is a bad
> idea and should be discouraged.

I agree with Ewan here. There should definitely be no stub of any
update method in the interface (BTW the interface doesn't even
guarantee that you can change the sequence, which is `right'). If
the only reason for the necessity of a delete_feature() method is
the possible presence of a gene structure hierarchy of features
being attached, then that certainly calls for a specialized
separate implementation.

Hilmar Lapp                              email: hilmarl@yahoo.com
San Diego, Ca. 92130                     phone: +1 858 812 1757