[Bioperl-l] strange error after changing to RC1.5

Allen Day allenday at ucla.edu
Fri Mar 11 14:36:11 EST 2005


On Fri, 11 Mar 2005, Hilmar Lapp wrote:

> I suggest that all the fancy overloading is removed from core bioperl
> modules. If we need overloading for stringification or comparison
> operators in one or our core modules I think we are making a mistake.

The overloading is only there because assumptions have been made that
annotations will be strings.  This assumption was okay previously becasue
the Bio::Annotation* modules were previously "non core" -- there was no
unified annotation system in bioperl.  Now these modules are being made
core, and this is part of the growing pain.

I'm doing what I can to address the bug reports related to these changes
as they come in, and I don't think anyone will disagree that I'm doing so
in a timely manner.  However, I cannot fix bugs or field questions on
biosql modules and would appreciate some cooperation/assistance from the
biosql developers.

> This is part of the huge mess introduced when the SeqFeatureI
> architecture was carelessly changed days before release. It's a
> prototypical example for what not to do in a project that's as widely
> used as bioperl.

The SeqFeatureI changes were being gradually made in the 1-2 months prior
to the 1.5 release.  The release was, may I remind you, a *developer*
release and not expected to be bug free.

> *Every single bit* of those changes need to be rolled back from the
> release and if nobody else has done it by then I will do so in two
> weeks.

Fine for the 1.5.1 branch, although I don't agree that this should be done
on the main trunk.

-Allen


> 	-hilmar
> 
> On Thursday, March 10, 2005, at 05:57  PM, Allen Day wrote:
> 
> > I'm unable to test the code in PersistentObject.pm as I don't have 
> > biosql
> > set up, but you might try adding this to Reference.pm
> >
> >   use overload 'ne' => sub { "$_[0]" ne "$_[1]" }
> >
> > Please let me know if this fixes your error and I'll add this 'ne'
> > overload to all the Bio::Annotation::* classes on HEAD.
> >
> > -Allen
> >
> >
> > On Wed, 9 Mar 2005, Daniel Lang wrote:
> >
> >> Hi,
> >> I´m retrieving seq objects from a local biosql db (using the latest 
> >> cvs
> >> verion of bioperl-db) and e.g. writing them with SeqIO. After changing
> >> from a cvs version ~ 12/04 to RC1.5 or latest cvs version, I get the
> >> following error:
> >>
> >> Operation `ne': no method found,!!left argument in overloaded package
> >> Bio::Annotation::Reference,!!right argument has no overloaded magic at
> >> /usr/lib/perl5/site_perl/5.6.1/Bio/DB/Persistent/PersistentObject.pm
> >> line 534, <GEN1> line 1.!
> >>
> >> The module PersistentObject.pm hasn´t changed and in Reference.pm 
> >> there
> >> is only this change:
> >>
> >> diff bioperl-live-Dec04/Bio/Annotation/Reference.pm
> >> bioperl-live/Bio/Annotation/Reference.pm
> >> 1c1
> >> < # $Id: Reference.pm,v 1.21 2004/08/19 20:13:32 lapp Exp $
> >> ---
> >>> # $Id: Reference.pm,v 1.22 2005/02/02 22:13:22 allenday Exp $
> >> 56c56,57
> >> < # use overload '""' => \&as_text;
> >> ---
> >>> use overload '""' => sub { $_[0]->title || ''};
> >>> use overload 'eq' => sub { "$_[0]" eq "$_[1]" };
> >>
> >> I´ve reversed this, but no positive result - the error remains...
> >> Any hints?
> >>
> >> Thanks in advance,
> >> Daniel
> >>
> >>
> >>
> >> _______________________________________________
> >> Bioperl-l mailing list
> >> Bioperl-l at portal.open-bio.org
> >> http://portal.open-bio.org/mailman/listinfo/bioperl-l
> >>
> > _______________________________________________
> > Bioperl-l mailing list
> > Bioperl-l at portal.open-bio.org
> > http://portal.open-bio.org/mailman/listinfo/bioperl-l
> >
> >
> 


More information about the Bioperl-l mailing list