implementations-v2

View the Project on GitHub ga4gh-beacon/implementations-v2

Progenetix & Beacon+

The Beacon+ implementation - developed in the Python & MongoDB based bycon project - implements an expanding set of Beacon v2 paths for the Progenetix resource.

Changes

Scoped responses from query object

In queries with a complete beaconRequestBody the type of the delivered data is independent of the path and determined in the requestedSchemas. So far, Beacon+ will compare the first of those to its supported responses and provide the results accordingly; it doesn’t matter if the endpoint was /becon/biosamples/ or /beacon/variants/ etc. If no matching response type is found the path default will be used.

Below is an example for the standard test “small deletion CNVs in the CDKN2A locus, in gliomas” Progenetix test query, here responding with the matched variants. Exchanging the entityType entry to

would change this to a biosample response. The example ccan be tested by POSTing this as application/json to http://progenetix.org/beacon/variants/ or http://progenetix.org/beacon/biosamples/.

{
    "$schema":"beaconRequestBody.json",
    "meta": {
        "apiVersion": "2.0",
        "requestedSchemas": [
            {
                "entityType": "variantInSample",
                "schema:": "https://progenetix.org/services/schemas/Variant/"
            }
        ]
    },
    "query": {
        "requestParameters": {
            "datasets": {
                "datasetIds": ["progenetix"]
            },
            "assemblyid": "GRCh38",
            "referenceName": "9",
            "start": [21500001, 21975098],
            "end": [21967753, 22500000], 
            "variantType": "DEL"
        }
    },
    "filters": [
        { "id": "NCIT:C3058" }
    ]
}

Paths

Base /

The root path provides the standard BeaconInfoResponse.


Base /filtering_terms

/filtering_terms/
/filtering_terms/ + query

Base /core

/core/ + query

Base /biosamples

/biosamples/ + query
/biosamples/{id}/
/biosamples/{id}/variants/ & /biosamples/{id}/variants_in_sample/

Base /individuals

/individuals/ + query
/individuals/{id}/
/individuals/{id}/variants/ & /individuals/{id}/variants_in_sample/

Base /variants

There is currently (April 2021) still some discussion about the implementation and naming of the different types of genomic variant endpoints. Since the Progenetix collections follow a “variant observations” principle all variant requests are directed against the local variants collection.

If using g_variants or variants_in_sample, those will be treated as aliases.

/variants/ + query
/variants/{id}/ or /variants_in_sample/{id} or /g_variants/{id}/
/variants/{id}/biosamples/ & variants_in_sample/{id}/biosamples/
/variants/{id}/variants_interpretations/

This is yet (2021-06-07) an early test of a variants interpretations delivery for a given variant, implemented for a test dataset (therefore the added id).


Base /analyses (or /callsets)

The Beacon v2 /analyses endpoint accesses the Progenetix callsets collection documents, i.e. information about the genomic variants derived from a single analysis. In Progenetix the main use of these documents is the storage of e.g. CNV statistics or binned genome calls.

/analyses/ + query