[DAS] querying for nonpositional annotations

Andy Jenkinson andy.jenkinson at ebi.ac.uk
Fri Jul 30 15:00:44 UTC 2010


Hi list,

I'd like to canvas for opinion on what is "expected" behaviour concerning how servers respond to features queries in some circumstances. So, bear with me...

Since protein DAS came along, the format of the segment parameter no longer requires the start and end position. Personally, my take on this has always been that this means that these two queries are effectively identical:
    /das/source/features?segment=P99999
    /das/source/features?segment=P99999:1,150 [i.e. the full length of the protein]
This interpretation is reflected in the 1.6 spec, with the advantage that it is quite easy to explain the behaviour (use parts of the spec also use a "if omitted, the default is XYX" paradigm). If you follow this interpretation, nonpositional features (those without start/end positions) will always be returned no matter what the start and end are, or indeed whether they are included (since behaviour in both cases is identical). For me this is fine because nonpositional features are annotations that apply to the whole sequence/object, which includes all parts of it.

Leyla came to a different view from me, reasoning that only the former of these queries should return nonpositional features because they are really outside the range of the second request. She has suggested that queries like these could be possible ways to further control whether nonpositional and/or positional features are returned:
    /das/source/features?segment=P99999:0,0 [only nonpositional features]
    /das/source/features?segment=P99999:0,150 [all positional and nonpositional features]

I guess this would be an additional functionality as I do not know of any clients or servers that use zero as a meaningful query range, but i recognise the logic so would like to know: what do others think? How do your existing servers function?

Sorry for the long email (as usual!)

Cheers,
Andy



More information about the DAS mailing list