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

Hilmar Lapp hlapp at gmx.net
Fri Mar 11 13:11:24 EST 2005


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.

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.

*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.

	-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
>
>
-- 
-------------------------------------------------------------
Hilmar Lapp                            email: lapp at gnf.org
GNF, San Diego, Ca. 92121              phone: +1-858-812-1757
-------------------------------------------------------------





More information about the Bioperl-l mailing list