Skip to content

Commit

Permalink
Merge pull request #180 from ga4gh-beacon/inline-documentation-updates
Browse files Browse the repository at this point in the history
Inline documentation updates
  • Loading branch information
costero-e authored Dec 12, 2024
2 parents 80036dd + f70a262 commit d02c6bf
Show file tree
Hide file tree
Showing 22 changed files with 115 additions and 59 deletions.
4 changes: 2 additions & 2 deletions framework/json/configuration/beaconConfigurationSchema.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": true,
"description": "Files complaint with this schema are the configuration ones. The details returned in `service-info` are mirroring the ones in this configuration file.",
"description": "The Beacon configuration reports several attributes of the beacon instance related to security, maturity and available entry types. Where appropriate the details returned in `service-info` should mirror the ones in this configuration.",
"properties": {
"$schema": {
"$ref": "../common/beaconCommonComponents.json#/$defs/$schema"
Expand All @@ -24,7 +24,7 @@
"description": "Declares the level of maturity of the Beacon instance.",
"properties": {
"productionStatus": {
"description": "`DEV`= 'Service potentially unstable, not real data', which availability and data should not be used in production setups. `TEST`= 'Service stable, not real data'. 'PROD'= 'Service stable, actual data'.",
"description": "* `DEV`: Service potentially unstable, _i.e._ potentially not real data,\n inconsistent availability; data should not be used in production setups \n* `TEST`: Service is stable but data should be considered synthetic * `PROD`: Service stable with real world data ",
"enum": [
"DEV",
"TEST",
Expand Down
2 changes: 1 addition & 1 deletion framework/json/responses/beaconBooleanResponse.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "Complete definition for a minimal response that provides *only* a `Boolean` exists true|false answer.",
"description": "Complete definition for a minimal response that provides *only* an aggregate Boolean `\"exists\": true` or `\"exists\": false` answer to the query. \nAdditional information - which should not consist of record-level information - can be provided through `beaconHandovers`. ",
"properties": {
"beaconHandovers": {
"$ref": "../common/beaconCommonComponents.json#/$defs/ListOfHandovers",
Expand Down
2 changes: 1 addition & 1 deletion framework/json/responses/beaconCollectionsResponse.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": true,
"description": "Beacon response that includes details about the collections in this Beacon.",
"description": "A type of Beacon response that includes details about the **collections** in a beacon. The types of collections are defined in each beacon's configuration; if using the Beacon v2+ default model usually the types `dataset` and `cohort` are supported.",
"properties": {
"beaconHandovers": {
"$ref": "../common/beaconCommonComponents.json#/$defs/ListOfHandovers",
Expand Down
2 changes: 1 addition & 1 deletion framework/json/responses/beaconConfigurationResponse.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": true,
"description": "Information about the Beacon. Aimed to Beacon clients like web pages or Beacon networks.",
"description": "The `beaconConfigurationResponse` returns information about configuration parameters of a given beacon instance such as maturity or security attributes or supported entry types. It is directed towards Beacon clients like web pages or network aggregators.",
"properties": {
"meta": {
"$ref": "./sections/beaconInformationalResponseMeta.json",
Expand Down
2 changes: 1 addition & 1 deletion framework/json/responses/beaconCountResponse.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "Complete definition for a response that does not include record level details but provides `Boolean` and `count` information.",
"description": "Complete definition for a minimal response that provides an aggregate Boolean `\"exists\": true` or `\"exists\": false` answer to the query as well as the count of the matched records.\nAdditional information - which should not consist of record-level information - can be provided through `beaconHandovers`. ",
"properties": {
"beaconHandovers": {
"$ref": "../common/beaconCommonComponents.json#/$defs/ListOfHandovers",
Expand Down
2 changes: 1 addition & 1 deletion framework/json/responses/beaconEntryTypesResponse.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": true,
"description": "Response including a list of Entry types definitions.",
"description": "The `beaconEntryTypesResponse` provides information about the entry types served through a beacon, including their definitions and pointers to their schemas.",
"properties": {
"meta": {
"$ref": "./sections/beaconInformationalResponseMeta.json",
Expand Down
2 changes: 1 addition & 1 deletion framework/json/responses/beaconErrorResponse.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": true,
"description": "An unsuccessful operation.",
"description": "A `beaconErrorResponse` denotes an unsuccessful operation, e.g. due to a missing parameter or an invalid query. The response contains an error object.",
"properties": {
"error": {
"$ref": "../common/beaconCommonComponents.json#/$defs/BeaconError"
Expand Down
2 changes: 1 addition & 1 deletion framework/json/responses/beaconInfoResponse.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": true,
"description": "Information about the Beacon. Aimed at Beacon clients like web pages or Beacon networks.",
"description": "The `beaconInfoResponse` provides metadata describing a Beacon instance, such as its name, the organization responsible for the Beacon, contact information, site logo and alternative URLs and importantly the beacon's API version. It is based on the GA4GH `service-info` standard.\nThe content of the `beaconInfoResponse` can be used by clients such as web front ends or beacon aggregators to evaluate potential access patterns and to display information about the beacon.",
"properties": {
"meta": {
"$ref": "./sections/beaconInformationalResponseMeta.json",
Expand Down
2 changes: 1 addition & 1 deletion framework/json/responses/beaconMapResponse.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": true,
"description": "Information about the Beacon. Aimed to Beacon clients like web pages or Beacon networks.",
"description": "A `beaconMapResponse` provides information about the beacon instance such as the different endpoints supported by this implementation of the Beacon API. This response is aimed to allow Beacon clients such as web front ends and Beacon network aggregators to evaluate which access patterns can be implemented against individual beacons.",
"properties": {
"meta": {
"$ref": "./sections/beaconInformationalResponseMeta.json",
Expand Down
2 changes: 1 addition & 1 deletion framework/json/responses/beaconResultsetsResponse.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": true,
"description": "Beacon response that includes record level details, grouped in Resultsets.",
"description": "A `beaconResultsetsResponse` returns the results of a query against a beacon or beacon aggregator. Beyond the `responseSummary` for overall matches the response contains details about the matches in individual **collections** in the beacon or beacon network. This type of response is required when serving a request with a \"record\" level `responseGranularity`, and `beaconResultsets` typically contain a list of records matched by the query.\nThe types of `beaconResultsets` objects are defined in the beacon's configuration; e.g. if using the Beacon v2+ default model the types `dataset` and `cohort` are supported as result sets. ",
"properties": {
"beaconHandovers": {
"$ref": "../common/beaconCommonComponents.json#/$defs/ListOfHandovers",
Expand Down
17 changes: 11 additions & 6 deletions framework/src/configuration/beaconConfigurationSchema.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
$schema: https://json-schema.org/draft/2020-12/schema
title: Beacon Configuration
description: Files complaint with this schema are the configuration ones. The details
returned in `service-info` are mirroring the ones in this configuration file.
description: >-
The Beacon configuration reports several attributes of the beacon instance related
to security, maturity and available entry types.
Where appropriate the details returned in `service-info` should mirror the ones in this configuration.
type: object
properties:
$schema:
Expand All @@ -11,16 +13,19 @@ properties:
type: object
properties:
productionStatus:
description: "`DEV`= 'Service potentially unstable, not real data', which\
\ availability and data should not be used in production setups. `TEST`=\
\ 'Service stable, not real data'. 'PROD'= 'Service stable, actual data'."
description: >-
* `DEV`: Service potentially unstable, _i.e._ potentially not real data,
inconsistent availability; data should not be used in production setups
* `TEST`: Service is stable but data should be considered synthetic
* `PROD`: Service stable with real world data
type: string
enum:
- DEV
- TEST
- PROD
securityAttributes:
description: Configuration of the security aspects of the Beacon. By default,
description: >-
Configuration of the security aspects of the Beacon. By default,
a Beacon that does not declare the configuration settings would return `boolean`
(true/false) responses, and only if the user is authenticated and explicitly
authorized to access the Beacon resources. Although this is the safest set of
Expand Down
7 changes: 5 additions & 2 deletions framework/src/responses/beaconBooleanResponse.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
$schema: https://json-schema.org/draft/2020-12/schema
description: >-
Complete definition for a minimal response that provides *only* a `Boolean`
exists true|false answer.
Complete definition for a minimal response that provides *only* an aggregate
Boolean `"exists": true` or `"exists": false` answer to the query.
Additional information - which should not consist of record-level information -
can be provided through `beaconHandovers`.
type: object
properties:
meta:
Expand Down
6 changes: 5 additions & 1 deletion framework/src/responses/beaconCollectionsResponse.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
$schema: https://json-schema.org/draft/2020-12/schema
description: Beacon response that includes details about the collections in this Beacon.
description: >-
A type of Beacon response that includes details about the **collections** in a
beacon. The types of collections are defined in each beacon's configuration;
if using the Beacon v2+ default model usually the types `dataset` and `cohort`
are supported.
type: object
properties:
meta:
Expand Down
6 changes: 4 additions & 2 deletions framework/src/responses/beaconConfigurationResponse.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
$schema: https://json-schema.org/draft/2020-12/schema
type: object
description: >-
Information about the Beacon. Aimed to Beacon clients like web pages
or Beacon networks.
The `beaconConfigurationResponse` returns information about configuration
parameters of a given beacon instance such as maturity or security attributes
or supported entry types. It is directed towards Beacon clients like web pages
or network aggregators.
properties:
meta:
description: >-
Expand Down
8 changes: 6 additions & 2 deletions framework/src/responses/beaconCountResponse.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
$schema: https://json-schema.org/draft/2020-12/schema
description: >-
Complete definition for a response that does not include record level
details but provides `Boolean` and `count` information.
Complete definition for a minimal response that provides an aggregate Boolean
`"exists": true` or `"exists": false` answer to the query as well as the count
of the matched records.
Additional information - which should not consist of record-level information -
can be provided through `beaconHandovers`.
type: object
properties:
meta:
Expand Down
4 changes: 3 additions & 1 deletion framework/src/responses/beaconEntryTypesResponse.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
$schema: https://json-schema.org/draft/2020-12/schema
type: object
description: >-
Response including a list of Entry types definitions.
The `beaconEntryTypesResponse` provides information about the entry types
served through a beacon, including their definitions and pointers to their
schemas.
properties:
meta:
description: >-
Expand Down
3 changes: 2 additions & 1 deletion framework/src/responses/beaconErrorResponse.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
$schema: https://json-schema.org/draft/2020-12/schema
type: object
description: >-
An unsuccessful operation.
A `beaconErrorResponse` denotes an unsuccessful operation, e.g. due to a missing
parameter or an invalid query. The response contains an error object.
properties:
meta:
$ref: ./sections/beaconResponseMeta.yaml
Expand Down
10 changes: 8 additions & 2 deletions framework/src/responses/beaconInfoResponse.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
$schema: https://json-schema.org/draft/2020-12/schema
type: object
description: >-
Information about the Beacon. Aimed at Beacon clients like web pages
or Beacon networks.
The `beaconInfoResponse` provides metadata describing a Beacon instance, such
as its name, the organization responsible for the Beacon, contact information,
site logo and alternative URLs and importantly the beacon's API version. It is
based on the GA4GH `service-info` standard.
The content of the `beaconInfoResponse` can be used by clients such as web front
ends or beacon aggregators to evaluate potential access patterns and to display
information about the beacon.
properties:
meta:
description: >-
Expand Down
6 changes: 4 additions & 2 deletions framework/src/responses/beaconMapResponse.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
$schema: https://json-schema.org/draft/2020-12/schema
type: object
description: >-
Information about the Beacon. Aimed to Beacon clients like web pages
or Beacon networks.
A `beaconMapResponse` provides information about the beacon instance such as the
different endpoints supported by this implementation of the Beacon API. This response
is aimed to allow Beacon clients such as web front ends and Beacon network aggregators
to evaluate which access patterns can be implemented against individual beacons.
properties:
meta:
description: >-
Expand Down
12 changes: 11 additions & 1 deletion framework/src/responses/beaconResultsetsResponse.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
$schema: https://json-schema.org/draft/2020-12/schema
description: Beacon response that includes record level details, grouped in Resultsets.
description: >-
A `beaconResultsetsResponse` returns the results of a query against a beacon
or beacon aggregator. Beyond the `responseSummary` for overall matches the
response contains details about the matches in individual **collections** in
the beacon or beacon network. This type of response is required when serving
a request with a "record" level `responseGranularity`, and `beaconResultsets`
typically contain a list of records matched by the query.
The types of `beaconResultsets` objects are defined in the beacon's configuration;
e.g. if using the Beacon v2+ default model the types `dataset` and `cohort` are
supported as result sets.
type: object
properties:
meta:
Expand Down
34 changes: 19 additions & 15 deletions models/json/beacon-v2-default-model/analyses/defaultSchema.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,69 +2,73 @@
"$comment": "version: ga4gh-beacon-analysis-v2.0.0",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": true,
"description": "Schema for a sequencing bioinformatics analysis.",
"description": "The `analysis` schema represents a information about the data analysis steps leading to (a set of) genomic variation call(s).",
"properties": {
"aligner": {
"description": "Reference to mapping/alignment software",
"description": "Name or identifier of the mapping/alignment software/pipeline",
"examples": [
"bwa-0.7.8"
],
"type": "string"
},
"analysisDate": {
"description": "Date at which analysis was performed.",
"description": "Date at which analysis was performed.\n",
"examples": [
"2021-10-17"
],
"format": "date",
"type": "string"
},
"biosampleId": {
"description": "Reference to the `id` of the biosample this analysis is reporting on.",
"description": "Local reference to the `id` of the biosample this analysis is reporting on.",
"examples": [
"S0001"
"S0001",
"onekgbs-NA07346"
],
"type": "string"
},
"id": {
"description": "Analysis reference ID (external accession or internal ID)",
"description": "Analysis id for internal referencing; unique in the dataset.",
"type": "string"
},
"individualId": {
"description": "Reference to the `id` of the individual this analysis is reporting on.",
"description": "Local reference to the `id` of the individual this analysis is reporting on.",
"examples": [
"P0001"
"P0001",
"onekgind-NA07346"
],
"type": "string"
},
"info": {
"$ref": "../common/info.json"
},
"pipelineName": {
"description": "Analysis pipeline and version if a standardized pipeline was used",
"description": "Analysis pipeline and version.",
"examples": [
"Pipeline-panel-0001-v1"
],
"type": "string"
},
"pipelineRef": {
"description": "Link to Analysis pipeline resource",
"description": "Link to information about or repository of the analysis pipeline.",
"examples": [
"https://doi.org/10.48511/workflowhub.workflow.111.1"
"https://doi.org/10.48511/workflowhub.workflow.111.1",
"https://doi.org/10.1093/bib/bbad541"
],
"type": "string"
},
"runId": {
"description": "Run identifier (external accession or internal ID).",
"description": "Local reference to the associated experimental run.",
"examples": [
"SRR10903401"
],
"type": "string"
},
"variantCaller": {
"description": "Reference to variant calling software / pipeline",
"description": "Name or identifier of the variant calling software/pipeline",
"examples": [
"GATK4.0"
"GATK4.0",
"labelSeg"
],
"type": "string"
}
Expand All @@ -74,6 +78,6 @@
"analysisDate",
"pipelineName"
],
"title": "Sequencing bioinformatics analysis",
"title": "Bioinformatics analysis",
"type": "object"
}
Loading

0 comments on commit d02c6bf

Please sign in to comment.