[Bioperl-l] SeqFeature containment hierarchies

Hilmar Lapp hlapp at gmx.net
Sun Jul 20 16:35:36 EDT 2003


On Thursday, July 17, 2003, at 04:27  PM, Chris Mungall wrote:

>
> Hilmar - does this affect the biosql code?

Not negatively in the sense that you'd duplicate the feature, iff you 
don't duplicate the feature in the object tree either. (Obviously I 
haven't been able to test this yet. And see below for why this may even 
be wishful thinking of mine, especially given the fact that seqfeature 
relationships is not even supported through bioperl-db yet.)

>  Would this lead to multiple
> updates of the same exon when storing a gene model?
>
>

Possibly. The impact of this may not be that dramatic though.

I've just a few days ago introduced a 'dirty' flag that avoids an 
update if a persistent object is marked as non-dirty. In a freshly 
constructed object or object tree everything would be flagged dirty 
though.

The code that turns objects into persistent objects goes in low-level 
and replaces every object in a hash or array ref with its persistent 
counterpart if there is one. I suppose that if that feature object is 
stored twice in the tree of hash/array-refs then it would result in two 
distinct persistent objects being wrapped around it.

The UK-constraint on seqfeature in biosql is the combination of 
(primary_tag,source_tag,bioentry,rank). Bioentry is the foreign key to 
the sequence (entry) on which the feature sits. Rank is an artificial 
attribute that exists only on the persistent object wrapper, apart from 
the schema. Hence, setting it on one wrapper would not affect the 
other, even if both wrappers pointed to the same underlying feature 
object.

Supposedly the insert/update logic would be such that first all 
participating features would be inserted or updated. Then the 
relationships would be serialized, without triggering another update or 
insert on the feature objects.

How did you guys implement this for chado?

I'd be keen to have a full test case on which we could define the 
desired behaviour and then implement it. So far I'd have had to 
construct something artificial. This has changed now with your genbank 
unflattener.

	-hilmar
-- 
-------------------------------------------------------------
Hilmar Lapp                            email: lapp at gnf.org
GNF, San Diego, Ca. 92121              phone: +1-858-812-1757
-------------------------------------------------------------



More information about the Bioperl-l mailing list