[Bioperl-l] bioperl-db woes

Chris Fields cjfields at uiuc.edu
Thu Apr 17 13:06:39 EDT 2008


Stefan,

'get_dbxrefs' was introduced in bioperl-live a while back during the  
feature/annotation rollback detailed here:

http://www.bioperl.org/wiki/Feature_Annotation_rollback

I still think this is an interfering old bioperl (and maybe bioperl- 
db) installation causing the problems; I had similar issues at one  
point and had to find and remove the old installation.  It might be  
worth (1) checking 'perldoc -l Bio::Root::Root', which will give the  
location of the Bio::Root::Root in lib path being used, and (2) using  
'./Build install uninst=1' to remove any old bioperl/bioperl-db  
installations.

chris

On Apr 17, 2008, at 11:40 AM, Stefan Kirov wrote:

> Hilmar,
> sorry, I missed the part after the stack trace... In any case this  
> is still problem for me after I updated bioperl-live.
> I see this with a number of other tests:
> t/04swiss.........ok 3/52Can't locate object method "get_dbxrefs"  
> via package "Bio::Ontology::Term" at /home/kirovs/bioperl-db/blib/ 
> lib/Bio/DB/Persistent/PersistentObject.pm line 552, <GEN0> line 78.
> t/04swiss.........dubious
>        Test returned status 2 (wstat 512, 0x200)
> DIED. FAILED tests 6-52
>        Failed 47/52 tests, 9.62% okay
> t/05seqfeature....ok 4/48Can't locate object method "get_dbxrefs"  
> via package "Bio::Ontology::Term" at /home/kirovs/bioperl-db/blib/ 
> lib/Bio/DB/Persistent/PersistentObject.pm line 552, <GEN0> line 72.
> t/05seqfeature....FAILED tests 9-48
>        Failed 40/48 tests, 16.67% okay
> t/06comment.......ok
> t/07dblink........ok
> t/08genbank.......ok
> t/09fuzzy2........ok
> t/10ensembl.......ok 1/15Can't locate object method "get_dbxrefs"  
> via package "Bio::Ontology::Term" at /home/kirovs/bioperl-db/blib/ 
> lib/Bio/DB/Persistent/PersistentObject.pm line 552, <GEN0> line 1420.
> t/10ensembl.......dubious
>        Test returned status 2 (wstat 512, 0x200)
> DIED. FAILED tests 3-15
>        Failed 13/15 tests, 13.33% okay
> t/11locuslink.....ok 4/110Can't locate object method "get_dbxrefs"  
> via package "Bio::Annotation::OntologyTerm" at /home/kirovs/bioperl- 
> db/blib/lib/Bio/DB/Persistent/PersistentObject.pm line 552, <GEN0>  
> line 1.
> t/11locuslink.....dubious
>        Test returned status 2 (wstat 512, 0x200)
> DIED. FAILED tests 5-110
>        Failed 106/110 tests, 3.64% okay
> t/12ontology......ok 1/738Can't locate object method "get_dbxrefs"  
> via package "Bio::Ontology::GOterm" at /home/kirovs/bioperl-db/blib/ 
> lib/Bio/DB/Persistent/PersistentObject.pm line 552, <GEN0> line 98.
> t/12ontology......dubious
>        Test returned status 255 (wstat 65280, 0xff00)
> DIED. FAILED tests 5-738
>        Failed 734/738 tests, 0.54% okay
> t/13remove........ok 2/59Can't locate object method "get_dbxrefs"  
> via package "Bio::Ontology::Term" at /home/kirovs/bioperl-db/blib/ 
> lib/Bio/DB/Persistent/PersistentObject.pm line 552, <GEN0> line 145.
> t/13remove........FAILED tests 11-59
>        Failed 49/59 tests, 16.95% okay
> t/14query.........ok
> t/15cluster.......ok 3/160Can't locate object method "get_dbxrefs"  
> via package "Bio::Ontology::Term" at /home/kirovs/bioperl-db/blib/ 
> lib/Bio/DB/Persistent/PersistentObject.pm line 552, <GEN0> line 1.
> t/15cluster.......dubious
>        Test returned status 2 (wstat 512, 0x200)
> DIED. FAILED tests 6-160
>        Failed 155/160 tests, 3.12% okay
> t/16obda..........ok
>
> On Thu, 17 Apr 2008, Chris Fields wrote:
>
>>
>> On Apr 17, 2008, at 9:47 AM, Hilmar Lapp wrote:
>>
>>> On Apr 17, 2008, at 10:18 AM, Stefan Kirov wrote:
>>>> In any case I debugged and tracked that down to the RichSeq  
>>>> adaptor module missing.
>>> That almost can't be the problem. Every Bio::Seq::RichSeq is-a  
>>> Bio::Seq and a SeqAdaptor is present.
>>> I'm afraid it gets stuck somewhere else and frankly I didn't see  
>>> the RichSeqAdaptor failing to load in your stack trace:
>>>
>>>>     ------------- EXCEPTION: Bio::Root::Exception -------------
>>>>
>>>>  MSG: Annotation of class Bio::Annotation::Collection not
>>>>  type-mapped. Internal error?
>>>>  STACK: Error::throw
>>>>  STACK: Bio::Root::Root::throw
>>>>  /home/kirovs/bioperl-live/Bio/Root/Root.pm:357
>>>>  STACK:
>>>>  Bio::DB::BioSQL::AnnotationCollectionAdaptor::_annotation_map_key
>>>>  Bio/DB/BioSQL/AnnotationCollectionAdaptor.pm:695
>>>>  STACK:  
>>>> Bio::DB::BioSQL::AnnotationCollectionAdaptor::store_children
>>>>  Bio/DB/BioSQL/AnnotationCollectionAdaptor.pm:204
>>>>  STACK: Bio::DB::BioSQL::BasePersistenceAdaptor::create
>>>>  Bio/DB/BioSQL/BasePersistenceAdaptor.pm:214
>>>>  STACK: Bio::DB::BioSQL::BasePersistenceAdaptor::store
>>>>  Bio/DB/BioSQL/BasePersistenceAdaptor.pm:251
>>>>  STACK: Bio::DB::Persistent::PersistentObject::store
>>>>  Bio/DB/Persistent/PersistentObject.pm:271
>>>>  STACK: Bio::DB::BioSQL::SeqAdaptor::store_children
>>>>  Bio/DB/BioSQL/SeqAdaptor.pm:224
>>>>  STACK: Bio::DB::BioSQL::BasePersistenceAdaptor::create
>>>>  Bio/DB/BioSQL/BasePersistenceAdaptor.pm:214
>>>>  STACK: Bio::DB::Persistent::PersistentObject::create
>>>>  Bio/DB/Persistent/PersistentObject.pm:244
>>>>  STACK: t/04swiss.t:36
>>>>  -----------------------------------------------------------
>>> What that tells me is that when bioperl-db tries to store the  
>>> annotation bundle of the (SwissProt) sequence, one of the  
>>> annotations that it encounters is of type  
>>> Bio::Annotation::Collection. At present bioperl-db doesn't know  
>>> what to do with it; i.e., bioperl-db can't yet handle hierarchical  
>>> annotation collections (collections within collections).
>>> I believe this is due to recent changes in how the GN line is  
>>> parsed in BioPerl - Chris does this ring the right bell? I thought  
>>> though you had built in a method would allow flattening out
>>
>> This appears to be using an older bioperl-live checkout, one where  
>> Heikki changed GN parsing to use a nested Annotation::Collection.   
>> I reverted that back in a later commit to svn specifically b/c of  
>> bioperl-db problems. bioperl-live's swiss.pm now uses a new  
>> subclass of Bio::Annotation::SimpleValue (Bio::Annotation::TagTree)  
>> that represents nested values via Data::Stag's itext output (we can  
>> change that to alternatives if needed).
>>
>> Here are the last few relevant revisions in bioperl-live's main  
>> trunk (mine is the latest):
>>
>> ------------------------------------------------------------------------
>> r14562 | cjfields | 2008-02-28 08:30:05 -0600 (Thu, 28 Feb 2008) |  
>> 1 line
>>
>> bug 1825: updating swiss.pm/tests to try out TagTree (passes all  
>> tests). Need to update Handler.t and related modules still...
>> ------------------------------------------------------------------------
>> r14541 | heikki | 2008-02-25 00:10:48 -0600 (Mon, 25 Feb 2008) | 1  
>> line
>>
>> documentation for the GN line parsing and management
>> ------------------------------------------------------------------------
>> r14538 | heikki | 2008-02-23 08:48:23 -0600 (Sat, 23 Feb 2008) | 1  
>> line
>>
>> GN (Gene Name) line parsing rewrite. Breaks backward compatibility.  
>> Can now deal with >1 gene per entry and four categories of names  
>> per gene. Parses old style syntax (...OR ... OR ... ) into one gene  
>> name and synonyms for each gene. Docs to follow.
>>
>> ....
>>
>> I just updated all code from dev and reran bioperl-db tests w/o  
>> problems. Maybe someone else could do the same to see what happens?
>>
>>> It's worth noting that BioSQL itself can't really represent nested  
>>> annotation collections other than by using ontology terms and  
>>> their hierarchy, which at present I think isn't really  
>>> appropriate, but I have to think through the issue more. In other  
>>> words, in BioSQL you can't directly tie together a bunch of  
>>> qualifier value pairs into a "bag" and then nest this bag within  
>>> another. The way to make this work with the current schema is to  
>>> flatten out the nesting.
>>>
>>> 	-hilmar
>>> -- 
>>> ===========================================================
>>> : Hilmar Lapp  -:-  Durham, NC  -:-  hlapp at gmx dot net :
>>> ===========================================================
>>
>> Might be worth looking into for a future BioSQL release, but we  
>> have a decent workaround in place for now, as long as it works  
>> cross-platform and cross-RDB.
>>
>> chris
>>
>> _______________________________________________
>> Bioperl-l mailing list
>> Bioperl-l at lists.open-bio.org
>> http://lists.open-bio.org/mailman/listinfo/bioperl-l

Christopher Fields
Postdoctoral Researcher
Lab of Dr. Robert Switzer
Dept of Biochemistry
University of Illinois Urbana-Champaign





More information about the Bioperl-l mailing list