[Bioperl-l] bioperl-db woes

Stefan Kirov stefan.kirov at bms.com
Thu Apr 17 12:40:14 EDT 2008


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


More information about the Bioperl-l mailing list