[Bioperl-l] bioperl-db woes

Hilmar Lapp hlapp at gmx.net
Thu Apr 17 10:47:58 EDT 2008


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