[Bioperl-l] [BioSQL-l] Bio::Annotation::StructuredValue

Chris Fields cjfields at uiuc.edu
Thu Mar 22 18:29:15 EDT 2007

On Mar 17, 2007, at 9:26 AM, Hilmar Lapp wrote:

> On Mar 16, 2007, at 3:44 PM, Chris Fields wrote:
>> Does bioperl-db store Bio::Annotation::StructuredValue (i.e. in
>> SwissProt)?
> It does b/c B::A::StructuredValue ISA B::A::SimpleValue and it
> handles the latter.
> This isn't ideal because if you're like me you'd want all the
> individual values to each translate to its own row. I was using a
> SeqProcessor to convert the StructuredValue objects into arrays of
> SimpleValue objects.
> Obviously, this will lose the structure between them (i.e., in
> reality it's not just a flat array), but for enabling indexed
> searches it works well.
> With Uniprot no longer collapsing per sequence, the thing that gets
> lost is the semantic context of each token, but as you found out
> correctly it gets lost at the bioperl level already.

Yes, unfortunately, though the use of an ontology would help as you  
suggest below.

>>   I am thinking of using StructuredValue, Data::Stag, or
>> Class::Meta for some of my RNA structural data work but didn't know
>> if StructuredValues would persist via bioperl-db.
> At this point they are either flattened out (through the overridden
> value() method), or you convert them upfront into an array, using a
> SeqProcessor.
> BioSQL has no provision for storing the fact that a number of tag/
> value associations (which is what B::A::SimpleValues are) comprise of
> a "bag" of annotation that belongs together.
> You could, however, persist that through embedding the tags in an
> ontology (tags are ontology terms) that captures that (through
> rel.ships).

I will likely use this approach, though there are no applicable SO/GO  
terms that I can use so I'll have to roll my own for now.  I may use  
something similar to the RNAML tags for sec. structure.

>> I also noticed there is an outstanding BioPerl bug (http://
>> bugzilla.open-bio.org/show_bug.cgi?id=1825) where Hilmar suggested
>> reimplementing StructuredValueto use Data::Stag, so I thought I might
>> give it a try.
> Sounds good :-)
> I hope the above makes some sense. Let me know if not.
> 	-hilmar

Makes perfect sense!  Just needed to run it by someone on the BioSQL  
end since I'll want to make my data a bit more persistent.  I think I  
will go with Bio::StructuredValue implementing Data::Stag since it  
has pretty much everything I need.


More information about the Bioperl-l mailing list