[BioSQL-l] Re: [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 BioSQL-l
mailing list