[Bioperl-l] bioperl-db woes
Stefan Kirov
stefan.kirov at bms.com
Thu Apr 17 17:52:22 UTC 2008
Chris Fields wrote:
> 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
>
Chris was right!
> 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',
This is the first thing I did and it seemed fine from command line.
So I checked a new copy (vs. updating), set PERL5LIB to the minimum
which is necessary (Build changes INC), which is
/home/kirovs/bioperl-db/bplive:/stf/sysdev/perl/newlib/perl/lib/5.8/ia64-linux-multi/
(/home/kirovs/bioperl-db/bplive being the fresh copy and the other
having Module::Build, etc., but definitely no bioperl).
This fixed the problem. I still do not see where the old module came
from, but that was a really good guess.
Thanks
Stefan
> 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.
Unfortunately this is not an option for me.
>
> 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