-
Notifications
You must be signed in to change notification settings - Fork 25
Handover method for data access #114
Comments
Following the comment/request #157 from @mfiume, we should work on specifying the Handover structure with e.g. the DOS use case. Working assumptions for the structure of the Handover protocol extension now are that:
The Handover implementation proposal addresses #157 and is related to #107. As reminder, a simplified implementation has been prototyped for the Beacon+ resource and is conceptually documented here, though the format of the Handover object is assumed to be an object instead of the |
@mbaudis what if the object lives on a different server from the one that is generating the response? Here, is the access key used to ID the object or does it comprise the authentication information required to fetch it, or both? What about having a Can you provide an example of how the authentication procedure would be provided? I agree that this would be very helpful to encode as a hint, just wondering how you'd approach it. |
@mfiume I don't think that this would be part of Beacon, but the general idea would be that the "handoff" key would point to whatever action is then executed. It doesn't really matter which server the data resides on; this is resolved from Sure, the handover object could be a
instead of
Authentication could be provided in OAuth etc., and the resolver would match credentials to access rights. This would allow the layered access of public beacon query + limited data retrieval. Our testbed implementationIn our current implementation, the
Now data can be retrieved by creating different style queries from this.
... would deliver the document shown. This has its own:
If you now follow the original GA4GH schema, you can retrieve e.g. all biosample ids by querying:
... etc., and the get the biosample data; similar for all variants from the matching callsets etc. But this requires a standardised data structure in the It is all rather trivial, if keeping to the basic principles of a schema which had been developed over years, without enforcing some of the more esoteric "recapitulate VCF column format" ideas of it. Oh well... |
Updated scenario: Providing a url + label handover list for direct access to the identified resources;We have now implemented this scenario, for "one click" actions, based on the variants/callsets/samples identified in the Beacon query. Example (this is the excerpt from the Beacon response):
This
|
@sdelatorrep I would suggest adding also a Reasoning:
Also, this would be an interesting scenarion in which we have to decide if we should implement the general
(The |
Add handover mechanism (issue #114).
PR #230 merged. |
As was discussed previously and with some assigned future spot on the Beacon roadmap, there is general consensus about the need to implement a specification for a handoff protocol. The arguments supporting this development can be summarized as:
As starting point for discussions on the merits of this concept and how to implement it, we have prototyped a very basic version of a handoff concept (without use of a proper authentication procedure):
Beacon+ query
=> internal matched variants
==> internal retrieved callset ids
===> internal storage of callset ids in record in tmp database
====> external delivery of BeaconDatasetAlleleResponse +
info.callset_access_handle
Data access
=> callset_access_handle is submitted to authentication system
==> authentication procedure + fwd of callset_access_handle
===> data retrieval options based on authentication status
As part of the Beacon specifications, it should probably be sufficient to define an attribute name/format for the access handle; authentication etc. would be for demonstrators, "discovery" product ... but probably out of scope for the Beacon protocol itself (?).
See Beacon+ => CNV example => handover in response table => ...; the current concept is detailed in these slides.
The text was updated successfully, but these errors were encountered: