[Bioperl-l] bioperl-db woes
Stefan Kirov
stefan.kirov at bms.com
Thu Apr 17 15:28:42 UTC 2008
Hilmar,
I think I saw what happens with this adaptor-
In Bio::DB::BioSQL::DBAdaptor::_load_object_adaptor (call from
create_persistent) there is request that this module is loaded:
Bio/DB/BioSQL/RichSeqAdaptor.pm
There is no such module... This always fails, but since it is evaled,
there is no actual error- instead. Perhaps this is leftover...?
This got me fooled...
I guess Chris could be right-
Bio::DB::BioSQL::AnnotationCollectionAdaptor::_annotation_map_key is
being passed Bio::Annotation::Collection as a value for $obj->obj(). Or
recursing too far?
Anyway, I am just guessing here- I do not know the architecture of
bioperl-db...
Thanks again for the help...
Stefan
On Thu, 17 Apr 2008, 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?
>
> 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 :
> ===========================================================
>
>
>
More information about the Bioperl-l
mailing list