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

Daniel Lang daniel.lang at biologie.uni-freiburg.de
Fri Mar 11 05:06:19 EST 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Allen,

When I add the line to all Bio::Annotation::*, we run into various other
errors, e.g. :
Can't call method "primary_key" on an undefined value at
/usr/lib/perl5/site_perl/5.6.1/Bio/DB/BioSQL/BasePersistenceAdaptor.pm
line 1325.!

What are these overloaded methods for?
Who/What is calling ->ne()?

I´ve tried using the latest cvs version with the Annotation classes from
december: This error is gone but then all SeqFeature tag_values are
stringified memory addresses:
/clone_lib="Bio::Annotation::SimpleValue=HASH(0x76883bb8)"

/tissue_type="Bio::Annotation::SimpleValue=HASH(0x76883ccc
~                     )"
~                     /clone="Bio::Annotation::SimpleValue=HASH(0x76883d14)"

/organism="Bio::Annotation::SimpleValue=HASH(0x76883d5c)"

/lab_host="Bio::Annotation::SimpleValue=HASH(0x76883dec)"

/db_xref="Bio::Annotation::SimpleValue=HASH(0x76883e34)"

/mol_type="Bio::Annotation::SimpleValue=HASH(0x76885360)"
~                     /note="Bio::Annotation::SimpleValue=HASH(0x76883da4)"

?
To make it even more complicated, I´ve dumped both seq objects (the one
all with classes from dec´04 and the bioperl-live with only the
Annotation classes from dec´04) there is no diff!?
The Seq, SeqI, RichSeq SeqFeature::Generic objects didn´t change since
then...

- -Daniel

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

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (MingW32)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFCMW2bmJnbCpJAG3ARAvbAAJ966Qc8RBFbhlFL0VpVo073N1sEWgCdF7jM
56Ozp3Rl2HdHxxXipeJnx8w=
=OHJA
-----END PGP SIGNATURE-----


More information about the Bioperl-l mailing list