From 2b16fcbc3a9dde68ec0723ef46c642bb94ed276d Mon Sep 17 00:00:00 2001 From: Michael Baudis Date: Tue, 14 Mar 2023 16:31:28 +0100 Subject: [PATCH 01/32] Update other-implementations.md Some test changes for the new build workflow from website-docs --- docs/other-implementations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/other-implementations.md b/docs/other-implementations.md index 16eff2f8d..fc5ad483e 100644 --- a/docs/other-implementations.md +++ b/docs/other-implementations.md @@ -23,7 +23,7 @@ such as CNV query options or handover data delivery. * [`bycon`](http://github.com/progenetix/bycon/) Python-based full stack API / middleware * [`progenetix-web`](http://github.com/progenetix/progenetix-web/) React based front-end (modular for Beacon instances as well as the whole Progenetix UI) -##### Link: [Documentation page](implementations/org.progenetix.md) for Progenetix REST paths +##### Link: [Documentation page]([implementations/org.progenetix.md](https://docs.progenetix.org/beaconplus/#beacon-v2-path-examples-in-progenetix)) for Progenetix REST paths ### Cafe Variome From a0fb9f0ed4bdb97f88305275db9f1a140e336f34 Mon Sep 17 00:00:00 2001 From: Michael Baudis Date: Tue, 14 Mar 2023 17:34:33 +0100 Subject: [PATCH 02/32] Update index.md test edit --- docs/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.md b/docs/index.md index c8da2ee65..c3f6330cb 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,6 +1,6 @@ # Welcome to the Beacon v2 Documentation -!!! Note "Approved GA4GH Standard" +!!! Note "A SDtandard of the Global Alliance for Genomics and Health GA4GH" On [2022-04-21](formats-standards/#dates-and-times) Beacon v2 has been approved as an official [GA4GH standard](https://www.ga4gh.org/) through the GA4GH steering committee. From b851579f6f039e8fedcf896ecffd0307b6e4491d Mon Sep 17 00:00:00 2001 From: Michael Baudis Date: Tue, 14 Mar 2023 17:39:08 +0100 Subject: [PATCH 03/32] Update index.md --- docs/index.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/index.md b/docs/index.md index c3f6330cb..fa7b948a7 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,6 +1,6 @@ # Welcome to the Beacon v2 Documentation -!!! Note "A SDtandard of the Global Alliance for Genomics and Health GA4GH" +!!! Note "A Standard of the Global Alliance for Genomics and Health GA4GH" On [2022-04-21](formats-standards/#dates-and-times) Beacon v2 has been approved as an official [GA4GH standard](https://www.ga4gh.org/) through the GA4GH steering committee. @@ -19,7 +19,9 @@ into resources and workflows, the major 2.0 release in 2022 introduced a large r
Beacon v2 specification
-The core documentation (i.e. this document) can be found on [here](http://docs.genomebeacons.org). +The core documentation (i.e. this document) can be found on [here](http://docs.genomebeacons.org). Additional +information about the Beacon project - including news, events, publications - is available +through the website [beacon-project.io](http://beacon-project.io). ## Informations for Different Types of Beacon Users From 213fddcf63aa91d23755ac9b74f665cebfa6c983 Mon Sep 17 00:00:00 2001 From: Michael Baudis Date: Tue, 14 Mar 2023 17:51:18 +0100 Subject: [PATCH 04/32] Update security.md --- docs/security.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/security.md b/docs/security.md index a05c2aeaa..1fc923176 100644 --- a/docs/security.md +++ b/docs/security.md @@ -2,8 +2,8 @@ !!! Warning "Disclaimer" - A stand-alone regulatory and ethics review has been performed on the specification itself, - however, it is the responsibility of the implementer to ensure that appropriate measures are taken + A stand-alone regulatory and ethics review has been performed on the specification itself> + However, it is the responsibility of the implementer to ensure that appropriate measures are taken to remove risks related to privacy, confidentiality, and/or security of data. The Beacon uses a 3-tiered access model: `anonymous`, `registered`, and `controlled access`. @@ -14,9 +14,11 @@ The Beacon uses a 3-tiered access model: `anonymous`, `registered`, and `control of security please see the [Framework](framework.md) documentation. ## Registered + For a Beacon to respond to a query at the **registered** tier, the user must identify themselves to the Beacon, for example by using an [ELIXIR identity](https://elixir-europe.org/internal-projects/commissioned-services/identity-access). ## Controlled + For a Beacon to respond to a **controlled** access query, the user must have applied for, and been granted access to, the Beacon (or data derived from one or more individuals within the Beacon) individuals) whose data is only accessible at specified tiers within the Beacon. This tiered access model allows the owner or controller of a Beacon to determine which responses are returned to whom depending on the query and the user who is making the request, for example to ensure the response respects the consent under which the data were collected. @@ -25,4 +27,5 @@ individuals) whose data is only accessible at specified tiers within the Beacon. Anonymous Beacon can be accessed by any request. !!! Warning "Synthetic data" - The use of synthetic data for testing is important in that it ensures that the full functionality of a Beacon can be tested and / or demonstrated without risk of exposing data from individuals. In addition to testing or demonstrating a deployment, synthetic data should be used for development, for example adding new features. + + The use of synthetic data for testing is important in that it ensures that the full functionality of a Beacon can be tested and / or demonstrated without risk of exposing data from individuals. In addition to testing or demonstrating a deployment, synthetic data should be used for development, for example when adding new features. From ee11ce19ec2f3664f4a323169f59bf54c7c538d1 Mon Sep 17 00:00:00 2001 From: Michael Baudis Date: Tue, 14 Mar 2023 17:58:11 +0100 Subject: [PATCH 05/32] Update bugs-changes-log.md --- docs/bugs-changes-log.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/bugs-changes-log.md b/docs/bugs-changes-log.md index 270fa27b5..f26870b1e 100644 --- a/docs/bugs-changes-log.md +++ b/docs/bugs-changes-log.md @@ -16,6 +16,11 @@ ## Changes +#### 2023-03-14: New `website-docs` branch + +To protect the code branches we are using now a separate ``website-docs`` branch in `beacon-v2` for documentation +website updates. Please make sure all documentation edits happen there! + #### 2022-06-20: Retiring of `beacon-framework-v2` and `beacon-v2-Models` repos * all issues and PRs were either resolved or transferred to this repository From 799133b11ead9619441c9b9ee1eef2eae72b465b Mon Sep 17 00:00:00 2001 From: Michael Baudis Date: Thu, 30 Mar 2023 10:05:49 -0700 Subject: [PATCH 06/32] Update variant-queries.md --- docs/variant-queries.md | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/docs/variant-queries.md b/docs/variant-queries.md index 976586a5b..86594434c 100644 --- a/docs/variant-queries.md +++ b/docs/variant-queries.md @@ -336,18 +336,24 @@ values to underlying genomic variations had not been precisely defined. Experimental Factor Ontology or the GA4GH Variant Representation Standard VRS (which ligns with the main EFO terms). -### Term Use Comparison -| Beacon           | [VCF](https://samtools.github.io/hts-specs/) | SO | [EFO](http://www.ebi.ac.uk/efo/EFO_0030063) | [VRS](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) | Notes | -| -------|-----|----|-----|-----|---------| -| `DUP`[^1] or
[`EFO:0030070`](http://www.ebi.ac.uk/efo/EFO_0030070) | `DUP`
`SVCLAIM=D`[^2] | [`SO:0001742`](http://www.sequenceontology.org/browser/current_release/term/SO:0001742) copy_number_gain | [`EFO:0030070`](http://www.ebi.ac.uk/efo/EFO_0030070) copy number gain | [`low-level gain`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) (implicit) | a sequence alteration whereby the copy number of a given genomic region is greater than the reference sequence | -| `DUP`[^1] or
[`EFO:0030071`](http://www.ebi.ac.uk/efo/EFO_0030071) | `DUP`
`SVCLAIM=D`[^2] | [`SO:0001742`](http://www.sequenceontology.org/browser/current_release/term/SO:0001742) copy_number_gain |[`EFO:0030071`](http://www.ebi.ac.uk/efo/EFO_0030071) low-level copy number gain | [`low-level gain`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) | | -| `DUP`[^1] or
[`EFO:0030072`](http://www.ebi.ac.uk/efo/EFO_0030072) | `DUP`
`SVCLAIM=D`[^2] | [`SO:0001742`](http://www.sequenceontology.org/browser/current_release/term/SO:0001742) copy_number_gain |[`EFO:0030072`](http://www.ebi.ac.uk/efo/EFO_0030072) high-level copy number gain | [`high-level gain`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) | commonly but not consistently used for >=5 copies on a bi-allelic genome region | -| `DUP`[^1] or
[`EFO:0030073`](http://www.ebi.ac.uk/efo/EFO_0030073) | `DUP`
`SVCLAIM=D`[^2] | [`SO:0001742`](http://www.sequenceontology.org/browser/current_release/term/SO:0001742) copy_number_gain |[`EFO:0030073`](http://www.ebi.ac.uk/efo/EFO_0030073) focal genome amplification | [`high-level gain`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) | commonly but not consistently used for >=5 copies on a bi-allelic genome region, of limited size (operationally max. 1-5Mb) | -| `DEL`[^1] or
[`EFO:0030067`](http://www.ebi.ac.uk/efo/EFO_0030067) | `DEL`
`SVCLAIM=D`[^2] | [`SO:0001743`](http://www.sequenceontology.org/browser/current_release/term/SO:0001743) copy_number_loss | [`EFO:0030067`](http://www.ebi.ac.uk/efo/EFO_0030067) copy number loss | [`partial loss`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) (implicit) | a sequence alteration whereby the copy number of a given genomic region is smaller than the reference sequence | -| `DEL`[^1] or
[`EFO:0030068`](http://www.ebi.ac.uk/efo/EFO_0030068) | `DEL`
`SVCLAIM=D`[^2] | [`SO:0001743`](http://www.sequenceontology.org/browser/current_release/term/SO:0001743) copy_number_loss | [`EFO:0030068`](http://www.ebi.ac.uk/efo/EFO_0030068) low-level copy number loss | [`partial loss`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) | | -| `DEL`[^1] or
[`EFO:0030069`](http://www.ebi.ac.uk/efo/EFO_0030069) | `DEL`
`SVCLAIM=D`[^2] | [`SO:0001743`](http://www.sequenceontology.org/browser/current_release/term/SO:0001743) copy_number_loss | [`EFO:0030069`](http://www.ebi.ac.uk/efo/EFO_0030069) complete genomic deletion | [`complete loss`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) | complete genomic deletion (e.g. homozygous deletion on a bi-allelic genome region) | +## CNV Term Use Comparison in Computational (File/Schema) Formats +This table is maintained in parallel with the [hCNV community documentation](https://cnvar.org/resources/CNV-annotation-standards/#cnv-term-use-comparison-in-computational-fileschema-formats). + +| [EFO](http://www.ebi.ac.uk/efo/EFO_0030063) | Beacon | [VCF](https://samtools.github.io/hts-specs/) | SO | GA4GH [VRS](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) ⇒
[VRS proposal](https://github.com/ga4gh/vrs/issues/404)[^1] | Notes | +| ------------------------------------------- | ------------------------------------------------------------------------------ | -------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ----- | +| [`EFO:0030070`](http://www.ebi.ac.uk/efo/EFO_0030070) copy number gain | `DUP`[^2] or
[`EFO:0030070`](http://www.ebi.ac.uk/efo/EFO_0030070) | `DUP`
`SVCLAIM=D`[^3] | [`SO:0001742`](http://www.sequenceontology.org/browser/current_release/term/SO:0001742) copy_number_gain | [`low-level gain`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) (implicit) ⇒ [`EFO:0030070`](http://www.ebi.ac.uk/efo/EFO_0030070) copy number gain | a sequence alteration whereby the copy number of a given genomic region is greater than the reference sequence | +| [`EFO:0030071`](http://www.ebi.ac.uk/efo/EFO_0030071) low-level copy number gain| `DUP`[^2] or
[`EFO:0030071`](http://www.ebi.ac.uk/efo/EFO_0030071) | `DUP`
`SVCLAIM=D`[^3] | [`SO:0001742`](http://www.sequenceontology.org/browser/current_release/term/SO:0001742) copy_number_gain | [`low-level gain`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) ⇒ [`EFO:0030071`](http://www.ebi.ac.uk/efo/EFO_0030071) low-level copy number gain | | +| [`EFO:0030072`](http://www.ebi.ac.uk/efo/EFO_0030072) high-level copy number gain | `DUP`[^2] or
[`EFO:0030072`](http://www.ebi.ac.uk/efo/EFO_0030072) | `DUP`
`SVCLAIM=D`[^3] | [`SO:0001742`](http://www.sequenceontology.org/browser/current_release/term/SO:0001742) copy_number_gain | [`high-level gain`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) ⇒ [`EFO:0030072`](http://www.ebi.ac.uk/efo/EFO_0030072) high-level copy number gain | commonly but not consistently used for >=5 copies on a bi-allelic genome region | +| [`EFO:0030073`](http://www.ebi.ac.uk/efo/EFO_0030073) focal genome amplification | `DUP`[^2] or
[`EFO:0030073`](http://www.ebi.ac.uk/efo/EFO_0030073) | `DUP`
`SVCLAIM=D`[^3] | [`SO:0001742`](http://www.sequenceontology.org/browser/current_release/term/SO:0001742) copy_number_gain | [`high-level gain`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) ⇒ [`EFO:0030073`](http://www.ebi.ac.uk/efo/EFO_0030073) focal genome amplification | commonly but not consistently used for >=5 copies on a bi-allelic genome region, of limited size (operationally max. 1-5Mb) | +| [`EFO:0030067`](http://www.ebi.ac.uk/efo/EFO_0030067) copy number loss | `DEL`[^2] or
[`EFO:0030067`](http://www.ebi.ac.uk/efo/EFO_0030067) | `DEL`
`SVCLAIM=D`[^3] | [`SO:0001743`](http://www.sequenceontology.org/browser/current_release/term/SO:0001743) copy_number_loss | [`partial loss`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) (implicit) ⇒ [`EFO:0030067`](http://www.ebi.ac.uk/efo/EFO_0030067) copy number loss | a sequence alteration whereby the copy number of a given genomic region is smaller than the reference sequence | +| [`EFO:0030068`](http://www.ebi.ac.uk/efo/EFO_0030068) low-level copy number loss | `DEL`[^2] or
[`EFO:0030068`](http://www.ebi.ac.uk/efo/EFO_0030068) | `DEL`
`SVCLAIM=D`[^3] | [`SO:0001743`](http://www.sequenceontology.org/browser/current_release/term/SO:0001743) copy_number_loss | [`partial loss`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) ⇒ [`EFO:0030068`](http://www.ebi.ac.uk/efo/EFO_0030068) low-level copy number loss | | +| [`EFO:0020073`](http://www.ebi.ac.uk/efo/EFO_0020073) high-level copy number loss | `DEL`[^2] or
[`EFO:0020073`](https://github.com/EBISPOT/efo/issues/1941) | `DEL`
`SVCLAIM=D`[^3] | [`SO:0001743`](http://www.sequenceontology.org/browser/current_release/term/SO:0001743) copy_number_loss | [`partial loss`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) ⇒ [`EFO:0020073`](https://github.com/EBISPOT/efo/issues/1941) high-level copy number loss | a loss of several copies; also used in cases where a complete genomic deletion cannot be asserted | +| [`EFO:0030069`](http://www.ebi.ac.uk/efo/EFO_0030069) complete genomic deletion | `DEL`[^2] or
[`EFO:0030069`](http://www.ebi.ac.uk/efo/EFO_0030069) | `DEL`
`SVCLAIM=D`[^3] | [`SO:0001743`](http://www.sequenceontology.org/browser/current_release/term/SO:0001743) copy_number_loss | [`complete loss`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) ⇒ [`EFO:0030069`](http://www.ebi.ac.uk/efo/EFO_0030069) complete genomic deletion | complete genomic deletion (e.g. homozygous deletion on a bi-allelic genome region) | + +##### Last updated 2023-03-22 by @mbaudis (EFO:0020073) +##### updated 2023-03-20 by @mbaudis (VRS proposal) ## Query Parameter Change Log @@ -378,12 +384,17 @@ recommended for query forms and `alternateBases` -[^1]: While the use of VCF derived (`DUP`, `DEL`) values had been introduced with +[^1]: The VRS annotations refer to the status at v1.2 (2022). The GA4GH VRS team +is currently (Spring 2023) preparing an updated specification which will introduce +the new class `CopyNumberChange` ([discussion...](https://github.com/ga4gh/vrs/issues/404#issuecomment-1472599849)) with the use of the EFO terms (including a new term +for `high level deletion (EFO:0020073)` in the April 2023 EFO release). +[^2]: While the use of VCF derived (`DUP`, `DEL`) values had been introduced with beacon v1, usage of these terms has always been a _recommendation_ rather than an integral part of the API. We now encourage the support of more specific terms (particularly EFO) by Beacon developers. As example, the Progentix Beacon API [uses EFO terms](http://progenetix.org/search/) but provides an internal term expansion for legacy `DUP`, `DEL` support. -[^2]: VCFv4.4 introduces an `SVCLAIM` field to disambiguate between _in situ_ events (such as +[^3]: VCFv4.4 introduces an `SVCLAIM` field to disambiguate between _in situ_ events (such as tandem duplications; known _adjacency_/ _break junction_: `SVCLAIM=J`) and events where e.g. only the change in _abundance_ / _read depth_ (`SVCLAIM=D`) has been determined. Both **J** and **D** flags can be combined. + From c8c2904e5dbe0c64a4f67ad040a8cd7ea182b01e Mon Sep 17 00:00:00 2001 From: d-salgado Date: Tue, 11 Apr 2023 16:21:46 +0200 Subject: [PATCH 07/32] Update README.md correction of a typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 236d4540f..f241c53a1 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ There is a set of tools in [`/bin`](./bin/) to facilitate the conversion. ATM, a * change notes with respect to the repository & documentation are now in [docs.genomebeacons.org](http://docs.genomebeacons.org/bugs-changes-log/) * NOTE: on 2022-06-20 the previous development repositories have been archived: - ARCHIVE - [beacon-framework-v2](https://github.com/ga4gh-beacon/beacon-framework-v2) - - ARCHIVE - [[beacon-v2-Models](https://github.com/ga4gh-beacon/beacon-v2-Models) + - ARCHIVE - [beacon-v2-Models](https://github.com/ga4gh-beacon/beacon-v2-Models) ## Directory structure From b8ed6f84e9c69d2cdada0c333cef3973bf156a67 Mon Sep 17 00:00:00 2001 From: Michael Baudis Date: Mon, 8 May 2023 10:16:54 +0200 Subject: [PATCH 08/32] adding contribution/development pages Documentation: Additional contribution/development pages together with a reorganization of the navigation structure. Also, clarification of the cohorts relation (https://github.com/ga4gh-beacon/beacon-v2/issues/80). --- docs/code-organization.md | 28 +++++++++++++++++++++ docs/contribute.md | 8 ++++++ docs/models.md | 6 ++--- mkdocs.yaml | 52 ++++++++++++++++++++------------------- 4 files changed, 66 insertions(+), 28 deletions(-) create mode 100644 docs/code-organization.md create mode 100644 docs/contribute.md diff --git a/docs/code-organization.md b/docs/code-organization.md new file mode 100644 index 000000000..c8fcbf921 --- /dev/null +++ b/docs/code-organization.md @@ -0,0 +1,28 @@ +# Repository and Branch Organization + +The development of Beacon code and documentation happens in the [`beacon-v2` repository](https://github.com/ga4gh-beacon/beacon-v2). + +## Core branches + +### `main` + +The `main` branch is the branch used for production, it reflects the last version that beacon v2 has reached by accomplishing the milestones that ga4gh has set for the beacon to be considered as a new version. It can only be committed by a PR from the develop branch and exceptionally by some hotfixes to correct errors spotted after its official deployment. + +### `develop` + +The `develop` branch is the branch used for development, it reflects the current state of the progress of development. It can be modified by all the PR from the feature branches that have been finished (this means that must include all the merges from the subfeature branches) and the PR must reach a consensus to be finally accepted. + +### `website-docs` + +This branch is used to maintain the website at . The relevant files consists of anything under `/docs` as well as the configuration file (`/mkdocs.yaml`) and the workflow file for processing the pages under `/.github/workflows/mk-beacon-docs.yaml`. + +Changes to the Markdown files in the `/docs` directory (and its children) will initiate the processing of the workflow file; updating of the website than may take some minutes. + +### `gh-pages` + +The `gh-pages` branch is generated from the `/docs` directory through its `mkdocs` workflow and contains the website itself. **Do not edit** + +## Topic branches + +==TBD== + diff --git a/docs/contribute.md b/docs/contribute.md new file mode 100644 index 000000000..17f925f50 --- /dev/null +++ b/docs/contribute.md @@ -0,0 +1,8 @@ +# How to Contribute to Beacon Development + +The Beacon API & standard is a driver project of the Global Alliance for Genomics +and Health [**GA4GH**](http://ga4gh.org). Since 2016 Beacon development has been +organized through projects supported by ELIXIR with additional contributions from +outside organizations and individual developers and implementers. + +==TBD== \ No newline at end of file diff --git a/docs/models.md b/docs/models.md index f6584fe72..8472b426a 100644 --- a/docs/models.md +++ b/docs/models.md @@ -23,7 +23,7 @@ A **beacon instance** is just an implementation of a Beacon Model that follows t - especially for networked beacons - it does not prescribe how data should be organised in individual instances or what schemas should be used for local storage. -If you are a Beacon implementer, then, you don't need to clone the Framework repo, you only need to **copy** (*or clone*) the Beacon Model and modify it to your specific case. You will find plenty of references to the Framework in the Model copy, and you will use the Json schemas there to validate that both the structure of your requests and responses are compliant with the Beacon Framework. The Framewrok is not used to check the schema in the responses payload (e.g. the actual details of a biosample of a cohort). The schemas for that are included in the Model that you should have copied. +If you are a Beacon implementer, then, you don't need to clone the Framework repo, you only need to **copy** (*or clone*) the Beacon Model and modify it to your specific case. You will find plenty of references to the Framework in the Model copy, and you will use the Json schemas there to validate that both the structure of your requests and responses are compliant with the Beacon Framework. The Framework is not used to check the schema in the responses payload (e.g. the actual details of a biosample of a cohort). The schemas for that are included in the Model that you should have copied.
@@ -48,7 +48,7 @@ classDiagram individuals <.. analyses : 1..n individuals <.. runs : 1..n - cohorts o-- individuals : 1..n + cohorts o-- individuals : m..n datasets o-- genomicVariations : 1..n class genomicVariations{ @@ -123,7 +123,7 @@ classDiagram The above entities are defined as follows; - * Collections (**Datasets** and **Cohorts**): groupings of variants or individuals that share something in common: e.g., who belong to the same repository (datasets) or study population (cohorts). + * Collections (**Datasets** and **Cohorts**): groupings of variants or individuals that share something in common: e.g., who belong to the same repository (datasets) or study populations (cohorts). * **Genomic variations**: unique genomic alterations, e.g., position in a genome, sequence alterations, type, etc. * **Individuals**: either patients or healthy controls whose details (including phenotypic and clinical) are stored in the repository. * **Biosamples**: samples taken from individuals, including details of procedures, dates and times. diff --git a/mkdocs.yaml b/mkdocs.yaml index 881f243be..d3e73e471 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -56,41 +56,43 @@ markdown_extensions: nav: - Introduction: - - General Introduction: index.md - - What is Beacon v2?: what-is-beacon-v2.md - - FAQ: FAQ.md - - Changes: bugs-changes-log.md + - General Introduction: index + - What is Beacon v2?: what-is-beacon-v2 + - Beacon Flavours: beacon-flavours + - Security: security + - Networks: networks + - FAQ: FAQ + - Changes: bugs-changes-log - Querying Beacons: - - REST API: rest-api.md - - Genomic Queries: variant-queries.md + - REST API: rest-api + - Genomic Queries: variant-queries - Filters in Queries: /filters/#using-filters-in-queries - 'Implement & Deploy a Beacon': - - Implementations Options: implementations-options.md - - Standards Integration: formats-standards.md - - Filters: filters.md + - Implementations Options: implementations-options + - Standards Integration: formats-standards + - Filters: filters - Beacon Implementations: - Reference Implementation ↗: https://b2ri-documentation.readthedocs.io/en/latest/ - - Others: other-implementations.md - - Beacon Types: - - Beacon Flavours: beacon-flavours.md - - Security: security.md - - Networks: networks.md + - Others: other-implementations - Beacon Components: - - Framework: framework.md + - Framework: framework - Models: - - Introduction: models.md + - Introduction: models - Default Schemas: - - Analyses: schemas-md/analyses_defaultSchema.md - - Biosamples: schemas-md/biosamples_defaultSchema.md - - Cohorts: schemas-md/cohorts_defaultSchema.md - - Datasets: schemas-md/datasets_defaultSchema.md - - Genomic Variations: schemas-md/genomicVariations_defaultSchema.md - - Individuals: schemas-md/individuals_defaultSchema.md - - Runs: schemas-md/runs_defaultSchema.md - - Terms List: schemas-md/beacon_terms.md + - Analyses: schemas-md/analyses_defaultSchema + - Biosamples: schemas-md/biosamples_defaultSchema + - Cohorts: schemas-md/cohorts_defaultSchema + - Datasets: schemas-md/datasets_defaultSchema + - Genomic Variations: schemas-md/genomicVariations_defaultSchema + - Individuals: schemas-md/individuals_defaultSchema + - Runs: schemas-md/runs_defaultSchema + - Terms List: schemas-md/beacon_terms + - Beacon Development: + - How to Contribute: contribute + - Repository and Branch Organization: code-organization + - Github Repositories ↗: https://github.com/ga4gh-beacon/ - External Links: - Beacon Project ↗: http://beacon-project.io - - Github Repositories ↗: https://github.com/ga4gh-beacon/ # - Download PDF: pdf/beacon.pdf theme: From fca32338dc11594fce1bfcf5ef8c128246e5e39d Mon Sep 17 00:00:00 2001 From: Michael Baudis Date: Wed, 31 May 2023 22:24:47 +0200 Subject: [PATCH 09/32] Update filters.md More details and examples about the use of filters in various scenarios, including GET examples for age etc. A main change here is the alignment of the filter types w/ the specification (e.g. no separate "numeric" type). --- docs/filters.md | 136 +++++++++++++++++++++++++++++++----------------- 1 file changed, 89 insertions(+), 47 deletions(-) diff --git a/docs/filters.md b/docs/filters.md index dabe630d6..a8b20fba0 100644 --- a/docs/filters.md +++ b/docs/filters.md @@ -4,15 +4,25 @@ _Filters_ represent a powerful addition to the Beacon query API. They are rules !!! Important "Using Filters" - Please see [Using Filters in Queries](/filters/#using-filters-in-queries) for more information on how to use filters in Beacon requests. + Please see [Using Filters in Queries](/filters/#using-filters-in-queries) for + more information on how to use filters in Beacon requests. ## Filter types -A Beacon can support four types of Filters. -1. **Bio-ontology terms** for biomedical data or procedural metadata that are contained in public repositories such as the EMBL-EBI [Ontology Lookup Service](https://www.ebi.ac.uk/ols/index) or the NCBO [BioPortal](https://bioportal.bioontology.org/). Bio-ontology terms are identified using the full term/class identifier as CURIE, e.g. “HP:0100526”. -2. **Custom terms** for biomedical or metadata terms that are locally defined by a Beacon (e.g. not corresponding to known bio-ontology terms). Custom terms must contain unique identifiers that are used in Beacon requests. -3. **Numerical values** include integer, decimal and float data types. -4. **Alphanumerical values** include alphabetic letters and special characters with or without numbers. +A Beacon can support three general types of Filters. + +1. **Bio-ontology terms and public identifiers** for biomedical data, procedural + metadata or prefixed identifiers listed in public repositories such as the EMBL-EBI + [Ontology Lookup Service](https://www.ebi.ac.uk/ols/index), the NCBO [BioPortal](https://bioportal.bioontology.org/) + or PubMed. `OntologyFilters` are identified using the full term/class identifier + as CURIE, e.g. “HP:0100526”. +2. **Numerical and alphanumerical values** including an indicator for their logical + scope - preferably as a CURIE (e.g. `HP:0032443` _Past medical history_), a + comparator and a numerical, pseudo-numerical (e.g. ISO8601 period) or string + value +3. **Custom terms** for biomedical or metadata terms that are locally defined by + a Beacon (e.g. not corresponding to known bio-ontology terms). Custom terms must + contain unique identifiers that are used in Beacon requests (e.g. local prefixes. ## _/filtering_terms_ informational endpoint @@ -50,9 +60,9 @@ Bio-ontology and custom term Filter types contain: } ``` -Numerical value Filter types contain: +Alphanumerical value Filter types contain: -* `type` = data type as 'numeric' (required) +* `type` = data type as 'alphanumeric' (required) * `id` = field id (required) * `label` = field label (optional) @@ -63,18 +73,6 @@ Numerical value Filter types contain: "id": "PATO:000001", "label": "age" }, - ... -] -``` - -Alphanumerical value Filter types contain: - -* `type` = data type as 'alphanumeric' (required) -* `id` = field id (required) -* `label` = field label (optional) - -``` -"filterTerms": [ { "type": "alphanumeric", "id": "HP:0032443", @@ -94,7 +92,14 @@ For all query types, the logical `AND` is implied between Filters. The Filter `i In this case general filter defaults apply (e.g. `{ "includeDescendantTerms": true }`). Generally, use of filters other than CURIE values for filter ids is discouraged. -### Simple CURIE based filters query +### CURIE based filters query + +!!! note "Hierarchical term expansion" + + It is recomended that the use of terms from hierarchical ontologies/classicfications + uses an internal term expansion mechanism - _i.e._ records with parameters containing + a child term are matched when the parent term is being queried. + This default behaviour can be modoiified (see below). The following query retrieves (or filters retrieved...) data matching the diagnosis of Papillary Renal Cell Carcinoma (NCIT:C6975) from a publication identified through its PubMed id (22824167): @@ -119,7 +124,7 @@ Papillary Renal Cell Carcinoma (NCIT:C6975) from a publication identified throug ``` -### Hierarchical ontology query +### Modified hierarchical ontology query A Beacon will query for entities associated with the submitted bio-ontology term(s), and by default, all descendent terms. The optional `includeDescendantTerms` parameter can be set to either `true` or `false`. The default and assumed value @@ -162,26 +167,57 @@ POST request example of two Filters using differing relative similarity threshol ] ``` -### Numerical value query +### (Pseudo-)numerical value queries -A Beacon will query for quantitative properties when the required `operator` and numerical `value` parameters are set in the filters request. -The `id` parameter identifies the field name, the `operator` parameter defines the operator to use, and the `value` parameter provides the field query value. Equality and relational operators (= < >) can be used between field name and field value pairs, and field values can be associated with units if applicable. +A Beacon will query for quantitative properties when the required `operator` and +numerical `value` parameters are set in the filters request. The `id` parameter +identifies the field name, the `operator` parameter defines the operator to use, +and the `value` parameter provides the field query value. Equality and relational +operators (= < >) can be used between field name and field value pairs, and field +values can be associated with units if applicable. -POST request example of a Filter for individuals over 70 years of age (age = PATO:0000011, age syntax as ISO 8601): +##### Example of a Filter for individuals over 70 years of age (age = PATO:0000011, +age syntax as ISO 8601) -```json -"filters": [ - { - "id": "PATO:0000011", - "operator": ">", - "value": "P70Y" - } -] -``` +=== "GET" + + * `filters=age:>P70Y` + - intuitive use but w/o clear scoping (age... when?) + * `filters=PATO_0000011:>P70Y` ("age") + - using a term for expressing the age quality of the ISO8601 duration + - computationally more robust but w/o additional quality (age... when?) + * `filters=EFO_0004847:>P70Y` ("age at onset") + - specific for an "onset" scope of the age value + +=== "POST" + + ```json + "filters": [ + { + "id": "PATO:0000011", + "operator": ">", + "value": "P70Y" + } + ] + ``` + +We recommend that implementers provide term expansions for equivalent terms, +depending on the context. Also, it is up to the implementers to provide the +correct tooling for e.g. transformation of input values (e.g. numerical age in +years and comparator) to the standardized wire format (e.g. ages/durations are +**always** transmitted as ISO8601 periods) as well as the correct deparsing and +use (e.g. the ISO values probably will be converted to some numerical format for +database matches). -### Alphanumerical value query + +### Alphanumerical value query (_i.e._ text matches) -A Beacon will query free-text values within fields when the required `operator` and alphanumerical `value` parameters are set in the filters request. Queries can be for exact alphanumerical values, used to exclude alphanumerical values, or employ wildcards to match patterns within alphanumerical values. In all query classes, the `id` parameter identifies the field name, the `operator` parameter defines the operator to use, and the `value` parameter provides the field query value. +A Beacon will query free-text values within fields when the required `operator` +and alphanumerical `value` parameters are set in the filters request. Queries can +be for exact alphanumerical values, used to exclude alphanumerical values, or employ +wildcards to match patterns within alphanumerical values. In all query classes, +the `id` parameter identifies the field name, the `operator` parameter defines the +operator to use, and the `value` parameter provides the field query value. #### 'EXACT' value query @@ -219,14 +255,20 @@ POST request example to filter medical history free-text for any reference to ca The `operator` parameter is set to the logical not (!) operator. The `value` parameter should not be present in field value. The wildcard character can be used if required. -POST request example to filter medical history free-text for records that do not include the query string: +##### Example to filter medical history free-text for records that do not include the query string -```json -"filters": [ - { - "id": "HP:0032443", - "operator": "!", - "value": "unknown medical history" - } -] -``` +=== "GET" + + `filters=HP_0032443:!unknown+medical+history` + +=== "POST" + + ```json + "filters": [ + { + "id": "HP:0032443", + "operator": "!", + "value": "unknown medical history" + } + ] + ``` From 5ba60b3ac8a755b4ba957957dade0a73c20b3223 Mon Sep 17 00:00:00 2001 From: Michael Baudis Date: Wed, 31 May 2023 22:26:59 +0200 Subject: [PATCH 10/32] Update filters.md ... and fixing `filterTerms` => `filteringTerms` --- docs/filters.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/filters.md b/docs/filters.md index a8b20fba0..10fa40af3 100644 --- a/docs/filters.md +++ b/docs/filters.md @@ -28,7 +28,7 @@ A Beacon can support three general types of Filters. The _/filtering_terms_ endpoint returns a list of all data fields whose values may be subjected to filtering, plus the data type(s) for those fields, and/or the list of extant values for each of those data fields in the current dataset. In addition, for each bio-ontology used by a Beacon, the endpoint response includes a description of the bio-ontology in [Phenopackets Resource](https://phenopacket-schema.readthedocs.io/en/latest/resource.html) format. -The endpoint's `filterTerms` response identifies the Filter types. +The endpoint's `filteringTerms` response identifies the Filter types. Bio-ontology and custom term Filter types contain: @@ -49,7 +49,7 @@ Bio-ontology and custom term Filter types contain: }, ... ], - "filterTerms": [ + "filteringTerms": [ { "type": "Human Phenotype Ontology", "id": "HP:0008773", @@ -67,7 +67,7 @@ Alphanumerical value Filter types contain: * `label` = field label (optional) ``` -"filterTerms": [ +"filteringTerms": [ { "type": "numeric", "id": "PATO:000001", From fb7b48d4243c297c2324fa50b22e123a89025b26 Mon Sep 17 00:00:00 2001 From: Michael Baudis Date: Wed, 31 May 2023 22:37:03 +0200 Subject: [PATCH 11/32] Update filters.md --- docs/filters.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/filters.md b/docs/filters.md index 10fa40af3..ff311db4f 100644 --- a/docs/filters.md +++ b/docs/filters.md @@ -171,7 +171,8 @@ POST request example of two Filters using differing relative similarity threshol A Beacon will query for quantitative properties when the required `operator` and numerical `value` parameters are set in the filters request. The `id` parameter -identifies the field name, the `operator` parameter defines the operator to use, +identifies the logical scope (with the exact field depending on the internal data +model at the resource), the `operator` parameter defines the operator to use, and the `value` parameter provides the field query value. Equality and relational operators (= < >) can be used between field name and field value pairs, and field values can be associated with units if applicable. @@ -201,7 +202,7 @@ age syntax as ISO 8601) ] ``` -We recommend that implementers provide term expansions for equivalent terms, +We recommend that implementers provide **term expansions** for equivalent terms, depending on the context. Also, it is up to the implementers to provide the correct tooling for e.g. transformation of input values (e.g. numerical age in years and comparator) to the standardized wire format (e.g. ages/durations are @@ -210,7 +211,7 @@ use (e.g. the ISO values probably will be converted to some numerical format for database matches). -### Alphanumerical value query (_i.e._ text matches) +### Text matches A Beacon will query free-text values within fields when the required `operator` and alphanumerical `value` parameters are set in the filters request. Queries can From 68f319d938ba58bf1e56b4b3e7d29fbaddd285a2 Mon Sep 17 00:00:00 2001 From: Michael Baudis Date: Wed, 31 May 2023 22:57:23 +0200 Subject: [PATCH 12/32] age queries in FAQ --- docs/FAQ.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docs/FAQ.md b/docs/FAQ.md index a1367616d..90a246248 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -103,6 +103,23 @@ ##### last change 2022-12-14 by Michael Baudis [:fontawesome-brands-github:](https://github.com/mbaudis) +??? faq "How can I add e.g. an age limit to a query for a disease?" + + Ages are queried as [ISO8601 durations](https://genomestandards.org/standards/dates-times/#durations) + such as `P65Y` (_i.e._ 65 years) with a comparator (`=`, `<=`, `>` ...). However, + the value needs an indication of _what_ the duration refers to and resources + may provide different ways to indicate this (as then shown in their `/filtering_terms`) + endpoint). + + We recommend that all Beacon instances that support age queries support at + minimum the syntax of `age:<=P65Y` and map such values to the internal datapoint + most relevant for the resource's context (in most cases probably corresponding + to "age at diagnioosis"). + + However, different scenarios may be supported (e.g. `EFO_0005056:<=P1Y6M` for + an "age at death" scenario). + + ??? faq "How can I handle haplotype queries & representation in Beacon v2?" " #### Queries From 3f1d174b2bb5609640fb0b2a03cc01b36903affa Mon Sep 17 00:00:00 2001 From: Michael Baudis Date: Wed, 31 May 2023 23:04:18 +0200 Subject: [PATCH 13/32] Nav mod --- docs/FAQ.md | 3 ++- mkdocs.yaml | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/FAQ.md b/docs/FAQ.md index 90a246248..f0dfb2704 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -114,11 +114,12 @@ We recommend that all Beacon instances that support age queries support at minimum the syntax of `age:<=P65Y` and map such values to the internal datapoint most relevant for the resource's context (in most cases probably corresponding - to "age at diagnioosis"). + to "age at diagniosis"). However, different scenarios may be supported (e.g. `EFO_0005056:<=P1Y6M` for an "age at death" scenario). + ##### last change 2023-05-31 by Michael Baudis [:fontawesome-brands-github:](https://github.com/mbaudis) ??? faq "How can I handle haplotype queries & representation in Beacon v2?" " diff --git a/mkdocs.yaml b/mkdocs.yaml index d3e73e471..19bc80677 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -66,7 +66,7 @@ nav: - Querying Beacons: - REST API: rest-api - Genomic Queries: variant-queries - - Filters in Queries: /filters/#using-filters-in-queries + - Phenotypes and More...: /filters/#using-filters-in-queries - 'Implement & Deploy a Beacon': - Implementations Options: implementations-options - Standards Integration: formats-standards From 5468efe2aeea4398e89c1321ae060ceba835571e Mon Sep 17 00:00:00 2001 From: Michael Baudis Date: Sun, 4 Jun 2023 15:51:19 +0200 Subject: [PATCH 14/32] http => https for all links This is an attempt to get the documentation site towards "clean HTTPS" --- README.md | 4 +-- bin/SCHEMAS2MD.md | 6 ++-- bin/beacon_yaml2md.pl | 8 +++--- bin/deref_schemas/datasets/defaultSchema.json | 2 +- bin/deref_schemas/datasets/defaultSchema.yaml | 2 +- .../genomicVariations/defaultSchema.json | 24 ++++++++-------- .../genomicVariations/defaultSchema.yaml | 24 ++++++++-------- bin/deref_schemas/obj/annotatedWith.yaml | 2 +- bin/deref_schemas/obj/caseLevelData.yaml | 4 +-- .../obj/clinicalInterpretations.yaml | 2 +- bin/deref_schemas/obj/externalUrl.yaml | 2 +- bin/deref_schemas/obj/identifiers.yaml | 2 +- bin/deref_schemas/obj/phenotypicEffects.yaml | 2 +- bin/deref_schemas/obj/toolReferences.yaml | 2 +- .../obj/variantAlternativeIds.yaml | 2 +- bin/deref_schemas/obj/variantLevelData.yaml | 4 +-- .../json-schema-ref-parser/CHANGELOG.md | 6 ++-- .../json-schema-ref-parser/README.md | 8 +++--- bin/node_modules/@jsdevtools/ono/CHANGELOG.md | 2 +- bin/node_modules/@jsdevtools/ono/README.md | 4 +-- .../@types/json-schema/index.d.ts | 28 +++++++++---------- bin/node_modules/argparse/CHANGELOG.md | 2 +- bin/node_modules/argparse/LICENSE | 10 +++---- bin/node_modules/argparse/README.md | 4 +-- bin/node_modules/call-me-maybe/.npmignore | 4 +-- bin/node_modules/call-me-maybe/package.json | 2 +- bin/node_modules/js-yaml/README.md | 16 +++++------ bin/node_modules/js-yaml/dist/js-yaml.js | 4 +-- bin/node_modules/js-yaml/dist/js-yaml.mjs | 4 +-- bin/node_modules/js-yaml/lib/exception.js | 2 +- bin/node_modules/js-yaml/lib/loader.js | 2 +- bin/node_modules/js-yaml/lib/schema/core.js | 2 +- .../js-yaml/lib/schema/default.js | 2 +- .../js-yaml/lib/schema/failsafe.js | 2 +- bin/node_modules/js-yaml/lib/schema/json.js | 2 +- bin/node_modules/js-yaml/package.json | 4 +-- docs/FAQ.md | 6 ++-- docs/README.md | 2 +- docs/bugs-changes-log.md | 2 +- docs/code-organization.md | 2 +- docs/contribute.md | 2 +- docs/filters.md | 4 +-- docs/formats-standards.md | 2 +- docs/img/link-solid.svg | 2 +- docs/implementations-options.md | 2 +- docs/implementations/org.progenetix.md | 28 +++++++++---------- docs/index.md | 4 +-- docs/other-implementations.md | 4 +-- docs/schemas-md/datasets_defaultSchema.md | 4 +-- docs/schemas-md/obj/externalUrl.md | 2 +- docs/schemas-md/obj/toolReferences.md | 2 +- docs/schemas-md/obj/variantAlternativeIds.md | 2 +- docs/variant-queries.md | 20 ++++++------- framework/json/endpoints.json | 2 +- .../beaconFilteringTermsResponse-example.json | 4 +-- .../beaconInfo-MAX-example.json | 4 +-- .../sections/beaconFilteringTermsResults.json | 4 +-- .../responses/sections/beaconInfoResults.json | 4 +-- framework/src/endpoints.yaml | 2 +- .../beaconFilteringTermsResponse-example.yaml | 4 +-- .../beaconInfo-MAX-example.yaml | 4 +-- .../sections/beaconFilteringTermsResults.yaml | 4 +-- .../responses/sections/beaconInfoResults.yaml | 4 +-- mkdocs.yaml | 2 +- .../analyses/endpoints.json | 2 +- .../biosamples/endpoints.json | 2 +- .../cohorts/endpoints.json | 2 +- .../datasets/defaultSchema.json | 2 +- .../datasets/endpoints.json | 2 +- .../examples/dataset-Max-example.json | 2 +- .../beacon-v2-default-model/endpoints.json | 2 +- .../genomicVariations/defaultSchema.json | 4 +-- .../genomicVariations/endpoints.json | 2 +- .../individuals/endpoints.json | 2 +- .../runs/endpoints.json | 2 +- .../analyses/endpoints.yaml | 2 +- .../biosamples/endpoints.yaml | 2 +- .../cohorts/endpoints.yaml | 2 +- .../datasets/defaultSchema.yaml | 2 +- .../datasets/endpoints.yaml | 2 +- .../examples/dataset-Max-example.yaml | 2 +- .../beacon-v2-default-model/endpoints.yaml | 2 +- .../genomicVariations/defaultSchema.yaml | 4 +-- .../genomicVariations/endpoints.yaml | 2 +- .../individuals/endpoints.yaml | 2 +- .../runs/endpoints.yaml | 2 +- 86 files changed, 189 insertions(+), 189 deletions(-) diff --git a/README.md b/README.md index f241c53a1..5da854bf5 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ This repository is a unified repository representing the different parts of the * [models](models) * Beacon v2 Documentation - authoritive source already in this repository [`/docs`](docs) - - rendered version through [here](https://beacon-project.io/beacon-v2/) (alternative address is [docs.genomebeacons.org](http://docs.genomebeacons.org)) + - rendered version through [here](https://beacon-project.io/beacon-v2/) (alternative address is [docs.genomebeacons.org](https://docs.genomebeacons.org)) As with other schema projects, here we separate between the schema source files (in `src`; JSON-Schema written in YAML) and the generated versions for referencing. The current setup allows already the direct referencing of the generated JSON schemas. Examples: @@ -30,7 +30,7 @@ There is a set of tools in [`/bin`](./bin/) to facilitate the conversion. ATM, a ### Changes -* change notes with respect to the repository & documentation are now in [docs.genomebeacons.org](http://docs.genomebeacons.org/bugs-changes-log/) +* change notes with respect to the repository & documentation are now in [docs.genomebeacons.org](https://docs.genomebeacons.org/bugs-changes-log/) * NOTE: on 2022-06-20 the previous development repositories have been archived: - ARCHIVE - [beacon-framework-v2](https://github.com/ga4gh-beacon/beacon-framework-v2) - ARCHIVE - [beacon-v2-Models](https://github.com/ga4gh-beacon/beacon-v2-Models) diff --git a/bin/SCHEMAS2MD.md b/bin/SCHEMAS2MD.md index 3a0b6e26a..cc7ff5b63 100644 --- a/bin/SCHEMAS2MD.md +++ b/bin/SCHEMAS2MD.md @@ -32,11 +32,11 @@ YAMLs schemas. Each time the original MS Word document was edited, someone had t This script inverts the process, i.e., **it enforces modifying the schema specification directly at the YAML/JSON level**. -Editing the schemas directly at the YAML/JSON level has two advantages, the first is that because we follow [OpenAPI](https://swagger.io/specification/) specification (along with JSON schema), _a priori_ we could use [SWAGGER UI](https://swagger.io/docs/open-source-tools/swagger-ui/usage/installation). The second is that the YAML/JSON files can be converted to Markdown tables in order to create [Markdown based documentation](http://docs.genomebeacons.org) documentation. This script **transforms YAML/JSON to Markdown tables**, including their nested objects **up to a third degree of hierarchy**. +Editing the schemas directly at the YAML/JSON level has two advantages, the first is that because we follow [OpenAPI](https://swagger.io/specification/) specification (along with JSON schema), _a priori_ we could use [SWAGGER UI](https://swagger.io/docs/open-source-tools/swagger-ui/usage/installation). The second is that the YAML/JSON files can be converted to Markdown tables in order to create [Markdown based documentation](https://docs.genomebeacons.org) documentation. This script **transforms YAML/JSON to Markdown tables**, including their nested objects **up to a third degree of hierarchy**. -The **Markdown** format can be directly rendered as tables at the GitHub repository, and it can be used with [MkDocs](https://www.mkdocs.org/) to create [HTML](http://docs.genomebeacons.org) documentation. +The **Markdown** format can be directly rendered as tables at the GitHub repository, and it can be used with [MkDocs](https://www.mkdocs.org/) to create [HTML](https://docs.genomebeacons.org) documentation. -Everytime a `git push` is performed to the [repo](https://github.com/ga4gh-beacon/beacon-v2) the documentation at [Github Pages](http://docs.genomebeacons.org) gets updated. Note that only content under directory `docs/` will make it to [Github Pages](http://docs.genomebeacons.org). +Everytime a `git push` is performed to the [repo](https://github.com/ga4gh-beacon/beacon-v2) the documentation at [Github Pages](https://docs.genomebeacons.org) gets updated. Note that only content under directory `docs/` will make it to [Github Pages](https://docs.genomebeacons.org). Before creating this tool, the author made an exhaustive search on what had been dveloped by the _community_ to automatically convert YAML/JSON to Markdown tables and found that there were many ways to go from YAML/JSON to HTML (e.g., CPAN, Python, Node.js), but not much from YAML/JSON to Markdown. Obviously, even in the case we had found something, some major tweaking will be needed in order to display things the way we want. diff --git a/bin/beacon_yaml2md.pl b/bin/beacon_yaml2md.pl index a74b1304d..9c8be4f38 100755 --- a/bin/beacon_yaml2md.pl +++ b/bin/beacon_yaml2md.pl @@ -582,7 +582,7 @@ sub create_str_yaml { description: References to the tool examples: - bio.toolsId: https://bio.tools/vep - - url: http://www.ensembl.org/vep + - url: https://www.ensembl.org/vep type: object EOF @@ -769,11 +769,11 @@ =head1 MOTIVATION This script inverts the process, i.e., B. -Editing the schemas directly at the YAML/JSON level has two advantages, the first is that because we follow L specification (along with JSON schema), I we could use L. The second is that the YAML/JSON files can be converted to Markdown tables in order to create L documentation. This script B, including their nested objects B. +Editing the schemas directly at the YAML/JSON level has two advantages, the first is that because we follow L specification (along with JSON schema), I we could use L. The second is that the YAML/JSON files can be converted to Markdown tables in order to create L documentation. This script B, including their nested objects B. -The B format can be directly rendered as tables at the GitHub repository, and it can be used with L to create L documentation. +The B format can be directly rendered as tables at the GitHub repository, and it can be used with L to create L documentation. -Everytime a C is performed to the L the documentation at L gets updated. Note that only content under directory C will make it to L. +Everytime a C is performed to the L the documentation at L gets updated. Note that only content under directory C will make it to L. Before creating this tool, the author made an exhaustive search on what had been dveloped by the I to automatically convert YAML/JSON to Markdown tables and found that there were many ways to go from YAML/JSON to HTML (e.g., CPAN, Python, Node.js), but not much from YAML/JSON to Markdown. Obviously, even in the case we had found something, some major tweaking will be needed in order to display things the way we want. diff --git a/bin/deref_schemas/datasets/defaultSchema.json b/bin/deref_schemas/datasets/defaultSchema.json index a5bfa0f22..75c3ff69c 100644 --- a/bin/deref_schemas/datasets/defaultSchema.json +++ b/bin/deref_schemas/datasets/defaultSchema.json @@ -247,7 +247,7 @@ "externalUrl": { "description": "URL to an external system providing more dataset information (RFC 3986 format).", "examples": [ - "http://example.org/wiki/Main_Page" + "https://example.org/wiki/Main_Page" ], "type": "string" }, diff --git a/bin/deref_schemas/datasets/defaultSchema.yaml b/bin/deref_schemas/datasets/defaultSchema.yaml index 2e72ed7ac..434a04245 100644 --- a/bin/deref_schemas/datasets/defaultSchema.yaml +++ b/bin/deref_schemas/datasets/defaultSchema.yaml @@ -165,7 +165,7 @@ properties: externalUrl: description: URL to an external system providing more dataset information (RFC 3986 format). examples: - - http://example.org/wiki/Main_Page + - https://example.org/wiki/Main_Page type: string id: description: Unique identifier of the dataset diff --git a/bin/deref_schemas/genomicVariations/defaultSchema.json b/bin/deref_schemas/genomicVariations/defaultSchema.json index aa5a2efc3..8bb046adb 100644 --- a/bin/deref_schemas/genomicVariations/defaultSchema.json +++ b/bin/deref_schemas/genomicVariations/defaultSchema.json @@ -98,7 +98,7 @@ "bio.toolsId": "https://bio.tools/vep" }, { - "url": "http://www.ensembl.org/vep" + "url": "https://www.ensembl.org/vep" } ], "minProperties": 1, @@ -295,7 +295,7 @@ "bio.toolsId": "https://bio.tools/vep" }, { - "url": "http://www.ensembl.org/vep" + "url": "https://www.ensembl.org/vep" } ], "minProperties": 1, @@ -706,7 +706,7 @@ { "id": "ClinGen:CA152954", "notes": "ClinGen Allele Registry id", - "reference": "http://reg.clinicalgenome.org/redmine/projects/registry/genboree_registry/by_caid?caid=CA152954" + "reference": "https://reg.clinicalgenome.org/redmine/projects/registry/genboree_registry/by_caid?caid=CA152954" }, { "id": "UniProtKB:P35557#VAR_003699", @@ -1563,7 +1563,7 @@ "bio.toolsId": "https://bio.tools/vep" }, { - "url": "http://www.ensembl.org/vep" + "url": "https://www.ensembl.org/vep" } ], "minProperties": 1, @@ -1766,7 +1766,7 @@ "bio.toolsId": "https://bio.tools/vep" }, { - "url": "http://www.ensembl.org/vep" + "url": "https://www.ensembl.org/vep" } ], "minProperties": 1, @@ -1811,7 +1811,7 @@ "bio.toolsId": "https://bio.tools/vep" }, { - "url": "http://www.ensembl.org/vep" + "url": "https://www.ensembl.org/vep" } ], "minProperties": 1, @@ -1994,7 +1994,7 @@ "bio.toolsId": "https://bio.tools/vep" }, { - "url": "http://www.ensembl.org/vep" + "url": "https://www.ensembl.org/vep" } ], "minProperties": 1, @@ -2259,7 +2259,7 @@ "bio.toolsId": "https://bio.tools/vep" }, { - "url": "http://www.ensembl.org/vep" + "url": "https://www.ensembl.org/vep" } ], "minProperties": 1, @@ -2456,7 +2456,7 @@ "bio.toolsId": "https://bio.tools/vep" }, { - "url": "http://www.ensembl.org/vep" + "url": "https://www.ensembl.org/vep" } ], "minProperties": 1, @@ -2797,7 +2797,7 @@ { "id": "ClinGen:CA152954", "notes": "ClinGen Allele Registry id", - "reference": "http://reg.clinicalgenome.org/redmine/projects/registry/genboree_registry/by_caid?caid=CA152954" + "reference": "https://reg.clinicalgenome.org/redmine/projects/registry/genboree_registry/by_caid?caid=CA152954" }, { "id": "UniProtKB:P35557#VAR_003699", @@ -3022,7 +3022,7 @@ "bio.toolsId": "https://bio.tools/vep" }, { - "url": "http://www.ensembl.org/vep" + "url": "https://www.ensembl.org/vep" } ], "minProperties": 1, @@ -3205,7 +3205,7 @@ "bio.toolsId": "https://bio.tools/vep" }, { - "url": "http://www.ensembl.org/vep" + "url": "https://www.ensembl.org/vep" } ], "minProperties": 1, diff --git a/bin/deref_schemas/genomicVariations/defaultSchema.yaml b/bin/deref_schemas/genomicVariations/defaultSchema.yaml index 6d547714c..2894f3ca3 100644 --- a/bin/deref_schemas/genomicVariations/defaultSchema.yaml +++ b/bin/deref_schemas/genomicVariations/defaultSchema.yaml @@ -68,7 +68,7 @@ definitions: description: References to the tool examples: - bio.toolsId: https://bio.tools/vep - - url: http://www.ensembl.org/vep + - url: https://www.ensembl.org/vep minProperties: 1 properties: {} type: object @@ -207,7 +207,7 @@ definitions: description: References to the tool examples: - bio.toolsId: https://bio.tools/vep - - url: http://www.ensembl.org/vep + - url: https://www.ensembl.org/vep minProperties: 1 properties: {} type: object @@ -497,7 +497,7 @@ definitions: reference: https://www.ncbi.nlm.nih.gov/snp/rs587780345 - id: ClinGen:CA152954 notes: ClinGen Allele Registry id - reference: http://reg.clinicalgenome.org/redmine/projects/registry/genboree_registry/by_caid?caid=CA152954 + reference: https://reg.clinicalgenome.org/redmine/projects/registry/genboree_registry/by_caid?caid=CA152954 - id: UniProtKB:P35557#VAR_003699 reference: https://www.uniprot.org/uniprot/P35557#VAR_003699 - @@ -1116,7 +1116,7 @@ definitions: description: References to the tool examples: - bio.toolsId: https://bio.tools/vep - - url: http://www.ensembl.org/vep + - url: https://www.ensembl.org/vep minProperties: 1 properties: {} type: object @@ -1259,7 +1259,7 @@ definitions: description: References to the tool examples: - bio.toolsId: https://bio.tools/vep - - url: http://www.ensembl.org/vep + - url: https://www.ensembl.org/vep minProperties: 1 properties: {} type: object @@ -1291,7 +1291,7 @@ definitions: description: References to the tool examples: - bio.toolsId: https://bio.tools/vep - - url: http://www.ensembl.org/vep + - url: https://www.ensembl.org/vep minProperties: 1 properties: {} type: object @@ -1420,7 +1420,7 @@ definitions: description: References to the tool examples: - bio.toolsId: https://bio.tools/vep - - url: http://www.ensembl.org/vep + - url: https://www.ensembl.org/vep minProperties: 1 properties: {} type: object @@ -1603,7 +1603,7 @@ properties: description: References to the tool examples: - bio.toolsId: https://bio.tools/vep - - url: http://www.ensembl.org/vep + - url: https://www.ensembl.org/vep minProperties: 1 properties: {} type: object @@ -1742,7 +1742,7 @@ properties: description: References to the tool examples: - bio.toolsId: https://bio.tools/vep - - url: http://www.ensembl.org/vep + - url: https://www.ensembl.org/vep minProperties: 1 properties: {} type: object @@ -1981,7 +1981,7 @@ properties: reference: https://www.ncbi.nlm.nih.gov/snp/rs587780345 - id: ClinGen:CA152954 notes: ClinGen Allele Registry id - reference: http://reg.clinicalgenome.org/redmine/projects/registry/genboree_registry/by_caid?caid=CA152954 + reference: https://reg.clinicalgenome.org/redmine/projects/registry/genboree_registry/by_caid?caid=CA152954 - id: UniProtKB:P35557#VAR_003699 reference: https://www.uniprot.org/uniprot/P35557#VAR_003699 - @@ -2138,7 +2138,7 @@ properties: description: References to the tool examples: - bio.toolsId: https://bio.tools/vep - - url: http://www.ensembl.org/vep + - url: https://www.ensembl.org/vep minProperties: 1 properties: {} type: object @@ -2267,7 +2267,7 @@ properties: description: References to the tool examples: - bio.toolsId: https://bio.tools/vep - - url: http://www.ensembl.org/vep + - url: https://www.ensembl.org/vep minProperties: 1 properties: {} type: object diff --git a/bin/deref_schemas/obj/annotatedWith.yaml b/bin/deref_schemas/obj/annotatedWith.yaml index 40b7fbb33..73c8be567 100644 --- a/bin/deref_schemas/obj/annotatedWith.yaml +++ b/bin/deref_schemas/obj/annotatedWith.yaml @@ -11,7 +11,7 @@ annotatedWith: description: References to the tool examples: - bio.toolsId: https://bio.tools/vep - - url: http://www.ensembl.org/vep + - url: https://www.ensembl.org/vep minProperties: 1 properties: {} type: object diff --git a/bin/deref_schemas/obj/caseLevelData.yaml b/bin/deref_schemas/obj/caseLevelData.yaml index 60147e334..ba468d27f 100644 --- a/bin/deref_schemas/obj/caseLevelData.yaml +++ b/bin/deref_schemas/obj/caseLevelData.yaml @@ -74,7 +74,7 @@ caseLevelData: description: References to the tool examples: - bio.toolsId: https://bio.tools/vep - - url: http://www.ensembl.org/vep + - url: https://www.ensembl.org/vep minProperties: 1 properties: {} type: object @@ -230,7 +230,7 @@ caseLevelData: description: References to the tool examples: - bio.toolsId: https://bio.tools/vep - - url: http://www.ensembl.org/vep + - url: https://www.ensembl.org/vep minProperties: 1 properties: {} type: object diff --git a/bin/deref_schemas/obj/clinicalInterpretations.yaml b/bin/deref_schemas/obj/clinicalInterpretations.yaml index 2e1fdd018..d7395d752 100644 --- a/bin/deref_schemas/obj/clinicalInterpretations.yaml +++ b/bin/deref_schemas/obj/clinicalInterpretations.yaml @@ -15,7 +15,7 @@ clinicalInterpretations: description: References to the tool examples: - bio.toolsId: https://bio.tools/vep - - url: http://www.ensembl.org/vep + - url: https://www.ensembl.org/vep minProperties: 1 properties: {} type: object diff --git a/bin/deref_schemas/obj/externalUrl.yaml b/bin/deref_schemas/obj/externalUrl.yaml index 672bc1884..ff6ec38a7 100644 --- a/bin/deref_schemas/obj/externalUrl.yaml +++ b/bin/deref_schemas/obj/externalUrl.yaml @@ -3,5 +3,5 @@ externalUrl: description: URL to an external system providing more dataset information (RFC 3986 format). examples: - - http://example.org/wiki/Main_Page + - https://example.org/wiki/Main_Page type: string diff --git a/bin/deref_schemas/obj/identifiers.yaml b/bin/deref_schemas/obj/identifiers.yaml index 2757dca76..dfb5df8ea 100644 --- a/bin/deref_schemas/obj/identifiers.yaml +++ b/bin/deref_schemas/obj/identifiers.yaml @@ -39,7 +39,7 @@ identifiers: reference: https://www.ncbi.nlm.nih.gov/snp/rs587780345 - id: ClinGen:CA152954 notes: ClinGen Allele Registry id - reference: http://reg.clinicalgenome.org/redmine/projects/registry/genboree_registry/by_caid?caid=CA152954 + reference: https://reg.clinicalgenome.org/redmine/projects/registry/genboree_registry/by_caid?caid=CA152954 - id: UniProtKB:P35557#VAR_003699 reference: https://www.uniprot.org/uniprot/P35557#VAR_003699 - - id: OMIM:164757.0001 diff --git a/bin/deref_schemas/obj/phenotypicEffects.yaml b/bin/deref_schemas/obj/phenotypicEffects.yaml index 9c0888aca..ceaca8a06 100644 --- a/bin/deref_schemas/obj/phenotypicEffects.yaml +++ b/bin/deref_schemas/obj/phenotypicEffects.yaml @@ -15,7 +15,7 @@ phenotypicEffects: description: References to the tool examples: - bio.toolsId: https://bio.tools/vep - - url: http://www.ensembl.org/vep + - url: https://www.ensembl.org/vep minProperties: 1 properties: {} type: object diff --git a/bin/deref_schemas/obj/toolReferences.yaml b/bin/deref_schemas/obj/toolReferences.yaml index 6cb1dee0a..f306ed961 100644 --- a/bin/deref_schemas/obj/toolReferences.yaml +++ b/bin/deref_schemas/obj/toolReferences.yaml @@ -3,5 +3,5 @@ toolReferences: description: References to the tool examples: - bio.toolsId: https://bio.tools/vep - - url: http://www.ensembl.org/vep + - url: https://www.ensembl.org/vep type: object diff --git a/bin/deref_schemas/obj/variantAlternativeIds.yaml b/bin/deref_schemas/obj/variantAlternativeIds.yaml index dfb82d238..96d27dfcb 100644 --- a/bin/deref_schemas/obj/variantAlternativeIds.yaml +++ b/bin/deref_schemas/obj/variantAlternativeIds.yaml @@ -8,7 +8,7 @@ variantAlternativeIds: reference: https://www.ncbi.nlm.nih.gov/snp/rs587780345 - id: ClinGen:CA152954 notes: ClinGen Allele Registry id - reference: http://reg.clinicalgenome.org/redmine/projects/registry/genboree_registry/by_caid?caid=CA152954 + reference: https://reg.clinicalgenome.org/redmine/projects/registry/genboree_registry/by_caid?caid=CA152954 - id: UniProtKB:P35557#VAR_003699 reference: https://www.uniprot.org/uniprot/P35557#VAR_003699 - - id: OMIM:164757.0001 diff --git a/bin/deref_schemas/obj/variantLevelData.yaml b/bin/deref_schemas/obj/variantLevelData.yaml index afd50a5d0..e49c2ced0 100644 --- a/bin/deref_schemas/obj/variantLevelData.yaml +++ b/bin/deref_schemas/obj/variantLevelData.yaml @@ -17,7 +17,7 @@ variantLevelData: description: References to the tool examples: - bio.toolsId: https://bio.tools/vep - - url: http://www.ensembl.org/vep + - url: https://www.ensembl.org/vep minProperties: 1 properties: {} type: object @@ -161,7 +161,7 @@ variantLevelData: description: References to the tool examples: - bio.toolsId: https://bio.tools/vep - - url: http://www.ensembl.org/vep + - url: https://www.ensembl.org/vep minProperties: 1 properties: {} type: object diff --git a/bin/node_modules/@apidevtools/json-schema-ref-parser/CHANGELOG.md b/bin/node_modules/@apidevtools/json-schema-ref-parser/CHANGELOG.md index 92be3374d..9d9737d54 100644 --- a/bin/node_modules/@apidevtools/json-schema-ref-parser/CHANGELOG.md +++ b/bin/node_modules/@apidevtools/json-schema-ref-parser/CHANGELOG.md @@ -47,7 +47,7 @@ See [GitHub Releases](https://github.com/APIDevTools/json-schema-ref-parser/rele - Updated all code to ES6+ syntax (async/await, template literals, arrow functions, etc.) -- No longer including a pre-built bundle in the package. such as [Webpack](https://webpack.js.org/), [Rollup](https://rollupjs.org/), [Parcel](https://parceljs.org/), or [Browserify](http://browserify.org/) to include JSON Schema $Ref Parser in your app +- No longer including a pre-built bundle in the package. such as [Webpack](https://webpack.js.org/), [Rollup](https://rollupjs.org/), [Parcel](https://parceljs.org/), or [Browserify](https://browserify.org/) to include JSON Schema $Ref Parser in your app [Full Changelog](https://github.com/APIDevTools/json-schema-ref-parser/compare/v6.1.0...v7.0.0) @@ -121,7 +121,7 @@ This release contains two bug fixes related to file paths. They are _technicall - [PR #30](https://github.com/APIDevTools/json-schema-ref-parser/pull/30) - Added a `browser` field to the `package.json` file to support bundlers such as Browserify, Rollup, and Webpack -- [PR #45](https://github.com/APIDevTools/json-schema-ref-parser/pull/45) - Implemented a temporary workaround for [issue #42](https://github.com/APIDevTools/json-schema-ref-parser/issues/42). JSON Schema $Ref Parser does _not_ currently support [named internal references](http://json-schema.org/latest/json-schema-core.html#id-keyword), but support will be added in the next major release. +- [PR #45](https://github.com/APIDevTools/json-schema-ref-parser/pull/45) - Implemented a temporary workaround for [issue #42](https://github.com/APIDevTools/json-schema-ref-parser/issues/42). JSON Schema $Ref Parser does _not_ currently support [named internal references](https://json-schema.org/latest/json-schema-core.html#id-keyword), but support will be added in the next major release. [Full Changelog](https://github.com/APIDevTools/json-schema-ref-parser/compare/v3.0.0...v3.3.0) @@ -174,7 +174,7 @@ There are a few [new options](https://github.com/APIDevTools/json-schema-ref-par Bumping the major version number because [this change](https://github.com/APIDevTools/json-schema-ref-parser/pull/5) technically breaks backward-compatibility — although I doubt it will actually affect many people. Basically, if you're using JSON Schema $Ref Parser to download files from a CORS-enabled server that requires authentication, then you'll need to set the `http.withCredentials` option to `true`. ```javascript -$RefParser.dereference('http://some.server.com/file.json', { +$RefParser.dereference('https://some.server.com/file.json', { http: { withCredentials: true } }); ``` diff --git a/bin/node_modules/@apidevtools/json-schema-ref-parser/README.md b/bin/node_modules/@apidevtools/json-schema-ref-parser/README.md index d090bc761..92b185c3e 100644 --- a/bin/node_modules/@apidevtools/json-schema-ref-parser/README.md +++ b/bin/node_modules/@apidevtools/json-schema-ref-parser/README.md @@ -31,7 +31,7 @@ You've got a JSON Schema with `$ref` pointers to other files and/or URLs. Maybe }, "thing": { // references a URL - "$ref": "http://wayne-enterprises.com/things/batmobile" + "$ref": "https://wayne-enterprises.com/things/batmobile" }, "color": { // references a value in an external file via an internal reference @@ -44,7 +44,7 @@ You've got a JSON Schema with `$ref` pointers to other files and/or URLs. Maybe The Solution: -------------------------- -JSON Schema $Ref Parser is a full [JSON Reference](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03) and [JSON Pointer](https://tools.ietf.org/html/rfc6901) implementation that crawls even the most complex [JSON Schemas](http://json-schema.org/latest/json-schema-core.html) and gives you simple, straightforward JavaScript objects. +JSON Schema $Ref Parser is a full [JSON Reference](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03) and [JSON Pointer](https://tools.ietf.org/html/rfc6901) implementation that crawls even the most complex [JSON Schemas](https://json-schema.org/latest/json-schema-core.html) and gives you simple, straightforward JavaScript objects. - Use **JSON** or **YAML** schemas — or even a mix of both! - Supports `$ref` pointers to external files and URLs, as well as [custom sources](https://apitools.dev/json-schema-ref-parser/docs/plugins/resolvers.html) such as databases @@ -117,7 +117,7 @@ Browser support -------------------------- JSON Schema $Ref Parser supports recent versions of every major web browser. Older browsers may require [Babel](https://babeljs.io/) and/or [polyfills](https://babeljs.io/docs/en/next/babel-polyfill). -To use JSON Schema $Ref Parser in a browser, you'll need to use a bundling tool such as [Webpack](https://webpack.js.org/), [Rollup](https://rollupjs.org/), [Parcel](https://parceljs.org/), or [Browserify](http://browserify.org/). Some bundlers may require a bit of configuration, such as setting `browser: true` in [rollup-plugin-resolve](https://github.com/rollup/rollup-plugin-node-resolve). +To use JSON Schema $Ref Parser in a browser, you'll need to use a bundling tool such as [Webpack](https://webpack.js.org/), [Rollup](https://rollupjs.org/), [Parcel](https://parceljs.org/), or [Browserify](https://browserify.org/). Some bundlers may require a bit of configuration, such as setting `browser: true` in [rollup-plugin-resolve](https://github.com/rollup/rollup-plugin-node-resolve). @@ -149,7 +149,7 @@ License -------------------------- JSON Schema $Ref Parser is 100% free and open-source, under the [MIT license](LICENSE). Use it however you want. -This package is [Treeware](http://treeware.earth). If you use it in production, then we ask that you [**buy the world a tree**](https://plant.treeware.earth/APIDevTools/json-schema-ref-parser) to thank us for our work. By contributing to the Treeware forest you’ll be creating employment for local families and restoring wildlife habitats. +This package is [Treeware](https://treeware.earth). If you use it in production, then we ask that you [**buy the world a tree**](https://plant.treeware.earth/APIDevTools/json-schema-ref-parser) to thank us for our work. By contributing to the Treeware forest you’ll be creating employment for local families and restoring wildlife habitats. diff --git a/bin/node_modules/@jsdevtools/ono/CHANGELOG.md b/bin/node_modules/@jsdevtools/ono/CHANGELOG.md index cb7b82021..7b5cab520 100644 --- a/bin/node_modules/@jsdevtools/ono/CHANGELOG.md +++ b/bin/node_modules/@jsdevtools/ono/CHANGELOG.md @@ -1,7 +1,7 @@ Change Log ======================================= All notable changes will be documented in this file. -`ono` adheres to [Semantic Versioning](http://semver.org/). +`ono` adheres to [Semantic Versioning](https://semver.org/). diff --git a/bin/node_modules/@jsdevtools/ono/README.md b/bin/node_modules/@jsdevtools/ono/README.md index db6baa502..5459a84ed 100644 --- a/bin/node_modules/@jsdevtools/ono/README.md +++ b/bin/node_modules/@jsdevtools/ono/README.md @@ -95,7 +95,7 @@ Browser support -------------------------- Ono supports recent versions of every major web browser. Older browsers may require [Babel](https://babeljs.io/) and/or [polyfills](https://babeljs.io/docs/en/next/babel-polyfill). -To use Ono in a browser, you'll need to use a bundling tool such as [Webpack](https://webpack.js.org/), [Rollup](https://rollupjs.org/), [Parcel](https://parceljs.org/), or [Browserify](http://browserify.org/). Some bundlers may require a bit of configuration, such as setting `browser: true` in [rollup-plugin-resolve](https://github.com/rollup/rollup-plugin-node-resolve). +To use Ono in a browser, you'll need to use a bundling tool such as [Webpack](https://webpack.js.org/), [Rollup](https://rollupjs.org/), [Parcel](https://parceljs.org/), or [Browserify](https://browserify.org/). Some bundlers may require a bit of configuration, such as setting `browser: true` in [rollup-plugin-resolve](https://github.com/rollup/rollup-plugin-node-resolve). @@ -379,7 +379,7 @@ License -------------------------- Ono is 100% free and open-source, under the [MIT license](LICENSE). Use it however you want. -This package is [Treeware](http://treeware.earth). If you use it in production, then we ask that you [**buy the world a tree**](https://plant.treeware.earth/JS-DevTools/ono) to thank us for our work. By contributing to the Treeware forest you’ll be creating employment for local families and restoring wildlife habitats. +This package is [Treeware](https://treeware.earth). If you use it in production, then we ask that you [**buy the world a tree**](https://plant.treeware.earth/JS-DevTools/ono) to thank us for our work. By contributing to the Treeware forest you’ll be creating employment for local families and restoring wildlife habitats. diff --git a/bin/node_modules/@types/json-schema/index.d.ts b/bin/node_modules/@types/json-schema/index.d.ts index 7a92decd8..fc06be8a7 100755 --- a/bin/node_modules/@types/json-schema/index.d.ts +++ b/bin/node_modules/@types/json-schema/index.d.ts @@ -48,12 +48,12 @@ export interface JSONSchema4Array extends Array {} * Meta schema * * Recommended values: - * - 'http://json-schema.org/schema#' - * - 'http://json-schema.org/hyper-schema#' - * - 'http://json-schema.org/draft-04/schema#' - * - 'http://json-schema.org/draft-04/hyper-schema#' - * - 'http://json-schema.org/draft-03/schema#' - * - 'http://json-schema.org/draft-03/hyper-schema#' + * - 'https://json-schema.org/schema#' + * - 'https://json-schema.org/hyper-schema#' + * - 'https://json-schema.org/draft-04/schema#' + * - 'https://json-schema.org/draft-04/hyper-schema#' + * - 'https://json-schema.org/draft-03/schema#' + * - 'https://json-schema.org/draft-03/hyper-schema#' * * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-5 */ @@ -275,10 +275,10 @@ export interface JSONSchema6Array extends Array {} * Meta schema * * Recommended values: - * - 'http://json-schema.org/schema#' - * - 'http://json-schema.org/hyper-schema#' - * - 'http://json-schema.org/draft-06/schema#' - * - 'http://json-schema.org/draft-06/hyper-schema#' + * - 'https://json-schema.org/schema#' + * - 'https://json-schema.org/hyper-schema#' + * - 'https://json-schema.org/draft-06/schema#' + * - 'https://json-schema.org/draft-06/hyper-schema#' * * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-5 */ @@ -600,10 +600,10 @@ export interface JSONSchema7Array extends Array {} * Meta schema * * Recommended values: - * - 'http://json-schema.org/schema#' - * - 'http://json-schema.org/hyper-schema#' - * - 'http://json-schema.org/draft-07/schema#' - * - 'http://json-schema.org/draft-07/hyper-schema#' + * - 'https://json-schema.org/schema#' + * - 'https://json-schema.org/hyper-schema#' + * - 'https://json-schema.org/draft-07/schema#' + * - 'https://json-schema.org/draft-07/hyper-schema#' * * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-5 */ diff --git a/bin/node_modules/argparse/CHANGELOG.md b/bin/node_modules/argparse/CHANGELOG.md index dc39ed695..de8a8b1a0 100644 --- a/bin/node_modules/argparse/CHANGELOG.md +++ b/bin/node_modules/argparse/CHANGELOG.md @@ -115,7 +115,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [0.1.10] - 2012-12-30 ### Added -- Added [mutual exclusion](http://docs.python.org/dev/library/argparse.html#mutual-exclusion) +- Added [mutual exclusion](https://docs.python.org/dev/library/argparse.html#mutual-exclusion) support, thanks to @hpaulj ### Fixed diff --git a/bin/node_modules/argparse/LICENSE b/bin/node_modules/argparse/LICENSE index 66a3ac80d..4e5fadfcb 100644 --- a/bin/node_modules/argparse/LICENSE +++ b/bin/node_modules/argparse/LICENSE @@ -2,12 +2,12 @@ A. HISTORY OF THE SOFTWARE ========================== Python was created in the early 1990s by Guido van Rossum at Stichting -Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands +Mathematisch Centrum (CWI, see https://www.cwi.nl) in the Netherlands as a successor of a language called ABC. Guido remains Python's principal author, although it includes many contributions from others. In 1995, Guido continued his work on Python at the Corporation for -National Research Initiatives (CNRI, see http://www.cnri.reston.va.us) +National Research Initiatives (CNRI, see https://www.cnri.reston.va.us) in Reston, Virginia where he released several versions of the software. @@ -19,7 +19,7 @@ https://www.python.org/psf/) was formed, a non-profit organization created specifically to own Python-related Intellectual Property. Zope Corporation was a sponsoring member of the PSF. -All Python releases are Open Source (see http://www.opensource.org for +All Python releases are Open Source (see https://www.opensource.org for the Open Source Definition). Historically, most, but not all, Python releases have also been GPL-compatible; the table below summarizes the various releases. @@ -151,7 +151,7 @@ between BeOpen and Licensee. This License Agreement does not grant permission to use BeOpen trademarks or trade names in a trademark sense to endorse or promote products or services of Licensee, or any third party. As an exception, the "BeOpen Python" logos available at -http://www.pythonlabs.com/logos.html may be used according to the +https://www.pythonlabs.com/logos.html may be used according to the permissions granted on that web page. 7. By copying, installing or otherwise using the software, Licensee @@ -183,7 +183,7 @@ conditions in CNRI's License Agreement. This Agreement together with Python 1.6.1 may be located on the Internet using the following unique, persistent identifier (known as a handle): 1895.22/1013. This Agreement may also be obtained from a proxy server on the Internet -using the following URL: http://hdl.handle.net/1895.22/1013". +using the following URL: https://hdl.handle.net/1895.22/1013". 3. In the event Licensee prepares a derivative work that is based on or incorporates Python 1.6.1 or any part thereof, and wants to make diff --git a/bin/node_modules/argparse/README.md b/bin/node_modules/argparse/README.md index 550b5c9b7..69d48b563 100644 --- a/bin/node_modules/argparse/README.md +++ b/bin/node_modules/argparse/README.md @@ -1,10 +1,10 @@ argparse ======== -[![Build Status](https://secure.travis-ci.org/nodeca/argparse.svg?branch=master)](http://travis-ci.org/nodeca/argparse) +[![Build Status](https://secure.travis-ci.org/nodeca/argparse.svg?branch=master)](https://travis-ci.org/nodeca/argparse) [![NPM version](https://img.shields.io/npm/v/argparse.svg)](https://www.npmjs.org/package/argparse) -CLI arguments parser for node.js, with [sub-commands](https://docs.python.org/3.9/library/argparse.html#sub-commands) support. Port of python's [argparse](http://docs.python.org/dev/library/argparse.html) (version [3.9.0](https://github.com/python/cpython/blob/v3.9.0rc1/Lib/argparse.py)). +CLI arguments parser for node.js, with [sub-commands](https://docs.python.org/3.9/library/argparse.html#sub-commands) support. Port of python's [argparse](https://docs.python.org/dev/library/argparse.html) (version [3.9.0](https://github.com/python/cpython/blob/v3.9.0rc1/Lib/argparse.py)). **Difference with original.** diff --git a/bin/node_modules/call-me-maybe/.npmignore b/bin/node_modules/call-me-maybe/.npmignore index 123ae94d0..2b621e92e 100644 --- a/bin/node_modules/call-me-maybe/.npmignore +++ b/bin/node_modules/call-me-maybe/.npmignore @@ -13,13 +13,13 @@ lib-cov # Coverage directory used by tools like istanbul coverage -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) .grunt # node-waf configuration .lock-wscript -# Compiled binary addons (http://nodejs.org/api/addons.html) +# Compiled binary addons (https://nodejs.org/api/addons.html) build/Release # Dependency directory diff --git a/bin/node_modules/call-me-maybe/package.json b/bin/node_modules/call-me-maybe/package.json index 02dc93253..22f8edb2a 100644 --- a/bin/node_modules/call-me-maybe/package.json +++ b/bin/node_modules/call-me-maybe/package.json @@ -23,7 +23,7 @@ "promisify", "carlyraejepsen" ], - "author": "Eric McCarthy (http://www.limulus.net/)", + "author": "Eric McCarthy (https://www.limulus.net/)", "license": "MIT", "bugs": { "url": "https://github.com/limulus/call-me-maybe/issues" diff --git a/bin/node_modules/js-yaml/README.md b/bin/node_modules/js-yaml/README.md index 3cbc4bd2d..a6dd9423a 100644 --- a/bin/node_modules/js-yaml/README.md +++ b/bin/node_modules/js-yaml/README.md @@ -4,11 +4,11 @@ JS-YAML - YAML 1.2 parser / writer for JavaScript [![CI](https://github.com/nodeca/js-yaml/workflows/CI/badge.svg?branch=master)](https://github.com/nodeca/js-yaml/actions) [![NPM version](https://img.shields.io/npm/v/js-yaml.svg)](https://www.npmjs.org/package/js-yaml) -__[Online Demo](http://nodeca.github.com/js-yaml/)__ +__[Online Demo](https://nodeca.github.com/js-yaml/)__ -This is an implementation of [YAML](http://yaml.org/), a human-friendly data -serialization language. Started as [PyYAML](http://pyyaml.org/) port, it was +This is an implementation of [YAML](https://yaml.org/), a human-friendly data +serialization language. Started as [PyYAML](https://pyyaml.org/) port, it was completely rewritten from scratch. Now it's very fast, and supports 1.2 spec. @@ -81,11 +81,11 @@ options: Loader will call this function with an instance of `YAMLException` for each warning. - `schema` _(default: `DEFAULT_SCHEMA`)_ - specifies a schema to use. - `FAILSAFE_SCHEMA` - only strings, arrays and plain objects: - http://www.yaml.org/spec/1.2/spec.html#id2802346 + https://www.yaml.org/spec/1.2/spec.html#id2802346 - `JSON_SCHEMA` - all JSON-supported types: - http://www.yaml.org/spec/1.2/spec.html#id2803231 + https://www.yaml.org/spec/1.2/spec.html#id2803231 - `CORE_SCHEMA` - same as `JSON_SCHEMA`: - http://www.yaml.org/spec/1.2/spec.html#id2804923 + https://www.yaml.org/spec/1.2/spec.html#id2804923 - `DEFAULT_SCHEMA` - all supported YAML types. - `json` _(default: false)_ - compatibility with JSON.parse behaviour. If true, then duplicate keys in a mapping will override values rather than throwing an error. @@ -182,8 +182,8 @@ Supported YAML types -------------------- The list of standard YAML tags and corresponding JavaScript types. See also -[YAML tag discussion](http://pyyaml.org/wiki/YAMLTagDiscussion) and -[YAML types repository](http://yaml.org/type/). +[YAML tag discussion](https://pyyaml.org/wiki/YAMLTagDiscussion) and +[YAML types repository](https://yaml.org/type/). ``` !!null '' # null diff --git a/bin/node_modules/js-yaml/dist/js-yaml.js b/bin/node_modules/js-yaml/dist/js-yaml.js index 4cc0ddf6d..e78fee98c 100644 --- a/bin/node_modules/js-yaml/dist/js-yaml.js +++ b/bin/node_modules/js-yaml/dist/js-yaml.js @@ -72,7 +72,7 @@ extend: extend_1 }; - // YAML error class. http://stackoverflow.com/questions/8458984 + // YAML error class. https://stackoverflow.com/questions/8458984 function formatError(exception, compact) { @@ -2564,7 +2564,7 @@ } } else if (indentStatus === 0) { // Special case: block sequences are allowed to have same indentation level as the parent. - // http://www.yaml.org/spec/1.2/spec.html#id2799784 + // https://www.yaml.org/spec/1.2/spec.html#id2799784 hasContent = allowBlockCollections && readBlockSequence(state, blockIndent); } } diff --git a/bin/node_modules/js-yaml/dist/js-yaml.mjs b/bin/node_modules/js-yaml/dist/js-yaml.mjs index be71cad18..477cfb6b9 100644 --- a/bin/node_modules/js-yaml/dist/js-yaml.mjs +++ b/bin/node_modules/js-yaml/dist/js-yaml.mjs @@ -66,7 +66,7 @@ var common = { extend: extend_1 }; -// YAML error class. http://stackoverflow.com/questions/8458984 +// YAML error class. https://stackoverflow.com/questions/8458984 function formatError(exception, compact) { @@ -2558,7 +2558,7 @@ function composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact } } else if (indentStatus === 0) { // Special case: block sequences are allowed to have same indentation level as the parent. - // http://www.yaml.org/spec/1.2/spec.html#id2799784 + // https://www.yaml.org/spec/1.2/spec.html#id2799784 hasContent = allowBlockCollections && readBlockSequence(state, blockIndent); } } diff --git a/bin/node_modules/js-yaml/lib/exception.js b/bin/node_modules/js-yaml/lib/exception.js index 7f62daaef..a96489791 100644 --- a/bin/node_modules/js-yaml/lib/exception.js +++ b/bin/node_modules/js-yaml/lib/exception.js @@ -1,4 +1,4 @@ -// YAML error class. http://stackoverflow.com/questions/8458984 +// YAML error class. https://stackoverflow.com/questions/8458984 // 'use strict'; diff --git a/bin/node_modules/js-yaml/lib/loader.js b/bin/node_modules/js-yaml/lib/loader.js index 39f13f561..7f5c33f2c 100644 --- a/bin/node_modules/js-yaml/lib/loader.js +++ b/bin/node_modules/js-yaml/lib/loader.js @@ -1468,7 +1468,7 @@ function composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact } } else if (indentStatus === 0) { // Special case: block sequences are allowed to have same indentation level as the parent. - // http://www.yaml.org/spec/1.2/spec.html#id2799784 + // https://www.yaml.org/spec/1.2/spec.html#id2799784 hasContent = allowBlockCollections && readBlockSequence(state, blockIndent); } } diff --git a/bin/node_modules/js-yaml/lib/schema/core.js b/bin/node_modules/js-yaml/lib/schema/core.js index 608b26de2..81c11b1a1 100644 --- a/bin/node_modules/js-yaml/lib/schema/core.js +++ b/bin/node_modules/js-yaml/lib/schema/core.js @@ -1,5 +1,5 @@ // Standard YAML's Core schema. -// http://www.yaml.org/spec/1.2/spec.html#id2804923 +// https://www.yaml.org/spec/1.2/spec.html#id2804923 // // NOTE: JS-YAML does not support schema-specific tag resolution restrictions. // So, Core schema has no distinctions from JSON schema is JS-YAML. diff --git a/bin/node_modules/js-yaml/lib/schema/default.js b/bin/node_modules/js-yaml/lib/schema/default.js index 3af0520d5..8cb0a6a04 100644 --- a/bin/node_modules/js-yaml/lib/schema/default.js +++ b/bin/node_modules/js-yaml/lib/schema/default.js @@ -2,7 +2,7 @@ // It is not described in the YAML specification. // // This schema is based on standard YAML's Core schema and includes most of -// extra types described at YAML tag repository. (http://yaml.org/type/) +// extra types described at YAML tag repository. (https://yaml.org/type/) 'use strict'; diff --git a/bin/node_modules/js-yaml/lib/schema/failsafe.js b/bin/node_modules/js-yaml/lib/schema/failsafe.js index b7a33eb7a..4bb2832d5 100644 --- a/bin/node_modules/js-yaml/lib/schema/failsafe.js +++ b/bin/node_modules/js-yaml/lib/schema/failsafe.js @@ -1,5 +1,5 @@ // Standard YAML's Failsafe schema. -// http://www.yaml.org/spec/1.2/spec.html#id2802346 +// https://www.yaml.org/spec/1.2/spec.html#id2802346 'use strict'; diff --git a/bin/node_modules/js-yaml/lib/schema/json.js b/bin/node_modules/js-yaml/lib/schema/json.js index b73df78e5..1e9e20b9b 100644 --- a/bin/node_modules/js-yaml/lib/schema/json.js +++ b/bin/node_modules/js-yaml/lib/schema/json.js @@ -1,5 +1,5 @@ // Standard YAML's JSON schema. -// http://www.yaml.org/spec/1.2/spec.html#id2803231 +// https://www.yaml.org/spec/1.2/spec.html#id2803231 // // NOTE: JS-YAML does not support schema-specific tag resolution restrictions. // So, this schema is not such strict as defined in the YAML specification. diff --git a/bin/node_modules/js-yaml/package.json b/bin/node_modules/js-yaml/package.json index 17574da80..77fe03b03 100644 --- a/bin/node_modules/js-yaml/package.json +++ b/bin/node_modules/js-yaml/package.json @@ -10,9 +10,9 @@ ], "author": "Vladimir Zapparov ", "contributors": [ - "Aleksey V Zapparov (http://www.ixti.net/)", + "Aleksey V Zapparov (https://www.ixti.net/)", "Vitaly Puzrin (https://github.com/puzrin)", - "Martin Grenfell (http://got-ravings.blogspot.com)" + "Martin Grenfell (https://got-ravings.blogspot.com)" ], "license": "MIT", "repository": "nodeca/js-yaml", diff --git a/docs/FAQ.md b/docs/FAQ.md index f0dfb2704..262c2e81b 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -93,10 +93,10 @@ sequence at this position (necessary e.g. for small deletions). Beacon v1.1 in principle supported "bracketed" queries and a `variantType` parameter - (pointing to the VCF use) - see the [current documentation](http://docs.genomebeacons.org/variant-queries/#beacon-bracket-queries) for details. However, the support & interpretation was - and still is (2022-12-13) - - left to implementers. Similar for [Beacon Range Queries](http://docs.genomebeacons.org/variant-queries/#beacon-range-queries). + (pointing to the VCF use) - see the [current documentation](https://docs.genomebeacons.org/variant-queries/#beacon-bracket-queries) for details. However, the support & interpretation was - and still is (2022-12-13) - + left to implementers. Similar for [Beacon Range Queries](https://docs.genomebeacons.org/variant-queries/#beacon-range-queries). - However, the [Beacon documentation](http://docs.genomebeacons.org/variant-queries/#varianttype-parameter-interpretation) + However, the [Beacon documentation](https://docs.genomebeacons.org/variant-queries/#varianttype-parameter-interpretation) provides information about use and expected interpretation of `variantType` values, specifically for copy number variations. diff --git a/docs/README.md b/docs/README.md index 439889757..4f67a91b4 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,2 +1,2 @@ This directory contains the Beacon documentation. The files here are rendered through -MkDocs and available at [beacon-project.io/beacon-v2/](http://beacon-project.io/beacon-v2/). \ No newline at end of file +MkDocs and available at [beacon-project.io/beacon-v2/](https://beacon-project.io/beacon-v2/). \ No newline at end of file diff --git a/docs/bugs-changes-log.md b/docs/bugs-changes-log.md index f26870b1e..a76499252 100644 --- a/docs/bugs-changes-log.md +++ b/docs/bugs-changes-log.md @@ -112,7 +112,7 @@ The `mkdocs-macros-plugin` has been activated, allowing the use of site-wide var As of today the new/emerging Beacon v2 documentation is meintained in this repository. We're testing rendered versions (same text/code base) through Github actions ([here](https://beacon-project.io/beacon-v2/)) and [ReadTheDocs](https://beacon-v2-unity.readthedocs.io/en/latest/). * [x] testing of [ReadTheDocs version](https://beacon-v2-unity.readthedocs.io/) vs. a [`material` themed build](https://beacon-project.io/beacon-v2/) -* [x] created and linked [docs.genomebeacons.org](http://docs.genomebeacons.org) +* [x] created and linked [docs.genomebeacons.org](https://docs.genomebeacons.org) sub-domain to the Github hosted version of the rendered documentation * [x] merging of previous separate documentation repository content from _beacon-v2-schema-documentation_ in the "unity" repository and archiving of the old one diff --git a/docs/code-organization.md b/docs/code-organization.md index c8fcbf921..4c7769ac6 100644 --- a/docs/code-organization.md +++ b/docs/code-organization.md @@ -14,7 +14,7 @@ The `develop` branch is the branch used for development, it reflects the current ### `website-docs` -This branch is used to maintain the website at . The relevant files consists of anything under `/docs` as well as the configuration file (`/mkdocs.yaml`) and the workflow file for processing the pages under `/.github/workflows/mk-beacon-docs.yaml`. +This branch is used to maintain the website at . The relevant files consists of anything under `/docs` as well as the configuration file (`/mkdocs.yaml`) and the workflow file for processing the pages under `/.github/workflows/mk-beacon-docs.yaml`. Changes to the Markdown files in the `/docs` directory (and its children) will initiate the processing of the workflow file; updating of the website than may take some minutes. diff --git a/docs/contribute.md b/docs/contribute.md index 17f925f50..0a1d5f979 100644 --- a/docs/contribute.md +++ b/docs/contribute.md @@ -1,7 +1,7 @@ # How to Contribute to Beacon Development The Beacon API & standard is a driver project of the Global Alliance for Genomics -and Health [**GA4GH**](http://ga4gh.org). Since 2016 Beacon development has been +and Health [**GA4GH**](https://ga4gh.org). Since 2016 Beacon development has been organized through projects supported by ELIXIR with additional contributions from outside organizations and individual developers and implementers. diff --git a/docs/filters.md b/docs/filters.md index ff311db4f..abb782242 100644 --- a/docs/filters.md +++ b/docs/filters.md @@ -42,10 +42,10 @@ Bio-ontology and custom term Filter types contain: { "id":"hp", "name":"Human Phenotype Ontology", - "url":"http://purl.obolibrary.org/obo/hp.owl", + "url":"https://purl.obolibrary.org/obo/hp.owl", "version":"27-03-2020", "namespacePrefix":"HP", - "iriPrefix":"http://purl.obolibrary.org/obo/HP_" + "iriPrefix":"https://purl.obolibrary.org/obo/HP_" }, ... ], diff --git a/docs/formats-standards.md b/docs/formats-standards.md index 7798ac0f1..d2da97509 100644 --- a/docs/formats-standards.md +++ b/docs/formats-standards.md @@ -376,5 +376,5 @@ Beacon directly uses the (IMO preferable) [representation through an ontology te ##### LINK: [Phenopackets Documentation](https://phenopacket-schema.readthedocs.io/en/latest/index.html) -[^1]: Source: [@andrewyatz](https://github.com/@andrewyatz/) at [SchemaBlocks {S}[B]](http://schemablocks.org/standards/genome-coordinates.html) +[^1]: Source: [@andrewyatz](https://github.com/@andrewyatz/) at [SchemaBlocks {S}[B]](https://schemablocks.org/standards/genome-coordinates.html) diff --git a/docs/img/link-solid.svg b/docs/img/link-solid.svg index 9e7198ec9..6ee16eb1b 100644 --- a/docs/img/link-solid.svg +++ b/docs/img/link-solid.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/docs/implementations-options.md b/docs/implementations-options.md index da472af20..81846f2f7 100644 --- a/docs/implementations-options.md +++ b/docs/implementations-options.md @@ -18,7 +18,7 @@ Let's say that you have your data organized and structured in a database (e.g. [ * [European Genome-Phenome Archive Beacon](https://ga4gh-approval-beacon.ega-archive.org/api/info) * [Cafe Variome](https://beaconv2.cafevariome.org/form) - * [`bycon` Python stack](http://bycon.progenetix.org) driving full featured v2 under the [Progenetix](https://progenetix.org) resource + * [`bycon` Python stack](https://bycon.progenetix.org) driving full featured v2 under the [Progenetix](https://progenetix.org) resource * [Fundacion Progreso y Salud Beacon v2 API](https://csvs-beacon.clinbioinfosspa.es/csvs/ga4ghbeacon/v2/api/) * [CNAG Beacon v2 API](https://playground.rd-connect.eu/beacon2/api) diff --git a/docs/implementations/org.progenetix.md b/docs/implementations/org.progenetix.md index 1a1998356..297623dc6 100644 --- a/docs/implementations/org.progenetix.md +++ b/docs/implementations/org.progenetix.md @@ -2,7 +2,7 @@

Progenetix & Beacon+

The Beacon+ implementation - developed in the Python & MongoDB based [`bycon` project](https://github.com/progenetix/bycon/) - -implements an expanding set of Beacon v2 paths for the [Progenetix](http://progenetix.org) +implements an expanding set of Beacon v2 paths for the [Progenetix](https://progenetix.org) resource :flag_ch:. ### Scoped responses from query object @@ -19,7 +19,7 @@ entry to * `{ "entityType": "biosample", "schema:": "https://progenetix.org/services/schemas/Biosample/"}` 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/`. +to `https://progenetix.org/beacon/variants/` or `https://progenetix.org/beacon/biosamples/`. ```json { @@ -80,18 +80,18 @@ The root path provides the standard `BeaconInfoResponse`. ##### `/biosamples/{id}/` -* [/biosamples/pgxbs-kftva5c9](http://progenetix.org/beacon/biosamples/pgxbs-kftva5c9) +* [/biosamples/pgxbs-kftva5c9](https://progenetix.org/beacon/biosamples/pgxbs-kftva5c9) - retrieval of a single biosample ##### `/biosamples/?testMode=true` -* [/biosamples?testMode=true](http://progenetix.org/beacon/biosamples?testMode=true) +* [/biosamples?testMode=true](https://progenetix.org/beacon/biosamples?testMode=true) - retrieval of some random samples - for testing API responses ##### `/biosamples/{id}/g_variants` -* [/biosamples/pgxbs-kftva5c9/g_variants/](http://progenetix.org/beacon/biosamples/pgxbs-kftva5c9/g_variants/) +* [/biosamples/pgxbs-kftva5c9/g_variants/](https://progenetix.org/beacon/biosamples/pgxbs-kftva5c9/g_variants/) - retrieval of all variants from a single biosample ---- @@ -117,19 +117,19 @@ e.g. linking to genomic variation data. ##### `/individuals/{id}` -* [/individuals/pgxind-kftx25hb/](http://progenetix.org/beacon/individuals/pgxind-kftx25hb/) +* [/individuals/pgxind-kftx25hb/](https://progenetix.org/beacon/individuals/pgxind-kftx25hb/) - retrieval of a single individual ##### `/individuals/?testMode=true` -* [/individuals?testMode=true](http://progenetix.org/beacon/individuals?testMode=true) +* [/individuals?testMode=true](https://progenetix.org/beacon/individuals?testMode=true) - retrieval of some random individuals - for testing API responses ##### `/individuals/{id}/g_variants` -* [/individuals/pgxind-kftx25hb/g_variants/](http://progenetix.org/beacon/individuals/pgxind-kftx25hb/g_variants) -* [/individuals/pgxind-kftx25hb/genomicVariations/](http://progenetix.org/beacon/individuals/pgxind-kftx25hb/genomicVariations/) +* [/individuals/pgxind-kftx25hb/g_variants/](https://progenetix.org/beacon/individuals/pgxind-kftx25hb/g_variants) +* [/individuals/pgxind-kftx25hb/genomicVariations/](https://progenetix.org/beacon/individuals/pgxind-kftx25hb/genomicVariations/) - retrieval of all variants from a single individual ---- @@ -145,22 +145,22 @@ the local `variants` collection. ##### `/g_variants?testMode=true` -* [/g_variants?testMode=true](http://progenetix.org/beacon/g_variants?testMode=true) +* [/g_variants?testMode=true](https://progenetix.org/beacon/g_variants?testMode=true) - retrieval of some random variants - for testing API responses ##### `/g_variants` + query -* [/variants/?assemblyId=GRCh38&referenceName=17&variantType=DEL&filterLogic=AND&start=7500000&start=7676592&end=7669607&end=7800000](http://progenetix.org/beacon/variants/?assemblyId=GRCh38&referenceName=17&variantType=DEL&filterLogic=AND&start=7500000&start=7676592&end=7669607&end=7800000) +* [/variants/?assemblyId=GRCh38&referenceName=17&variantType=DEL&filterLogic=AND&start=7500000&start=7676592&end=7669607&end=7800000](https://progenetix.org/beacon/variants/?assemblyId=GRCh38&referenceName=17&variantType=DEL&filterLogic=AND&start=7500000&start=7676592&end=7669607&end=7800000) - This is an example for a Beacon "Bracket Query" which will return focal deletions in the TP53 locus (by position). ##### `/g_variants/{id}` -* [/g_variants/pgxvar-5f5a35586b8c1d6d377b77f6](http://progenetix.org/beacon/g_variants/pgxvar-5f5a35586b8c1d6d377b77f6) +* [/g_variants/pgxvar-5f5a35586b8c1d6d377b77f6](https://progenetix.org/beacon/g_variants/pgxvar-5f5a35586b8c1d6d377b77f6) ##### `/g_variants/{id}/biosamples` -* [/g_variants/pgxvar-5f5a35586b8c1d6d377b77f6/biosamples](http://progenetix.org/beacon/g_variants/pgxvar-5f5a35586b8c1d6d377b77f6/biosamples) +* [/g_variants/pgxvar-5f5a35586b8c1d6d377b77f6/biosamples](https://progenetix.org/beacon/g_variants/pgxvar-5f5a35586b8c1d6d377b77f6/biosamples) ---- @@ -175,7 +175,7 @@ CNV statistics or binned genome calls. ##### `/analyses?testMode=true` -* [/analyses/?testMode=true](http://progenetix.org/beacon/analyses?testMode=true) +* [/analyses/?testMode=true](https://progenetix.org/beacon/analyses?testMode=true) - retrieval of some random analyses - for testing API responses diff --git a/docs/index.md b/docs/index.md index fa7b948a7..bd6929814 100644 --- a/docs/index.md +++ b/docs/index.md @@ -19,9 +19,9 @@ into resources and workflows, the major 2.0 release in 2022 introduced a large r
Beacon v2 specification
-The core documentation (i.e. this document) can be found on [here](http://docs.genomebeacons.org). Additional +The core documentation (i.e. this document) can be found on [here](https://docs.genomebeacons.org). Additional information about the Beacon project - including news, events, publications - is available -through the website [beacon-project.io](http://beacon-project.io). +through the website [beacon-project.io](https://beacon-project.io). ## Informations for Different Types of Beacon Users diff --git a/docs/other-implementations.md b/docs/other-implementations.md index fc5ad483e..0901d438f 100644 --- a/docs/other-implementations.md +++ b/docs/other-implementations.md @@ -20,8 +20,8 @@ such as CNV query options or handover data delivery. #### Technologies * MongoDB backend -* [`bycon`](http://github.com/progenetix/bycon/) Python-based full stack API / middleware -* [`progenetix-web`](http://github.com/progenetix/progenetix-web/) React based front-end (modular for Beacon instances as well as the whole Progenetix UI) +* [`bycon`](https://github.com/progenetix/bycon/) Python-based full stack API / middleware +* [`progenetix-web`](https://github.com/progenetix/progenetix-web/) React based front-end (modular for Beacon instances as well as the whole Progenetix UI) ##### Link: [Documentation page]([implementations/org.progenetix.md](https://docs.progenetix.org/beaconplus/#beacon-v2-path-examples-in-progenetix)) for Progenetix REST paths diff --git a/docs/schemas-md/datasets_defaultSchema.md b/docs/schemas-md/datasets_defaultSchema.md index 23726884d..92361daa9 100644 --- a/docs/schemas-md/datasets_defaultSchema.md +++ b/docs/schemas-md/datasets_defaultSchema.md @@ -3,7 +3,7 @@ | [createDateTime](./obj/createDateTime.md) | The time the dataset was created (ISO 8601 format) | string | NA | 2017-01-17T20:33:40Z | NA| | [dataUseConditions](./obj/dataUseConditions.md) | Data use conditions applying to this dataset. | object | [duoDataUse](./obj/duoDataUse.md) | NA | NA| | [description](./obj/description.md) | Description of the dataset | string | NA | This dataset provides examples of the actual data in this Beacon instance. | NA| -| [externalUrl](./obj/externalUrl.md) | URL to an external system providing more dataset information (RFC 3986 format). | string | NA | http://example.org/wiki/Main_Page | NA| +| [externalUrl](./obj/externalUrl.md) | URL to an external system providing more dataset information (RFC 3986 format). | string | NA | https://example.org/wiki/Main_Page | NA| | [id](./obj/id.md) | Unique identifier of the dataset | string | NA | ds01010101 | NA| | [info](./obj/info.md) | Placeholder to allow the Beacon to return any additional information that is necessary or could be of interest in relation to the query or the entry returned. It is recommended to encapsulate additional informations in this attribute instead of directly adding attributes at the same level than the others in order to avoid collision in the names of attributes in future versions of the specification. | object | NA | NA | NA| | [name](./obj/name.md) | Name of the dataset | string | NA | Dataset with synthetic data | NA| @@ -34,7 +34,7 @@ These are examples extracted directly from the [GitHub repository](https://githu ] }, "description": "This dataset provides examples of the actual data in this Beacon instance.", - "externalUrl": "http://example.org/wiki/Main_Page", + "externalUrl": "https://example.org/wiki/Main_Page", "id": "ds01010101", "name": "Dataset with synthetic data", "updateDateTime": "2017-01-17T20:33:40Z", diff --git a/docs/schemas-md/obj/externalUrl.md b/docs/schemas-md/obj/externalUrl.md index 76edbfe81..ebc1a6bbe 100644 --- a/docs/schemas-md/obj/externalUrl.md +++ b/docs/schemas-md/obj/externalUrl.md @@ -1,3 +1,3 @@ |Term | Description | Type | Properties | Example | Enum| | ---| ---| ---| ---| ---| --- | -| externalUrl | URL to an external system providing more dataset information (RFC 3986 format). | string | NA | http://example.org/wiki/Main_Page | NA| +| externalUrl | URL to an external system providing more dataset information (RFC 3986 format). | string | NA | https://example.org/wiki/Main_Page | NA| diff --git a/docs/schemas-md/obj/toolReferences.md b/docs/schemas-md/obj/toolReferences.md index 32b7a559b..aa2ab58de 100644 --- a/docs/schemas-md/obj/toolReferences.md +++ b/docs/schemas-md/obj/toolReferences.md @@ -1,3 +1,3 @@ |Term | Description | Type | Properties | Example | Enum| | ---| ---| ---| ---| ---| --- | -| toolReferences | References to the tool | object | NA | `[{"bio.toolsId": "https://bio.tools/vep"}, {"url": "http://www.ensembl.org/vep"}]` | NA| +| toolReferences | References to the tool | object | NA | `[{"bio.toolsId": "https://bio.tools/vep"}, {"url": "https://www.ensembl.org/vep"}]` | NA| diff --git a/docs/schemas-md/obj/variantAlternativeIds.md b/docs/schemas-md/obj/variantAlternativeIds.md index d691d7a5c..77955f1cd 100644 --- a/docs/schemas-md/obj/variantAlternativeIds.md +++ b/docs/schemas-md/obj/variantAlternativeIds.md @@ -1,3 +1,3 @@ |Term | Description | Type | Properties | Example | Enum| | ---| ---| ---| ---| ---| --- | -| variantAlternativeIds | Definition of an external reference class. Provenance: GA4GH Phenopackets v2 `ExternalReference` | array | [id](./id.md), [notes](./notes.md), [reference](./reference.md) | `[{"id": "dbSNP:rs587780345", "notes": "dbSNP id", "reference": "https://www.ncbi.nlm.nih.gov/snp/rs587780345"}, {"id": "ClinGen:CA152954", "notes": "ClinGen Allele Registry id", "reference": "http://reg.clinicalgenome.org/redmine/projects/registry/genboree_registry/by_caid?caid=CA152954"}, {"id": "UniProtKB:P35557#VAR_003699", "reference": "https://www.uniprot.org/uniprot/P35557#VAR_003699"}]`,
`[{"id": "OMIM:164757.0001", "reference": "https://www.omim.org/entry/164757#0001"}]` | NA| +| variantAlternativeIds | Definition of an external reference class. Provenance: GA4GH Phenopackets v2 `ExternalReference` | array | [id](./id.md), [notes](./notes.md), [reference](./reference.md) | `[{"id": "dbSNP:rs587780345", "notes": "dbSNP id", "reference": "https://www.ncbi.nlm.nih.gov/snp/rs587780345"}, {"id": "ClinGen:CA152954", "notes": "ClinGen Allele Registry id", "reference": "https://reg.clinicalgenome.org/redmine/projects/registry/genboree_registry/by_caid?caid=CA152954"}, {"id": "UniProtKB:P35557#VAR_003699", "reference": "https://www.uniprot.org/uniprot/P35557#VAR_003699"}]`,
`[{"id": "OMIM:164757.0001", "reference": "https://www.omim.org/entry/164757#0001"}]` | NA| diff --git a/docs/variant-queries.md b/docs/variant-queries.md index 86594434c..b8827aa68 100644 --- a/docs/variant-queries.md +++ b/docs/variant-queries.md @@ -341,16 +341,16 @@ values to underlying genomic variations had not been precisely defined. This table is maintained in parallel with the [hCNV community documentation](https://cnvar.org/resources/CNV-annotation-standards/#cnv-term-use-comparison-in-computational-fileschema-formats). -| [EFO](http://www.ebi.ac.uk/efo/EFO_0030063) | Beacon | [VCF](https://samtools.github.io/hts-specs/) | SO | GA4GH [VRS](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) ⇒
[VRS proposal](https://github.com/ga4gh/vrs/issues/404)[^1] | Notes | +| [EFO](https://www.ebi.ac.uk/efo/EFO_0030063) | Beacon | [VCF](https://samtools.github.io/hts-specs/) | SO | GA4GH [VRS](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) ⇒
[VRS proposal](https://github.com/ga4gh/vrs/issues/404)[^1] | Notes | | ------------------------------------------- | ------------------------------------------------------------------------------ | -------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ----- | -| [`EFO:0030070`](http://www.ebi.ac.uk/efo/EFO_0030070) copy number gain | `DUP`[^2] or
[`EFO:0030070`](http://www.ebi.ac.uk/efo/EFO_0030070) | `DUP`
`SVCLAIM=D`[^3] | [`SO:0001742`](http://www.sequenceontology.org/browser/current_release/term/SO:0001742) copy_number_gain | [`low-level gain`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) (implicit) ⇒ [`EFO:0030070`](http://www.ebi.ac.uk/efo/EFO_0030070) copy number gain | a sequence alteration whereby the copy number of a given genomic region is greater than the reference sequence | -| [`EFO:0030071`](http://www.ebi.ac.uk/efo/EFO_0030071) low-level copy number gain| `DUP`[^2] or
[`EFO:0030071`](http://www.ebi.ac.uk/efo/EFO_0030071) | `DUP`
`SVCLAIM=D`[^3] | [`SO:0001742`](http://www.sequenceontology.org/browser/current_release/term/SO:0001742) copy_number_gain | [`low-level gain`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) ⇒ [`EFO:0030071`](http://www.ebi.ac.uk/efo/EFO_0030071) low-level copy number gain | | -| [`EFO:0030072`](http://www.ebi.ac.uk/efo/EFO_0030072) high-level copy number gain | `DUP`[^2] or
[`EFO:0030072`](http://www.ebi.ac.uk/efo/EFO_0030072) | `DUP`
`SVCLAIM=D`[^3] | [`SO:0001742`](http://www.sequenceontology.org/browser/current_release/term/SO:0001742) copy_number_gain | [`high-level gain`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) ⇒ [`EFO:0030072`](http://www.ebi.ac.uk/efo/EFO_0030072) high-level copy number gain | commonly but not consistently used for >=5 copies on a bi-allelic genome region | -| [`EFO:0030073`](http://www.ebi.ac.uk/efo/EFO_0030073) focal genome amplification | `DUP`[^2] or
[`EFO:0030073`](http://www.ebi.ac.uk/efo/EFO_0030073) | `DUP`
`SVCLAIM=D`[^3] | [`SO:0001742`](http://www.sequenceontology.org/browser/current_release/term/SO:0001742) copy_number_gain | [`high-level gain`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) ⇒ [`EFO:0030073`](http://www.ebi.ac.uk/efo/EFO_0030073) focal genome amplification | commonly but not consistently used for >=5 copies on a bi-allelic genome region, of limited size (operationally max. 1-5Mb) | -| [`EFO:0030067`](http://www.ebi.ac.uk/efo/EFO_0030067) copy number loss | `DEL`[^2] or
[`EFO:0030067`](http://www.ebi.ac.uk/efo/EFO_0030067) | `DEL`
`SVCLAIM=D`[^3] | [`SO:0001743`](http://www.sequenceontology.org/browser/current_release/term/SO:0001743) copy_number_loss | [`partial loss`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) (implicit) ⇒ [`EFO:0030067`](http://www.ebi.ac.uk/efo/EFO_0030067) copy number loss | a sequence alteration whereby the copy number of a given genomic region is smaller than the reference sequence | -| [`EFO:0030068`](http://www.ebi.ac.uk/efo/EFO_0030068) low-level copy number loss | `DEL`[^2] or
[`EFO:0030068`](http://www.ebi.ac.uk/efo/EFO_0030068) | `DEL`
`SVCLAIM=D`[^3] | [`SO:0001743`](http://www.sequenceontology.org/browser/current_release/term/SO:0001743) copy_number_loss | [`partial loss`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) ⇒ [`EFO:0030068`](http://www.ebi.ac.uk/efo/EFO_0030068) low-level copy number loss | | -| [`EFO:0020073`](http://www.ebi.ac.uk/efo/EFO_0020073) high-level copy number loss | `DEL`[^2] or
[`EFO:0020073`](https://github.com/EBISPOT/efo/issues/1941) | `DEL`
`SVCLAIM=D`[^3] | [`SO:0001743`](http://www.sequenceontology.org/browser/current_release/term/SO:0001743) copy_number_loss | [`partial loss`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) ⇒ [`EFO:0020073`](https://github.com/EBISPOT/efo/issues/1941) high-level copy number loss | a loss of several copies; also used in cases where a complete genomic deletion cannot be asserted | -| [`EFO:0030069`](http://www.ebi.ac.uk/efo/EFO_0030069) complete genomic deletion | `DEL`[^2] or
[`EFO:0030069`](http://www.ebi.ac.uk/efo/EFO_0030069) | `DEL`
`SVCLAIM=D`[^3] | [`SO:0001743`](http://www.sequenceontology.org/browser/current_release/term/SO:0001743) copy_number_loss | [`complete loss`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) ⇒ [`EFO:0030069`](http://www.ebi.ac.uk/efo/EFO_0030069) complete genomic deletion | complete genomic deletion (e.g. homozygous deletion on a bi-allelic genome region) | +| [`EFO:0030070`](https://www.ebi.ac.uk/efo/EFO_0030070) copy number gain | `DUP`[^2] or
[`EFO:0030070`](https://www.ebi.ac.uk/efo/EFO_0030070) | `DUP`
`SVCLAIM=D`[^3] | [`SO:0001742`](https://www.sequenceontology.org/browser/current_release/term/SO:0001742) copy_number_gain | [`low-level gain`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) (implicit) ⇒ [`EFO:0030070`](https://www.ebi.ac.uk/efo/EFO_0030070) copy number gain | a sequence alteration whereby the copy number of a given genomic region is greater than the reference sequence | +| [`EFO:0030071`](https://www.ebi.ac.uk/efo/EFO_0030071) low-level copy number gain| `DUP`[^2] or
[`EFO:0030071`](https://www.ebi.ac.uk/efo/EFO_0030071) | `DUP`
`SVCLAIM=D`[^3] | [`SO:0001742`](https://www.sequenceontology.org/browser/current_release/term/SO:0001742) copy_number_gain | [`low-level gain`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) ⇒ [`EFO:0030071`](https://www.ebi.ac.uk/efo/EFO_0030071) low-level copy number gain | | +| [`EFO:0030072`](https://www.ebi.ac.uk/efo/EFO_0030072) high-level copy number gain | `DUP`[^2] or
[`EFO:0030072`](https://www.ebi.ac.uk/efo/EFO_0030072) | `DUP`
`SVCLAIM=D`[^3] | [`SO:0001742`](https://www.sequenceontology.org/browser/current_release/term/SO:0001742) copy_number_gain | [`high-level gain`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) ⇒ [`EFO:0030072`](https://www.ebi.ac.uk/efo/EFO_0030072) high-level copy number gain | commonly but not consistently used for >=5 copies on a bi-allelic genome region | +| [`EFO:0030073`](https://www.ebi.ac.uk/efo/EFO_0030073) focal genome amplification | `DUP`[^2] or
[`EFO:0030073`](https://www.ebi.ac.uk/efo/EFO_0030073) | `DUP`
`SVCLAIM=D`[^3] | [`SO:0001742`](https://www.sequenceontology.org/browser/current_release/term/SO:0001742) copy_number_gain | [`high-level gain`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) ⇒ [`EFO:0030073`](https://www.ebi.ac.uk/efo/EFO_0030073) focal genome amplification | commonly but not consistently used for >=5 copies on a bi-allelic genome region, of limited size (operationally max. 1-5Mb) | +| [`EFO:0030067`](https://www.ebi.ac.uk/efo/EFO_0030067) copy number loss | `DEL`[^2] or
[`EFO:0030067`](https://www.ebi.ac.uk/efo/EFO_0030067) | `DEL`
`SVCLAIM=D`[^3] | [`SO:0001743`](https://www.sequenceontology.org/browser/current_release/term/SO:0001743) copy_number_loss | [`partial loss`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) (implicit) ⇒ [`EFO:0030067`](https://www.ebi.ac.uk/efo/EFO_0030067) copy number loss | a sequence alteration whereby the copy number of a given genomic region is smaller than the reference sequence | +| [`EFO:0030068`](https://www.ebi.ac.uk/efo/EFO_0030068) low-level copy number loss | `DEL`[^2] or
[`EFO:0030068`](https://www.ebi.ac.uk/efo/EFO_0030068) | `DEL`
`SVCLAIM=D`[^3] | [`SO:0001743`](https://www.sequenceontology.org/browser/current_release/term/SO:0001743) copy_number_loss | [`partial loss`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) ⇒ [`EFO:0030068`](https://www.ebi.ac.uk/efo/EFO_0030068) low-level copy number loss | | +| [`EFO:0020073`](https://www.ebi.ac.uk/efo/EFO_0020073) high-level copy number loss | `DEL`[^2] or
[`EFO:0020073`](https://github.com/EBISPOT/efo/issues/1941) | `DEL`
`SVCLAIM=D`[^3] | [`SO:0001743`](https://www.sequenceontology.org/browser/current_release/term/SO:0001743) copy_number_loss | [`partial loss`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) ⇒ [`EFO:0020073`](https://github.com/EBISPOT/efo/issues/1941) high-level copy number loss | a loss of several copies; also used in cases where a complete genomic deletion cannot be asserted | +| [`EFO:0030069`](https://www.ebi.ac.uk/efo/EFO_0030069) complete genomic deletion | `DEL`[^2] or
[`EFO:0030069`](https://www.ebi.ac.uk/efo/EFO_0030069) | `DEL`
`SVCLAIM=D`[^3] | [`SO:0001743`](https://www.sequenceontology.org/browser/current_release/term/SO:0001743) copy_number_loss | [`complete loss`](https://vrs.ga4gh.org/en/latest/terms_and_model.html#relativecopynumber) ⇒ [`EFO:0030069`](https://www.ebi.ac.uk/efo/EFO_0030069) complete genomic deletion | complete genomic deletion (e.g. homozygous deletion on a bi-allelic genome region) | ##### Last updated 2023-03-22 by @mbaudis (EFO:0020073) ##### updated 2023-03-20 by @mbaudis (VRS proposal) @@ -391,7 +391,7 @@ for `high level deletion (EFO:0020073)` in the April 2023 EFO release). [^2]: While the use of VCF derived (`DUP`, `DEL`) values had been introduced with beacon v1, usage of these terms has always been a _recommendation_ rather than an integral part of the API. We now encourage the support of more specific terms (particularly EFO) -by Beacon developers. As example, the Progentix Beacon API [uses EFO terms](http://progenetix.org/search/) but +by Beacon developers. As example, the Progentix Beacon API [uses EFO terms](https://progenetix.org/search/) but provides an internal term expansion for legacy `DUP`, `DEL` support. [^3]: VCFv4.4 introduces an `SVCLAIM` field to disambiguate between _in situ_ events (such as tandem duplications; known _adjacency_/ _break junction_: `SVCLAIM=J`) and events where e.g. only the diff --git a/framework/json/endpoints.json b/framework/json/endpoints.json index 420171ada..e394ad28f 100644 --- a/framework/json/endpoints.json +++ b/framework/json/endpoints.json @@ -47,7 +47,7 @@ "description": "A Beacon is a web service for genetic data sharing that can be queried for information about variants, individuals, biosamples, and other entities.", "license": { "name": "Apache 2.0", - "url": "http://www.apache.org/licenses/LICENSE-2.0.html" + "url": "https://www.apache.org/licenses/LICENSE-2.0.html" }, "title": "GA4GH Beacon API Specification", "version": "2.0.0" diff --git a/framework/json/responses/examples-fullDocuments/beaconFilteringTermsResponse-example.json b/framework/json/responses/examples-fullDocuments/beaconFilteringTermsResponse-example.json index b7a2b368b..7e783d049 100644 --- a/framework/json/responses/examples-fullDocuments/beaconFilteringTermsResponse-example.json +++ b/framework/json/responses/examples-fullDocuments/beaconFilteringTermsResponse-example.json @@ -31,10 +31,10 @@ "resources": [ { "id": "hp", - "iriPrefix": "http://purl.obolibrary.org/obo/HP_", + "iriPrefix": "https://purl.obolibrary.org/obo/HP_", "name": "Human Phenotype Ontology", "namespacePrefix": "HP", - "url": "http://purl.obolibrary.org/obo/hp.owl", + "url": "https://purl.obolibrary.org/obo/hp.owl", "version": "27-03-2020" } ] diff --git a/framework/json/responses/examples-fullDocuments/beaconInfo-MAX-example.json b/framework/json/responses/examples-fullDocuments/beaconInfo-MAX-example.json index e542da6bb..c9acffa09 100644 --- a/framework/json/responses/examples-fullDocuments/beaconInfo-MAX-example.json +++ b/framework/json/responses/examples-fullDocuments/beaconInfo-MAX-example.json @@ -12,7 +12,7 @@ ] }, "response": { - "alternativeUrl": "http://example.org/wiki/Main_Page", + "alternativeUrl": "https://example.org/wiki/Main_Page", "apiVersion": "v0.3", "createDateTime": "2012-07-19 or 2017-01-17T20:33:40Z", "description": "string", @@ -38,6 +38,6 @@ }, "updateDateTime": "2012-07-19 or 2017-01-17T20:33:40Z", "version": "v0.1", - "welcomeUrl": "http://example.org/wiki/Main_Page" + "welcomeUrl": "https://example.org/wiki/Main_Page" } } \ No newline at end of file diff --git a/framework/json/responses/sections/beaconFilteringTermsResults.json b/framework/json/responses/sections/beaconFilteringTermsResults.json index e7a0ab74a..a752f0e23 100644 --- a/framework/json/responses/sections/beaconFilteringTermsResults.json +++ b/framework/json/responses/sections/beaconFilteringTermsResults.json @@ -49,7 +49,7 @@ "iriPrefix": { "description": "The full Internationalized Resource Identifier (IRI) prefix", "examples": [ - "http://purl.obolibrary.org/obo/HP_" + "https://purl.obolibrary.org/obo/HP_" ], "type": "string" }, @@ -70,7 +70,7 @@ "url": { "description": "Uniform Resource Locator of the resource", "examples": [ - "http://purl.obolibrary.org/obo/hp.owl" + "https://purl.obolibrary.org/obo/hp.owl" ], "type": "string" }, diff --git a/framework/json/responses/sections/beaconInfoResults.json b/framework/json/responses/sections/beaconInfoResults.json index 23d969a7c..9b431df0b 100644 --- a/framework/json/responses/sections/beaconInfoResults.json +++ b/framework/json/responses/sections/beaconInfoResults.json @@ -50,7 +50,7 @@ "alternativeUrl": { "description": "Alternative URL to the API, e.g. a restricted version of this Beacon (RFC 3986 format).", "examples": [ - "http://example.org/beacon/authenticated" + "https://example.org/beacon/authenticated" ], "type": "string" }, @@ -110,7 +110,7 @@ }, "welcomeUrl": { "description": "URL to the welcome page for this Beacon (RFC 3986 format).", - "example": "http://example.org/wiki/Main_Page", + "example": "https://example.org/wiki/Main_Page", "type": "string" } }, diff --git a/framework/src/endpoints.yaml b/framework/src/endpoints.yaml index 94f08c268..9e26e10ec 100644 --- a/framework/src/endpoints.yaml +++ b/framework/src/endpoints.yaml @@ -9,7 +9,7 @@ info: email: beacon@ga4gh.org license: name: Apache 2.0 - url: http://www.apache.org/licenses/LICENSE-2.0.html + url: https://www.apache.org/licenses/LICENSE-2.0.html paths: /: parameters: diff --git a/framework/src/responses/examples-fullDocuments/beaconFilteringTermsResponse-example.yaml b/framework/src/responses/examples-fullDocuments/beaconFilteringTermsResponse-example.yaml index 8af3f8d58..0dedbe1cf 100644 --- a/framework/src/responses/examples-fullDocuments/beaconFilteringTermsResponse-example.yaml +++ b/framework/src/responses/examples-fullDocuments/beaconFilteringTermsResponse-example.yaml @@ -8,10 +8,10 @@ response: resources: - id: hp name: Human Phenotype Ontology - url: http://purl.obolibrary.org/obo/hp.owl + url: https://purl.obolibrary.org/obo/hp.owl version: 27-03-2020 namespacePrefix: HP - iriPrefix: http://purl.obolibrary.org/obo/HP_ + iriPrefix: https://purl.obolibrary.org/obo/HP_ filteringTerms: - type: numeric id: PATO:0000011 diff --git a/framework/src/responses/examples-fullDocuments/beaconInfo-MAX-example.yaml b/framework/src/responses/examples-fullDocuments/beaconInfo-MAX-example.yaml index 5d5e1b5d4..569323ec0 100644 --- a/framework/src/responses/examples-fullDocuments/beaconInfo-MAX-example.yaml +++ b/framework/src/responses/examples-fullDocuments/beaconInfo-MAX-example.yaml @@ -21,8 +21,8 @@ response: info: {} description: string version: v0.1 - welcomeUrl: http://example.org/wiki/Main_Page - alternativeUrl: http://example.org/wiki/Main_Page + welcomeUrl: https://example.org/wiki/Main_Page + alternativeUrl: https://example.org/wiki/Main_Page createDateTime: 2012-07-19 or 2017-01-17T20:33:40Z updateDateTime: 2012-07-19 or 2017-01-17T20:33:40Z info: diff --git a/framework/src/responses/sections/beaconFilteringTermsResults.yaml b/framework/src/responses/sections/beaconFilteringTermsResults.yaml index 4c3bd96c3..503d81184 100644 --- a/framework/src/responses/sections/beaconFilteringTermsResults.yaml +++ b/framework/src/responses/sections/beaconFilteringTermsResults.yaml @@ -73,7 +73,7 @@ definitions: description: >- Uniform Resource Locator of the resource examples: - - http://purl.obolibrary.org/obo/hp.owl + - https://purl.obolibrary.org/obo/hp.owl version: type: string description: >- @@ -90,5 +90,5 @@ definitions: type: string description: The full Internationalized Resource Identifier (IRI) prefix examples: - - http://purl.obolibrary.org/obo/HP_ + - https://purl.obolibrary.org/obo/HP_ additionalProperties: true diff --git a/framework/src/responses/sections/beaconInfoResults.yaml b/framework/src/responses/sections/beaconInfoResults.yaml index 952bc9d10..db432fe09 100644 --- a/framework/src/responses/sections/beaconInfoResults.yaml +++ b/framework/src/responses/sections/beaconInfoResults.yaml @@ -42,14 +42,14 @@ properties: type: string description: >- URL to the welcome page for this Beacon (RFC 3986 format). - example: http://example.org/wiki/Main_Page + example: https://example.org/wiki/Main_Page alternativeUrl: type: string description: >- Alternative URL to the API, e.g. a restricted version of this Beacon (RFC 3986 format). examples: - - http://example.org/beacon/authenticated + - https://example.org/beacon/authenticated createDateTime: type: string description: >- diff --git a/mkdocs.yaml b/mkdocs.yaml index 19bc80677..01888f1e4 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -92,7 +92,7 @@ nav: - Repository and Branch Organization: code-organization - Github Repositories ↗: https://github.com/ga4gh-beacon/ - External Links: - - Beacon Project ↗: http://beacon-project.io + - Beacon Project ↗: https://beacon-project.io # - Download PDF: pdf/beacon.pdf theme: diff --git a/models/json/beacon-v2-default-model/analyses/endpoints.json b/models/json/beacon-v2-default-model/analyses/endpoints.json index e6d44453f..570d7201d 100644 --- a/models/json/beacon-v2-default-model/analyses/endpoints.json +++ b/models/json/beacon-v2-default-model/analyses/endpoints.json @@ -82,7 +82,7 @@ "description": "TBD", "license": { "name": "Apache 2.0", - "url": "http://www.apache.org/licenses/LICENSE-2.0.html" + "url": "https://www.apache.org/licenses/LICENSE-2.0.html" }, "title": "GA4GH Beacon API Specification - Analysis endpoints", "version": "2.0.0" diff --git a/models/json/beacon-v2-default-model/biosamples/endpoints.json b/models/json/beacon-v2-default-model/biosamples/endpoints.json index d6cd3c4ea..533d5ceda 100644 --- a/models/json/beacon-v2-default-model/biosamples/endpoints.json +++ b/models/json/beacon-v2-default-model/biosamples/endpoints.json @@ -86,7 +86,7 @@ "description": "TBD", "license": { "name": "Apache 2.0", - "url": "http://www.apache.org/licenses/LICENSE-2.0.html" + "url": "https://www.apache.org/licenses/LICENSE-2.0.html" }, "title": "GA4GH Beacon API Specification - Biosamples endpoints", "version": "2.0.0" diff --git a/models/json/beacon-v2-default-model/cohorts/endpoints.json b/models/json/beacon-v2-default-model/cohorts/endpoints.json index ec0584c18..1e36b7462 100644 --- a/models/json/beacon-v2-default-model/cohorts/endpoints.json +++ b/models/json/beacon-v2-default-model/cohorts/endpoints.json @@ -99,7 +99,7 @@ "description": "TBD", "license": { "name": "Apache 2.0", - "url": "http://www.apache.org/licenses/LICENSE-2.0.html" + "url": "https://www.apache.org/licenses/LICENSE-2.0.html" }, "title": "GA4GH Beacon API Specification - Cohorts Endpoints", "version": "2.0.0" diff --git a/models/json/beacon-v2-default-model/datasets/defaultSchema.json b/models/json/beacon-v2-default-model/datasets/defaultSchema.json index 4a470f26e..41acb023d 100644 --- a/models/json/beacon-v2-default-model/datasets/defaultSchema.json +++ b/models/json/beacon-v2-default-model/datasets/defaultSchema.json @@ -25,7 +25,7 @@ "externalUrl": { "description": "URL to an external system providing more dataset information (RFC 3986 format).", "examples": [ - "http://example.org/wiki/Main_Page" + "https://example.org/wiki/Main_Page" ], "type": "string" }, diff --git a/models/json/beacon-v2-default-model/datasets/endpoints.json b/models/json/beacon-v2-default-model/datasets/endpoints.json index f97c01c6a..3fdc832a4 100644 --- a/models/json/beacon-v2-default-model/datasets/endpoints.json +++ b/models/json/beacon-v2-default-model/datasets/endpoints.json @@ -97,7 +97,7 @@ "description": "TBD", "license": { "name": "Apache 2.0", - "url": "http://www.apache.org/licenses/LICENSE-2.0.html" + "url": "https://www.apache.org/licenses/LICENSE-2.0.html" }, "title": "GA4GH Beacon API Specification - Datasets Endpoints", "version": "2.0.0" diff --git a/models/json/beacon-v2-default-model/datasets/examples/dataset-Max-example.json b/models/json/beacon-v2-default-model/datasets/examples/dataset-Max-example.json index 9bf90334f..0bbc1dd2d 100644 --- a/models/json/beacon-v2-default-model/datasets/examples/dataset-Max-example.json +++ b/models/json/beacon-v2-default-model/datasets/examples/dataset-Max-example.json @@ -17,7 +17,7 @@ ] }, "description": "This dataset provides examples of the actual data in this Beacon instance.", - "externalUrl": "http://example.org/wiki/Main_Page", + "externalUrl": "https://example.org/wiki/Main_Page", "id": "ds01010101", "name": "Dataset with synthetic data", "updateDateTime": "2017-01-17T20:33:40Z", diff --git a/models/json/beacon-v2-default-model/endpoints.json b/models/json/beacon-v2-default-model/endpoints.json index 054b9c6c4..9c72ad0ef 100644 --- a/models/json/beacon-v2-default-model/endpoints.json +++ b/models/json/beacon-v2-default-model/endpoints.json @@ -47,7 +47,7 @@ "description": "A Beacon is a web service for data discovery and sharing that can be queried for information about entry types defined by a Model.", "license": { "name": "Apache 2.0", - "url": "http://www.apache.org/licenses/LICENSE-2.0.html" + "url": "https://www.apache.org/licenses/LICENSE-2.0.html" }, "title": "GA4GH Beacon API Specification", "version": "2.0.0" diff --git a/models/json/beacon-v2-default-model/genomicVariations/defaultSchema.json b/models/json/beacon-v2-default-model/genomicVariations/defaultSchema.json index c07edcc85..fc3b7f047 100644 --- a/models/json/beacon-v2-default-model/genomicVariations/defaultSchema.json +++ b/models/json/beacon-v2-default-model/genomicVariations/defaultSchema.json @@ -237,7 +237,7 @@ { "id": "ClinGen:CA152954", "notes": "ClinGen Allele Registry id", - "reference": "http://reg.clinicalgenome.org/redmine/projects/registry/genboree_registry/by_caid?caid=CA152954" + "reference": "https://reg.clinicalgenome.org/redmine/projects/registry/genboree_registry/by_caid?caid=CA152954" }, { "id": "UniProtKB:P35557#VAR_003699", @@ -482,7 +482,7 @@ "bio.toolsId": "https://bio.tools/vep" }, { - "url": "http://www.ensembl.org/vep" + "url": "https://www.ensembl.org/vep" } ], "minProperties": 1, diff --git a/models/json/beacon-v2-default-model/genomicVariations/endpoints.json b/models/json/beacon-v2-default-model/genomicVariations/endpoints.json index 20cb5195e..e9101f04f 100644 --- a/models/json/beacon-v2-default-model/genomicVariations/endpoints.json +++ b/models/json/beacon-v2-default-model/genomicVariations/endpoints.json @@ -184,7 +184,7 @@ "description": "TBD", "license": { "name": "Apache 2.0", - "url": "http://www.apache.org/licenses/LICENSE-2.0.html" + "url": "https://www.apache.org/licenses/LICENSE-2.0.html" }, "title": "GA4GH Beacon API Specification - Genomic Variations Endpoints", "version": "2.0.0" diff --git a/models/json/beacon-v2-default-model/individuals/endpoints.json b/models/json/beacon-v2-default-model/individuals/endpoints.json index e5621919b..32898cb17 100644 --- a/models/json/beacon-v2-default-model/individuals/endpoints.json +++ b/models/json/beacon-v2-default-model/individuals/endpoints.json @@ -82,7 +82,7 @@ "description": "TBD", "license": { "name": "Apache 2.0", - "url": "http://www.apache.org/licenses/LICENSE-2.0.html" + "url": "https://www.apache.org/licenses/LICENSE-2.0.html" }, "title": "GA4GH Beacon API Specification - Individuals Endpoints", "version": "2.0.0" diff --git a/models/json/beacon-v2-default-model/runs/endpoints.json b/models/json/beacon-v2-default-model/runs/endpoints.json index 3f7fd4d7a..b5084bba7 100644 --- a/models/json/beacon-v2-default-model/runs/endpoints.json +++ b/models/json/beacon-v2-default-model/runs/endpoints.json @@ -98,7 +98,7 @@ "description": "TBD", "license": { "name": "Apache 2.0", - "url": "http://www.apache.org/licenses/LICENSE-2.0.html" + "url": "https://www.apache.org/licenses/LICENSE-2.0.html" }, "title": "GA4GH Beacon API Specification - Runs Endpoints", "version": "2.0.0" diff --git a/models/src/beacon-v2-default-model/analyses/endpoints.yaml b/models/src/beacon-v2-default-model/analyses/endpoints.yaml index a86548b07..8f5d5457a 100644 --- a/models/src/beacon-v2-default-model/analyses/endpoints.yaml +++ b/models/src/beacon-v2-default-model/analyses/endpoints.yaml @@ -8,7 +8,7 @@ info: email: beacon@ga4gh.org license: name: Apache 2.0 - url: http://www.apache.org/licenses/LICENSE-2.0.html + url: https://www.apache.org/licenses/LICENSE-2.0.html paths: /analyses: get: diff --git a/models/src/beacon-v2-default-model/biosamples/endpoints.yaml b/models/src/beacon-v2-default-model/biosamples/endpoints.yaml index a4246ed1a..50b80d8bb 100644 --- a/models/src/beacon-v2-default-model/biosamples/endpoints.yaml +++ b/models/src/beacon-v2-default-model/biosamples/endpoints.yaml @@ -8,7 +8,7 @@ info: email: beacon@ga4gh.org license: name: Apache 2.0 - url: http://www.apache.org/licenses/LICENSE-2.0.html + url: https://www.apache.org/licenses/LICENSE-2.0.html paths: /biosamples: get: diff --git a/models/src/beacon-v2-default-model/cohorts/endpoints.yaml b/models/src/beacon-v2-default-model/cohorts/endpoints.yaml index e38a31bf6..9fd0e999a 100644 --- a/models/src/beacon-v2-default-model/cohorts/endpoints.yaml +++ b/models/src/beacon-v2-default-model/cohorts/endpoints.yaml @@ -8,7 +8,7 @@ info: email: beacon@ga4gh.org license: name: Apache 2.0 - url: http://www.apache.org/licenses/LICENSE-2.0.html + url: https://www.apache.org/licenses/LICENSE-2.0.html tags: - name: GET Endpoints description: Available endpoints in this API. All of them have a POST counterpart. diff --git a/models/src/beacon-v2-default-model/datasets/defaultSchema.yaml b/models/src/beacon-v2-default-model/datasets/defaultSchema.yaml index b287b9ad3..d9f8cbe30 100644 --- a/models/src/beacon-v2-default-model/datasets/defaultSchema.yaml +++ b/models/src/beacon-v2-default-model/datasets/defaultSchema.yaml @@ -38,7 +38,7 @@ properties: description: URL to an external system providing more dataset information (RFC 3986 format). examples: - - http://example.org/wiki/Main_Page + - https://example.org/wiki/Main_Page info: $ref: https://raw.githubusercontent.com/ga4gh-beacon/beacon-v2/main/framework/json/common/beaconCommonComponents.json#/definitions/Info dataUseConditions: diff --git a/models/src/beacon-v2-default-model/datasets/endpoints.yaml b/models/src/beacon-v2-default-model/datasets/endpoints.yaml index e4d9a273e..dc2c34d31 100644 --- a/models/src/beacon-v2-default-model/datasets/endpoints.yaml +++ b/models/src/beacon-v2-default-model/datasets/endpoints.yaml @@ -8,7 +8,7 @@ info: email: beacon@ga4gh.org license: name: Apache 2.0 - url: http://www.apache.org/licenses/LICENSE-2.0.html + url: https://www.apache.org/licenses/LICENSE-2.0.html tags: - name: GET Endpoints description: Available endpoints in this API. All of them have a POST counterpart. diff --git a/models/src/beacon-v2-default-model/datasets/examples/dataset-Max-example.yaml b/models/src/beacon-v2-default-model/datasets/examples/dataset-Max-example.yaml index d01f5fc6d..ffeb1569d 100644 --- a/models/src/beacon-v2-default-model/datasets/examples/dataset-Max-example.yaml +++ b/models/src/beacon-v2-default-model/datasets/examples/dataset-Max-example.yaml @@ -5,7 +5,7 @@ description: This dataset provides examples of the actual data in this Beacon in createDateTime: '2017-01-17T20:33:40Z' updateDateTime: '2017-01-17T20:33:40Z' version: v1.1 -externalUrl: http://example.org/wiki/Main_Page +externalUrl: https://example.org/wiki/Main_Page dataUseConditions: duoDataUse: - id: DUO:0000007 diff --git a/models/src/beacon-v2-default-model/endpoints.yaml b/models/src/beacon-v2-default-model/endpoints.yaml index 939e3bda3..a8b5716f0 100644 --- a/models/src/beacon-v2-default-model/endpoints.yaml +++ b/models/src/beacon-v2-default-model/endpoints.yaml @@ -9,7 +9,7 @@ info: email: beacon@ga4gh.org license: name: Apache 2.0 - url: http://www.apache.org/licenses/LICENSE-2.0.html + url: https://www.apache.org/licenses/LICENSE-2.0.html paths: /: parameters: diff --git a/models/src/beacon-v2-default-model/genomicVariations/defaultSchema.yaml b/models/src/beacon-v2-default-model/genomicVariations/defaultSchema.yaml index 2e66e4fd0..7011dd6a7 100644 --- a/models/src/beacon-v2-default-model/genomicVariations/defaultSchema.yaml +++ b/models/src/beacon-v2-default-model/genomicVariations/defaultSchema.yaml @@ -115,7 +115,7 @@ definitions: reference: https://www.ncbi.nlm.nih.gov/snp/rs587780345 notes: dbSNP id - id: ClinGen:CA152954 - reference: http://reg.clinicalgenome.org/redmine/projects/registry/genboree_registry/by_caid?caid=CA152954 + reference: https://reg.clinicalgenome.org/redmine/projects/registry/genboree_registry/by_caid?caid=CA152954 notes: ClinGen Allele Registry id - id: UniProtKB:P35557#VAR_003699 reference: https://www.uniprot.org/uniprot/P35557#VAR_003699 @@ -432,7 +432,7 @@ definitions: additionalProperties: true examples: - bio.toolsId: https://bio.tools/vep - - url: http://www.ensembl.org/vep + - url: https://www.ensembl.org/vep minProperties: 1 required: - toolName diff --git a/models/src/beacon-v2-default-model/genomicVariations/endpoints.yaml b/models/src/beacon-v2-default-model/genomicVariations/endpoints.yaml index 71ddb91c3..44b59a736 100644 --- a/models/src/beacon-v2-default-model/genomicVariations/endpoints.yaml +++ b/models/src/beacon-v2-default-model/genomicVariations/endpoints.yaml @@ -8,7 +8,7 @@ info: email: beacon@ga4gh.org license: name: Apache 2.0 - url: http://www.apache.org/licenses/LICENSE-2.0.html + url: https://www.apache.org/licenses/LICENSE-2.0.html paths: /g_variants: get: diff --git a/models/src/beacon-v2-default-model/individuals/endpoints.yaml b/models/src/beacon-v2-default-model/individuals/endpoints.yaml index e03d7decd..7ed5a46fe 100644 --- a/models/src/beacon-v2-default-model/individuals/endpoints.yaml +++ b/models/src/beacon-v2-default-model/individuals/endpoints.yaml @@ -8,7 +8,7 @@ info: email: beacon@ga4gh.org license: name: Apache 2.0 - url: http://www.apache.org/licenses/LICENSE-2.0.html + url: https://www.apache.org/licenses/LICENSE-2.0.html paths: /individuals: get: diff --git a/models/src/beacon-v2-default-model/runs/endpoints.yaml b/models/src/beacon-v2-default-model/runs/endpoints.yaml index dd91878d1..473bea53c 100644 --- a/models/src/beacon-v2-default-model/runs/endpoints.yaml +++ b/models/src/beacon-v2-default-model/runs/endpoints.yaml @@ -8,7 +8,7 @@ info: email: beacon@ga4gh.org license: name: Apache 2.0 - url: http://www.apache.org/licenses/LICENSE-2.0.html + url: https://www.apache.org/licenses/LICENSE-2.0.html paths: /runs: get: From 1d8f80400bf4a5cd80ba6660c1c7429dfa4b471f Mon Sep 17 00:00:00 2001 From: Michael Baudis Date: Sun, 4 Jun 2023 16:18:06 +0200 Subject: [PATCH 15/32] documentation change log update --- docs/bugs-changes-log.md | 16 ++++++++++++---- docs/filters.md | 5 +++-- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/docs/bugs-changes-log.md b/docs/bugs-changes-log.md index a76499252..2b8a3f67b 100644 --- a/docs/bugs-changes-log.md +++ b/docs/bugs-changes-log.md @@ -1,20 +1,28 @@ # TODO, Bugs & Changes -## TODO +This page only lists changes w/ regard to the documentation and general organization +of the Beacon project site(s) as well as with overarching repository organization. -### Documentation +## TODO * [x] re-structuring of [Framework page](framework.md) - [ ] add part about necessary files, dependening on installation type (e.g. if not needing to support OpenAPI) -* [ ] fix https (probably @mbaudis has to do some registrar configuration...) +* [x] fix https (probably @mbaudis has to do some registrar configuration...) * [ ] add more [Implementations](other-implementations.md) * [ ] extend [Query documentation](variant-queries.md) - [x] expand the table comparing different "variant types" - [ ] use more content from the variant scouts document -## Changes +### Changes + +#### 2023-06-04: Improved filter documentation & HTTPS + +* extended & clarified "filters" documentation + - [filter types](/filters/#filter-types) in line with specification + - example for pseudo-numerical [value queries](/filters/#pseudo-numerical-value-queries) in `GET` context +* fixed `HTTPS` issue (by brute-forcing all links on site to `https://`) #### 2023-03-14: New `website-docs` branch diff --git a/docs/filters.md b/docs/filters.md index abb782242..a951d66b2 100644 --- a/docs/filters.md +++ b/docs/filters.md @@ -177,8 +177,9 @@ and the `value` parameter provides the field query value. Equality and relationa operators (= < >) can be used between field name and field value pairs, and field values can be associated with units if applicable. -##### Example of a Filter for individuals over 70 years of age (age = PATO:0000011, -age syntax as ISO 8601) +##### Example of a Filter for individuals over 70 years of age + +* age = PATO:0000011, age syntax as ISO 8601 === "GET" From 622b01728b70fb8832eb5f9171160f051208a99e Mon Sep 17 00:00:00 2001 From: Michael Baudis Date: Sun, 11 Jun 2023 09:22:37 +0200 Subject: [PATCH 16/32] documentation * separate pages for records and handovers * navigation restructuring ... more content to follow --- docs/beacon-flavours.md | 36 +++------------------------------ docs/handovers.md | 45 +++++++++++++++++++++++++++++++++++++++++ docs/index.md | 26 ++++++++++++++++++++++++ docs/records.md | 28 +++++++++++++++++++++++++ mkdocs.yaml | 12 ++++++----- 5 files changed, 109 insertions(+), 38 deletions(-) create mode 100644 docs/handovers.md create mode 100644 docs/records.md diff --git a/docs/beacon-flavours.md b/docs/beacon-flavours.md index 8422f29b8..c191b3a43 100644 --- a/docs/beacon-flavours.md +++ b/docs/beacon-flavours.md @@ -77,43 +77,13 @@ handle extended options depending on the user's authentication status. For detailed information about the technical implementation of the different logical scopes please see the [Models](models.md) documentation. -### Beacon Default Data Model +Information about the different data delivery options can be found here: -The Beacon v2 default data model provides a set of schemas for common data entities with -a focus on biomedical genomics (although neither specific to medical application or human genomics _per se_). +* data delivery using [Model defined records](/records/) +* file and information linking using [handover objects](/handovers/) -In contrast to earlier versions of the protocol, the Beacon v2 default models provide -the technical blueprint for rich, structured data responses to Beacon queries, such as -annotated genomic variations, biosamples from which matched variants were retrieved -or data about individuals and study cohorts, where available and authorized. - -Detailed information is available through the [Models Introduction](/models/#introduction) -and the default schemas documented from there. - -### Alternative Data Models - - In principle, the separation of framework and models allows for different models in domains - outside of the genomics focussed Beacon v2 realm, e.g. “Imaging Beacon”, to be built using the same Framework. - -### [H—>O] Beacon Handovers for Data Delivery - -While the Beacon v1 response was restricted to aggregate data and Beacon v2 itself provides -schemas for structuring response objects (e.g. henomic variation or biosample data) -the protocol can be expanded by providing custom access methods to data elements -matched by a Beacon query. Since November 2018, Beacon v1.n has included support for a "handover" protocol, -in which rich data content can be provided from linked services, initiated through a Beacon query[^2]. - -Typical examples of `Handover` use include: - -* access to restricted data, in which a handover URL points to data behind an authentication service -or Firewall -* delivery of large/binary datasets, e.g. original array data or BAM files for a given analysis -* asynchronous calls in which a front-end follows handover URLs for additional data [^1]: Privacy protecting as in "reasonably protecting by design but not immune to complex re-identification attacks". - -[^2]: An early discussion of the topic can e.g. be found in the Beacon developer area on [Github](https://github.com/ga4gh-beacon/specification/issues/114). As of 2018-11-13, the __handover__ concept had become part of the [code development](https://github.com/ga4gh-beacon/specification/pull/230/files). - diff --git a/docs/handovers.md b/docs/handovers.md new file mode 100644 index 000000000..502a91e37 --- /dev/null +++ b/docs/handovers.md @@ -0,0 +1,45 @@ +# [H—>O] Beacon Handovers for Data Delivery + +While the Beacon v1 response was restricted to aggregate data and Beacon v2 itself provides +schemas for structuring response objects (e.g. henomic variation or biosample data) +the protocol can be expanded by providing custom access methods to data elements +matched by a Beacon query. Since November 2018, Beacon v1.n has included support for a "handover" protocol, +in which rich data content can be provided from linked services, initiated through a Beacon query[^1]. + +Typical examples of `Handover` use include: + +* access to restricted data, in which a handover URL points to data behind an authentication service +or Firewall +* delivery of large/binary datasets, e.g. original array data or BAM files for a given analysis +* asynchronous calls in which a front-end follows handover URLs for additional data + +## Examples + +### Download variants in VCF format + +In the following example a minimal boolean response is shown which contains +a single handover in the general `resultsHandovers` list. + +```json +{ + "meta": { + ... + }, + "responseSummary": { + "exists": true + }, + "resultsHandovers": [ + { + "handoverType": { + "id": "EDAM:3016", + "label": "VCF" + }, + "url": "https://my.genomeserver.space/data/vcf/grch38/gizsgf8oaoiteowgfdhhpoiuy/variants.vcf", + "note": "VCFv4.4 file with sample mapped variants (authentication required)" + } + ] +} +``` + +[^1]: An early discussion of the topic can e.g. be found in the Beacon developer area on [Github](https://github.com/ga4gh-beacon/specification/issues/114). As of 2018-11-13, the __handover__ concept had become part of the [code development](https://github.com/ga4gh-beacon/specification/pull/230/files). + diff --git a/docs/index.md b/docs/index.md index bd6929814..e91d159e1 100644 --- a/docs/index.md +++ b/docs/index.md @@ -23,6 +23,32 @@ The core documentation (i.e. this document) can be found on [here](https://docs. information about the Beacon project - including news, events, publications - is available through the website [beacon-project.io](https://beacon-project.io). +## What is Beacon v2? + +Beacon v2 is a **protocol/specification** established by the **Global Alliance for Genomics and Health initiative** ([GA4GH](https://www.ga4gh.org)) that defines an open standard for federated discovery of genomic (and phenoclinic) data in biomedical research and clinical applications. + +!!! Important "Historical Tip" + + Originally, the Beacon protocol (versions 0 and 1) allowed researchers to get information about the presence/absence of a given, specific, genomic mutation in a set of data, from patients of a given disease or from the population in general. + ![Beacon v1](https://beacon-project.io/assets/img/Beacon-v1.png) + +The current version of the protocol is **v2** and introduces new features which were considered important by the community such as: + +* extended and clearer specified [genomic variation queries](/variant-queries), including patterns (wildcards) and region queries (i.e. returning variants within a genomic/chromosomal region) +* get a list of samples related to a phenotype, provided the required [authentication or authorization](/security) +* powerful [_filters_](/filters), primarily based on CURIE terms for ontologies and references, including options to control the use of hierarchical terms or the precision of term matching +* scoped data delivery (e.g. matched variant details or sample information) as part of Beacon responses or through _handover_ protocols + +## Components + +Beacon v2 consists of two components, the **_Framework_** and the **_Models_**. + +The [Framework](framework.md) {{config.repo_framework_icon}} contains the format for the requests and responses, whereas the [Models](models.md) {{config.repo_models_icon}} define the [structure](https://json-schema.org/specification-links.html#2020-12) of the biological data response. The overall function of these components is to provide the instructions to design a **REST API** (REpresentational State Transfer Application Programming Interface) with **OpenAPI** Specification (OAS). The [OAS](https://swagger.io/resources/open-api) defines a standard, language-agnostic interface that is used by software developers to implement [REST APIs](https://en.wikipedia.org/wiki/Overview_of_RESTful_API_Description_Languages). + +!!! Attention "Framework interdependency, releases and alternative models" + + In principle, this dual system allows for different Models (in other domains outside of the Beacon v2 realm, e.g. "Imaging Beacon" to be built using the same Framework. However, in the current context of Beacon v2, we consider the two elements interdependent and likely to be updated together for subsequent major versions (e.g. from v2 to v3). + ## Informations for Different Types of Beacon Users The Beacon documentation provides information for different types of users, diff --git a/docs/records.md b/docs/records.md new file mode 100644 index 000000000..b473e8cc9 --- /dev/null +++ b/docs/records.md @@ -0,0 +1,28 @@ +# Model defined records + +A beacon instance will allow to retrieve data - in contrast to the aggregated +boolean and count responses - if it supports `record` granularity. The type of +document(s) is selected either through the [REST path](/rest-api/) +or by specifying the entity through the `requestedEntityId`. + +While any beacon can in principle choose its own data model - and thereby the +schemas of records it supports - for biomedical genomics beacons we recommend the +support of the Beacon default data model + +## Beacon Default Data Model + +The Beacon v2 default data model provides a set of schemas for common data entities with +a focus on biomedical genomics (although neither specific to medical application or human genomics _per se_). + +In contrast to earlier versions of the protocol, the Beacon v2 default models provide +the technical blueprint for rich, structured data responses to Beacon queries, such as +annotated genomic variations, biosamples from which matched variants were retrieved +or data about individuals and study cohorts, where available and authorized. + +Detailed information is available through the [Models Introduction](/models/#introduction) +and the default schemas documented from there. + +## Alternative Data Models + + In principle, the separation of framework and models allows for different models in domains + outside of the genomics focussed Beacon v2 realm, e.g. “Imaging Beacon”, to be built using the same Framework. diff --git a/mkdocs.yaml b/mkdocs.yaml index 01888f1e4..97fc31882 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -56,17 +56,19 @@ markdown_extensions: nav: - Introduction: - - General Introduction: index - - What is Beacon v2?: what-is-beacon-v2 - - Beacon Flavours: beacon-flavours + - Introducing Beacon: / + - Beacon Types: beacon-flavours - Security: security - Networks: networks - FAQ: FAQ - Changes: bugs-changes-log - - Querying Beacons: - - REST API: rest-api + - Data Discovery: - Genomic Queries: variant-queries - Phenotypes and More...: /filters/#using-filters-in-queries + - Data Delivery: + - Biosamples, Variants...: records + - Data Handovers: handovers + - REST API: rest-api - 'Implement & Deploy a Beacon': - Implementations Options: implementations-options - Standards Integration: formats-standards From 8d72492403b3a66fd79d2432ec5e19569c43713a Mon Sep 17 00:00:00 2001 From: Michael Baudis <675030+mbaudis@users.noreply.github.com> Date: Sun, 11 Jun 2023 17:39:56 +0200 Subject: [PATCH 17/32] documentation restructuring and additions see "changes" on the site --- docs/FAQ.md | 10 ++-- docs/beacon-flavours.md | 2 +- docs/bugs-changes-log.md | 16 ++++++- docs/css/theme_overrides.css | 20 +++++++- docs/index.md | 69 ++++++++++++++++----------- docs/what-is-beacon-v2.md | 25 ---------- mkdocs.yaml | 92 +++++++++++++++++++----------------- 7 files changed, 130 insertions(+), 104 deletions(-) delete mode 100644 docs/what-is-beacon-v2.md diff --git a/docs/FAQ.md b/docs/FAQ.md index 262c2e81b..93f331662 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -72,7 +72,7 @@ } ``` - ##### last change 2023-02-17 by Michael Baudis [:fontawesome-brands-github:](https://github.com/mbaudis) + ###### last change 2023-02-17 @mbaudis ??? faq "Is it `Beacon` or `beacon`?" @@ -80,7 +80,7 @@ components - while lower case `beacons` are instances of these, _i.e._ individual resources using the protocol. - ##### last change 2022-10-01 by Michael Baudis [:fontawesome-brands-github:](https://github.com/mbaudis) + ###### last change 2022-10-01 by @mbaudis ??? faq "What types of genomic variants are supported in Beacon queries?" @@ -100,7 +100,7 @@ provides information about use and expected interpretation of `variantType` values, specifically for copy number variations. - ##### last change 2022-12-14 by Michael Baudis [:fontawesome-brands-github:](https://github.com/mbaudis) + ###### last change 2022-12-14 @mbaudis ??? faq "How can I add e.g. an age limit to a query for a disease?" @@ -119,9 +119,9 @@ However, different scenarios may be supported (e.g. `EFO_0005056:<=P1Y6M` for an "age at death" scenario). - ##### last change 2023-05-31 by Michael Baudis [:fontawesome-brands-github:](https://github.com/mbaudis) + ###### last change 2023-05-31 by @mbaudis -??? faq "How can I handle haplotype queries & representation in Beacon v2?"
" +??? faq "How can I handle haplotype queries & representation in Beacon v2? " #### Queries diff --git a/docs/beacon-flavours.md b/docs/beacon-flavours.md index c191b3a43..cb8a7b6cd 100644 --- a/docs/beacon-flavours.md +++ b/docs/beacon-flavours.md @@ -1,7 +1,7 @@ # Beacon "Flavours" !!! Note "About UI" - Most of the information that you will find here is related to the [Beacon v2 specification](./what-is-beacon-v2.md). For that reason, the examples are shown as REST API requests/responses in the form of [JSON](https://www.json.org/json-en.html). If you are only interested in using beacon with a **graphical interface** please visit the [implementations](implementations-options.md) page. + Most of the information that you will find here is related to the [Beacon v2 specification](/). For that reason, the examples are shown as REST API requests/responses in the form of [JSON](https://www.json.org/json-en.html). If you are only interested in using beacon with a **graphical interface** please visit the [implementations](implementations-options.md) page. While the original Beacon v1 only provided Boolean (_i.e._ **YES/NO**) responses on queries for the existence of specific genomic variants, Beacon v2 is a flexible diff --git a/docs/bugs-changes-log.md b/docs/bugs-changes-log.md index 2b8a3f67b..c9c6e0bc9 100644 --- a/docs/bugs-changes-log.md +++ b/docs/bugs-changes-log.md @@ -9,7 +9,6 @@ of the Beacon project site(s) as well as with overarching repository organizatio * [x] re-structuring of [Framework page](framework.md) - [ ] add part about necessary files, dependening on installation type (e.g. if not needing to support OpenAPI) -* [x] fix https (probably @mbaudis has to do some registrar configuration...) * [ ] add more [Implementations](other-implementations.md) * [ ] extend [Query documentation](variant-queries.md) - [x] expand the table comparing different "variant types" @@ -17,6 +16,17 @@ of the Beacon project site(s) as well as with overarching repository organizatio ### Changes +#### 2023-06-12: Restructured and extended documentation + +* new separation of navigation areas into "Introducing Beacon", "Using Beacons", + "Creating Beacons" and "Beacon Development", with subtopics such as "Data Discovery", + "Data Delivery" ... +* combined "what-is-beacon-v2" into rewritten index page +* new pages for "Data Delivery": [Biosamples, Variants...](/records/) and + [Data Handovers](/handovers/) - so far limited content + +###### @mbaudis + #### 2023-06-04: Improved filter documentation & HTTPS * extended & clarified "filters" documentation @@ -24,11 +34,15 @@ of the Beacon project site(s) as well as with overarching repository organizatio - example for pseudo-numerical [value queries](/filters/#pseudo-numerical-value-queries) in `GET` context * fixed `HTTPS` issue (by brute-forcing all links on site to `https://`) +###### @mbaudis + #### 2023-03-14: New `website-docs` branch To protect the code branches we are using now a separate ``website-docs`` branch in `beacon-v2` for documentation website updates. Please make sure all documentation edits happen there! +###### @mbaudis + #### 2022-06-20: Retiring of `beacon-framework-v2` and `beacon-v2-Models` repos * all issues and PRs were either resolved or transferred to this repository diff --git a/docs/css/theme_overrides.css b/docs/css/theme_overrides.css index f41089f98..9dccbd298 100644 --- a/docs/css/theme_overrides.css +++ b/docs/css/theme_overrides.css @@ -3,7 +3,7 @@ } .md-grid { - max-width: 1200px; + max-width: 1024px; } .md-header__source { @@ -12,6 +12,24 @@ background-position: right; } +div.figcaption { + text-align: justify; + line-height: 1.2em; + font-size: 0.8em; + margin: 0 30px 18px 30px; +} + +.md-typeset h1 { + line-height: 1.2em; + margin: 0 0 24px 0; +} + +.md-typeset ul li { + line-height: 1.4em; + margin-bottom: 0.2em; +} + + h2 { color: var(--md-accent-fg-color); border-top: var(--md-accent-fg-color) thin solid; diff --git a/docs/index.md b/docs/index.md index e91d159e1..5f5682d43 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,43 +1,58 @@ -# Welcome to the Beacon v2 Documentation +# Welcome to the Beacon Documentation -!!! Note "A Standard of the Global Alliance for Genomics and Health GA4GH" +Beacon v2 is a **protocol and specification** established by the **Global Alliance for Genomics and Health** ([GA4GH](https://www.ga4gh.org)) that defines an open standard for the +discovery of genomic (and phenoclinic) data in biomedical research and clinical applications. +Beacon facilitates the discovery of genomic variants and biomedical +data in single or distributed resources with the goal to empower _federated_ data +models - _i.e._ the discovery (and potential retrieval) of data from different +orgnisational and geographic locations. - On [2022-04-21](formats-standards/#dates-and-times) Beacon v2 has been approved as an official [GA4GH standard](https://www.ga4gh.org/) through the GA4GH steering committee. +
+![Beacon v2 Cartoon](img/Beacon-Networks-v2-graphics/Beacon-Networks-v2-graphics-Michael.003.png){: style="width: 600px; margin-top: -30px; margin-bottom: -30px;" } +
+
Concept behind the Beacon v2 specification The protocol defines a framework + for queries potentially containing genomic, phenotypic, clinical and techmical parameters. +While all beacons support the minimal response of "yes / no" upon a query, Beacon v2 +enables rich responses including detailed information about samples and experiments if +supported by the individual resource and in the given context of security and authorisation.
-With growing interest from the community in the implementation of the Beacon protocol -into resources and workflows, the major 2.0 release in 2022 introduced a large range of -[new features](what-is-beacon-v2.md) which were considered important by the community. +The Beacon specification is developed by an international team of sientists and +technology experts, as a product of the [GA4GH Discovery work stream](https://ga4gh-discovery.github.io) +and with major support from the European bioinformatics infrastructure organization +[ELIXIR](https://elixir-europe.org). -!!! Warn "Move to Beacon v2" +The current version of the protocol is **Beacon v2** represents a complete revision of +the original code base and introduced a number of powerful new features which were +considered important by the community such as: + +* extended and clearer specified [genomic variation queries](/variant-queries), including patterns (wildcards) and region queries (i.e. returning variants within a genomic/chromosomal region) +* retrieving information about samples or subject data related to e.g. phenotypes or + other biomedical parameters, depending on the existence of the required [authentication and authorization](/security/) +* powerful [_filters_](/filters/), primarily based on CURIE terms for ontologies and references, including options to control the use of hierarchical terms or the precision of term matching +* scoped data delivery (e.g. matched variant details or sample information) as part of + Beacon responses using its [data model](/records/) or through [_handover_](/handovers/) protocols + +!!! warning "Move to Beacon v2!" + + On [2022-04-21](formats-standards/#dates-and-times) Beacon v2 has been approved as an official [GA4GH standard](https://www.ga4gh.org/) through the GA4GH steering committee. With the release of Beacon v2 implementations of v1 and earlier are not longer supported. Deployers of Beacon instances or networks are advised to migrate to v2 of the standard. The functionality of Beacon v1 [can be easily implemented in v2](/FAQ/#v1-emulation). -
- ![Beacon v2 Cartoon](img/Beacon-Networks-v2-graphics/Beacon-Networks-v2-graphics-Michael.003.png){ width="750" } -
Beacon v2 specification
-
- -The core documentation (i.e. this document) can be found on [here](https://docs.genomebeacons.org). Additional -information about the Beacon project - including news, events, publications - is available -through the website [beacon-project.io](https://beacon-project.io). - -## What is Beacon v2? +This website represents information about the Beacon protocol, its use for **data +discovery** and **data delivery** but also about ways towards +its implementation to "**beaconize**" genomics datasets and resources as well as discussions +of the technical details of the Beacon [**framework**](/framework/) and data [**model**](/models/). -Beacon v2 is a **protocol/specification** established by the **Global Alliance for Genomics and Health initiative** ([GA4GH](https://www.ga4gh.org)) that defines an open standard for federated discovery of genomic (and phenoclinic) data in biomedical research and clinical applications. +Additional information about the Beacon project - including news, events, publications - is available +through the separate website at [beacon-project.io](https://beacon-project.io). !!! Important "Historical Tip" - Originally, the Beacon protocol (versions 0 and 1) allowed researchers to get information about the presence/absence of a given, specific, genomic mutation in a set of data, from patients of a given disease or from the population in general. - ![Beacon v1](https://beacon-project.io/assets/img/Beacon-v1.png) - -The current version of the protocol is **v2** and introduces new features which were considered important by the community such as: - -* extended and clearer specified [genomic variation queries](/variant-queries), including patterns (wildcards) and region queries (i.e. returning variants within a genomic/chromosomal region) -* get a list of samples related to a phenotype, provided the required [authentication or authorization](/security) -* powerful [_filters_](/filters), primarily based on CURIE terms for ontologies and references, including options to control the use of hierarchical terms or the precision of term matching -* scoped data delivery (e.g. matched variant details or sample information) as part of Beacon responses or through _handover_ protocols + Originally, the Beacon protocol (versions 0 and 1) allowed researchers to get information about the presence/absence of a given, specific, genomic mutation in a set of data, from patients of a given disease or from the population in general. Early versions of Beacon did not support + query parameters beyond genomic variations and did provide ways for the optional + retrieval of matched recors. ## Components diff --git a/docs/what-is-beacon-v2.md b/docs/what-is-beacon-v2.md deleted file mode 100644 index 3b5db255c..000000000 --- a/docs/what-is-beacon-v2.md +++ /dev/null @@ -1,25 +0,0 @@ -## Summary - -Beacon v2 is a **protocol/specification** established by the **Global Alliance for Genomics and Health initiative** ([GA4GH](https://www.ga4gh.org)) that defines an open standard for federated discovery of genomic (and phenoclinic) data in biomedical research and clinical applications. - -!!! Important "Historical Tip" - - Originally, the Beacon protocol (versions 0 and 1) allowed researchers to get information about the presence/absence of a given, specific, genomic mutation in a set of data, from patients of a given disease or from the population in general. - ![Beacon v1](https://beacon-project.io/assets/img/Beacon-v1.png) - -The current version of the protocol is **v2** and introduces new features which were considered important by the community such as: - -* extended and clearer specified [genomic variation queries](/variant-queries), including patterns (wildcards) and region queries (i.e. returning variants within a genomic/chromosomal region) -* get a list of samples related to a phenotype, provided the required [authentication or authorization](/security) -* powerful [_filters_](/filters), primarily based on CURIE terms for ontologies and references, including options to control the use of hierarchical terms or the precision of term matching -* scoped data delivery (e.g. matched variant details or sample information) as part of Beacon responses or through _handover_ protocols - -## Components - -Beacon v2 consists of two components, the **_Framework_** and the **_Models_**. - -The [Framework](framework.md) {{config.repo_framework_icon}} contains the format for the requests and responses, whereas the [Models](models.md) {{config.repo_models_icon}} define the [structure](https://json-schema.org/specification-links.html#2020-12) of the biological data response. The overall function of these components is to provide the instructions to design a **REST API** (REpresentational State Transfer Application Programming Interface) with **OpenAPI** Specification (OAS). The [OAS](https://swagger.io/resources/open-api) defines a standard, language-agnostic interface that is used by software developers to implement [REST APIs](https://en.wikipedia.org/wiki/Overview_of_RESTful_API_Description_Languages). - -!!! Attention "Framework interdependency, releases and alternative models" - - In principle, this dual system allows for different Models (in other domains outside of the Beacon v2 realm, e.g. "Imaging Beacon" to be built using the same Framework. However, in the current context of Beacon v2, we consider the two elements interdependent and likely to be updated together for subsequent major versions (e.g. from v2 to v3). diff --git a/mkdocs.yaml b/mkdocs.yaml index 97fc31882..2a06a5483 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -9,6 +9,53 @@ edit_uri: edit/main/docs/ repo_framework_icon: " [:fontawesome-brands-github:](https://github.com/ga4gh-beacon/beacon-v2/tree/main/framework/src)" repo_models_icon: " [:fontawesome-brands-github:](https://github.com/ga4gh-beacon/beacon-v2/tree/main/models/src)" +#<----------------------------- Navigation -----------------------------------># + +nav: + - Introducing Beacon: + - Overview: + - About Beacon: / + - Beacon Types: beacon-flavours + - Security: security + - Beacon Networks: networks + - FAQ: FAQ + - Changes: bugs-changes-log + - Beacon News ↗: https://beacon-project.io/news/ + - Using Beacons: + - Data Discovery: + - Genomic Queries: variant-queries + - Phenotypes and More...: /filters/#using-filters-in-queries + - Data Delivery: + - Biosamples, Variants...: records + - Data Handovers: handovers + - REST API: rest-api + - 'Creating Beacons': + - Implementations Options: implementations-options + - Implementation Examples: + - Reference Implementation ↗: https://b2ri-documentation.readthedocs.io/en/latest/ + - Others: other-implementations + - Standards Integration: formats-standards + - Filters: filters + - Beacon Components: + - Framework: framework + - Beacon Data Model: models + - Default Schemas: + - Analyses: schemas-md/analyses_defaultSchema + - Biosamples: schemas-md/biosamples_defaultSchema + - Cohorts: schemas-md/cohorts_defaultSchema + - Datasets: schemas-md/datasets_defaultSchema + - Genomic Variations: schemas-md/genomicVariations_defaultSchema + - Individuals: schemas-md/individuals_defaultSchema + - Runs: schemas-md/runs_defaultSchema + - Terms List: schemas-md/beacon_terms + - Beacon Development: + - How to Contribute: contribute + - Repository and Branch Organization: code-organization + - Github Repositories ↗: https://github.com/ga4gh-beacon/ + # - Download PDF: pdf/beacon.pdf + +#<--------------------------- / Navigation -----------------------------------># + extra_css: [css/theme_overrides.css] plugins: @@ -17,7 +64,7 @@ plugins: # author: Beacon API Development Team # output_path: pdf/beacon.pdf - macros - - mermaid2 + # - mermaid2 markdown_extensions: - toc: @@ -54,49 +101,6 @@ markdown_extensions: class: mermaid format: !!python/name:mermaid2.fence_mermaid -nav: - - Introduction: - - Introducing Beacon: / - - Beacon Types: beacon-flavours - - Security: security - - Networks: networks - - FAQ: FAQ - - Changes: bugs-changes-log - - Data Discovery: - - Genomic Queries: variant-queries - - Phenotypes and More...: /filters/#using-filters-in-queries - - Data Delivery: - - Biosamples, Variants...: records - - Data Handovers: handovers - - REST API: rest-api - - 'Implement & Deploy a Beacon': - - Implementations Options: implementations-options - - Standards Integration: formats-standards - - Filters: filters - - Beacon Implementations: - - Reference Implementation ↗: https://b2ri-documentation.readthedocs.io/en/latest/ - - Others: other-implementations - - Beacon Components: - - Framework: framework - - Models: - - Introduction: models - - Default Schemas: - - Analyses: schemas-md/analyses_defaultSchema - - Biosamples: schemas-md/biosamples_defaultSchema - - Cohorts: schemas-md/cohorts_defaultSchema - - Datasets: schemas-md/datasets_defaultSchema - - Genomic Variations: schemas-md/genomicVariations_defaultSchema - - Individuals: schemas-md/individuals_defaultSchema - - Runs: schemas-md/runs_defaultSchema - - Terms List: schemas-md/beacon_terms - - Beacon Development: - - How to Contribute: contribute - - Repository and Branch Organization: code-organization - - Github Repositories ↗: https://github.com/ga4gh-beacon/ - - External Links: - - Beacon Project ↗: https://beacon-project.io - # - Download PDF: pdf/beacon.pdf - theme: name: material palette: From ac3e038ab648bfb6a0b1cad92ba7c292cd12a9f8 Mon Sep 17 00:00:00 2001 From: Michael Baudis <675030+mbaudis@users.noreply.github.com> Date: Mon, 12 Jun 2023 06:45:23 -0700 Subject: [PATCH 18/32] rename/restructure changes page --- CHANGELOG.md | 2 +- README.md | 2 +- docs/{bugs-changes-log.md => changes-todo.md} | 83 ++++++++++--------- mkdocs.yaml | 2 +- 4 files changed, 46 insertions(+), 43 deletions(-) rename docs/{bugs-changes-log.md => changes-todo.md} (84%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f94b2408..4612940bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,7 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 * Updated `docs`: - `filters.md` - `variant-queries.md` - - `bugs-changes-log.md` + - `changes-todo.md` - `ComplexValue.md` - `README.md` - Added missing descriptions to models properties (see issue #42) diff --git a/README.md b/README.md index 5da854bf5..e54f57934 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ There is a set of tools in [`/bin`](./bin/) to facilitate the conversion. ATM, a ### Changes -* change notes with respect to the repository & documentation are now in [docs.genomebeacons.org](https://docs.genomebeacons.org/bugs-changes-log/) +* change notes with respect to the repository & documentation are now in [docs.genomebeacons.org](https://docs.genomebeacons.org/changes-todo/) * NOTE: on 2022-06-20 the previous development repositories have been archived: - ARCHIVE - [beacon-framework-v2](https://github.com/ga4gh-beacon/beacon-framework-v2) - ARCHIVE - [beacon-v2-Models](https://github.com/ga4gh-beacon/beacon-v2-Models) diff --git a/docs/bugs-changes-log.md b/docs/changes-todo.md similarity index 84% rename from docs/bugs-changes-log.md rename to docs/changes-todo.md index c9c6e0bc9..68b1f4713 100644 --- a/docs/bugs-changes-log.md +++ b/docs/changes-todo.md @@ -3,20 +3,9 @@ This page only lists changes w/ regard to the documentation and general organization of the Beacon project site(s) as well as with overarching repository organization. -## TODO +## Changes - - -* [x] re-structuring of [Framework page](framework.md) - - [ ] add part about necessary files, dependening on installation type (e.g. if not needing to support OpenAPI) -* [ ] add more [Implementations](other-implementations.md) -* [ ] extend [Query documentation](variant-queries.md) - - [x] expand the table comparing different "variant types" - - [ ] use more content from the variant scouts document - -### Changes - -#### 2023-06-12: Restructured and extended documentation +### 2023-06-12: Restructured and extended documentation * new separation of navigation areas into "Introducing Beacon", "Using Beacons", "Creating Beacons" and "Beacon Development", with subtopics such as "Data Discovery", @@ -25,83 +14,83 @@ of the Beacon project site(s) as well as with overarching repository organizatio * new pages for "Data Delivery": [Biosamples, Variants...](/records/) and [Data Handovers](/handovers/) - so far limited content -###### @mbaudis +@mbaudis -#### 2023-06-04: Improved filter documentation & HTTPS +### 2023-06-04: Improved filter documentation & HTTPS * extended & clarified "filters" documentation - [filter types](/filters/#filter-types) in line with specification - example for pseudo-numerical [value queries](/filters/#pseudo-numerical-value-queries) in `GET` context * fixed `HTTPS` issue (by brute-forcing all links on site to `https://`) -###### @mbaudis +@mbaudis -#### 2023-03-14: New `website-docs` branch +### 2023-03-14: New `website-docs` branch To protect the code branches we are using now a separate ``website-docs`` branch in `beacon-v2` for documentation website updates. Please make sure all documentation edits happen there! -###### @mbaudis +@mbaudis -#### 2022-06-20: Retiring of `beacon-framework-v2` and `beacon-v2-Models` repos +### 2022-06-20: Retiring of `beacon-framework-v2` and `beacon-v2-Models` repos * all issues and PRs were either resolved or transferred to this repository * [x] repos were clearly labeled as `archived` w/ pointers to this one here and archived (_i.e._ set to read only) * also archiving of the `implementations-v2` repository (part of documentation) -#### 2022-05-11: Retiring ReadTheDocs configuration & more +### 2022-05-11: Retiring ReadTheDocs configuration & more * removed ReadTheDocs configuration files * added some "how to implement" instructions -#### 2022-04-21: GA4GH approval notice +### 2022-04-21: GA4GH approval notice -#### 2022-04-18: Documentation updates +### 2022-04-18: Documentation updates * Shuffled small fragments to facilitate comprehension. -#### 2022-04-17: Documentation updates +### 2022-04-17: Documentation updates * Updated default schemas tables according to the newest changes. * Moved `filters.md` from section _Beacon Components_ to _Implement..._. * Dismissed pages w/o content (`_rest-api.md` and `_tips-for-implementers.md`). * Dismissed link to RTD version (deprecated). -#### 2022-04-01: Documentation updates +### 2022-04-01: Documentation updates * Partial update of Default schemas Tables (still work in progress) * Updated `bin` files that parse JSON schemas -#### 2022-03-30: Documentation updates +### 2022-03-30: Documentation updates * Updated diagram in [Models](models.md#Introduction) page. * Removal of some outdated text, e.g. reference to TEMPLATE model (for now) * continuous updates from upstream -#### 2022-03-28: Documentation updates +### 2022-03-28: Documentation updates * added content to the [Standards](formats-standards.md) page (VRS, Phenopackets, coordinates) * [Queries](variant-queries.md) page now with comparison table for (some) variant type terms -#### 2022-03-25: Miscellanea changes in `docs/*.md` +### 2022-03-25: Miscellanea changes in `docs/*.md` * Changes in multiple Markdown pages. * Moved from `mermaid` to `mermaid2` plugin. -#### 2022-03-24: Retiring Separate _Implementations_ Repository +### 2022-03-24: Retiring Separate _Implementations_ Repository * Started adding content to pages such as `networks.md and `roles.md` * Moved pages to different locations in navigation. Created `security.md` under *Beacon Types*. * Example implementations have been moved from the [`implementations-v2` repository](https://github.com/ga4gh-beacon/implementations-v2) to the [Beacon v2 Documentation](https://github.com/ga4gh-beacon/beacon-v2/edit/main/docs/implementations/) - web [access here](https://docs.genomebeacons.org/other-implementations/). -#### 2022-03-23: Name Change to `beacon-v2` +### 2022-03-23: Name Change to `beacon-v2` * The repository name and file paths have been changed from `beacon-v2-unity-testing` to `beacon-v2`. * Added miscellanea suggestions from Jorge (not all of them). -#### 2022-03-22: More Reorganization of Navigation +### 2022-03-22: More Reorganization of Navigation * Moved content from `implementations-and-networks` to `other-implementations` and left only the "Networks" Part. * Added `mkdocs-mermaid2-plugin` both to `mkdocs.yaml` and to github workflows. @@ -109,27 +98,27 @@ to `beacon-v2`. * Reorganization of navigation * Added pages: [Tips for Implementers](_tips-for-implementers.md) -#### 2022-03-21: Reorganization of navigation +### 2022-03-21: Reorganization of navigation * Reorganization of navigation * Deleted page `implement-and-deploy.md` * Added pages: [What is Beacon v2](what-is-beacon-v2.md) and [Implementation options](implementations-options.md) * [Filters](filters.md) Page Updated -#### 2022-03-18: Macros and Variables for Documentation pages +### 2022-03-18: Macros and Variables for Documentation pages The `mkdocs-macros-plugin` has been activated, allowing the use of site-wide variables: * `repo_model_url: https://github.com/ga4gh-beacon/beacon-v2/tree/main/models/src` * this can be used inline as `{{config.repo_model_url}}` -#### 2022-03-16: Documentation Content and Formats Updates +### 2022-03-16: Documentation Content and Formats Updates * [x] addition of more variant query examples * [x] new landing pages for `Implementations and Networks` and [Standards Integration](formats-standards.md) * [x] many adjustments to documentation structure, appearance and representation (e.g. content tabs for query examples) -#### 2022-03-14: Documentation in Repository +### 2022-03-14: Documentation in Repository As of today the new/emerging Beacon v2 documentation is meintained in this repository. We're testing rendered versions (same text/code base) through Github actions ([here](https://beacon-project.io/beacon-v2/)) and [ReadTheDocs](https://beacon-v2-unity.readthedocs.io/en/latest/). @@ -139,11 +128,11 @@ sub-domain to the Github hosted version of the rendered documentation * [x] merging of previous separate documentation repository content from _beacon-v2-schema-documentation_ in the "unity" repository and archiving of the old one -#### 2022-03-11: Removing `yaml` export version +### 2022-03-11: Removing `yaml` export version Since moving to source in YAML the existence of a separate `yaml` export seems unnecessary & maybe confusing. Removed. -#### 2022-03-09: Nesting models +### 2022-03-09: Nesting models The structure of the `models` directory has now be changed to have the default model as one of possibly multiple options as per the discussions in [#1](https://github.com/ga4gh-beacon/beacon-v2/issues/1). @@ -175,7 +164,7 @@ beacon ... ``` -#### 2022-03-08: Automated pulling from current origin repos +### 2022-03-08: Automated pulling from current origin repos * added simple pull commands to the conversion for automatic update to the donor repos @@ -186,18 +175,32 @@ git -C $BEACONFRAMEWORKPATH pull * updated to current crop of PRs -#### 2022-02-24: Path fixes +### 2022-02-24: Path fixes * changed the path replacements to the current repo, resulting in e.g. -#### 2022-02-23: Re-tool +### 2022-02-23: Re-tool * [x] replacement of the previopus general `yamler.py` with a dedicated `beaconYamler.py` * [x] moving replacements to [bin/config.yaml](https://github.com/ga4gh-beacon/beacon-v2/bin/config.yaml) * [x] requirement for complete arguments (in and out paths, in- and out formats) - see [bin/yamlerRunner.sh](https://github.com/ga4gh-beacon/beacon-v2/bin/yamlerRunner.sh) -#### 2022-02-22: Creation of repository +### 2022-02-22: Creation of repository * [x] design of directory structure * [x] test tooling & population with auto-converted files +-------------------------------------------------------------------------------- + +## TODO + + + +* [x] re-structuring of [Framework page](framework.md) + - [ ] add part about necessary files, dependening on installation type (e.g. if not needing to support OpenAPI) +* [ ] add more [Implementations](other-implementations.md) +* [ ] extend [Query documentation](variant-queries.md) + - [x] expand the table comparing different "variant types" + - [ ] use more content from the variant scouts document + + diff --git a/mkdocs.yaml b/mkdocs.yaml index 2a06a5483..bd8f9501d 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -19,7 +19,7 @@ nav: - Security: security - Beacon Networks: networks - FAQ: FAQ - - Changes: bugs-changes-log + - Changes: changes-todo - Beacon News ↗: https://beacon-project.io/news/ - Using Beacons: - Data Discovery: From 278648eabf3b1ae05ef8089a2c8d083241fd3021 Mon Sep 17 00:00:00 2001 From: Michael Baudis <675030+mbaudis@users.noreply.github.com> Date: Mon, 12 Jun 2023 11:06:05 -0700 Subject: [PATCH 19/32] Update records.md --- docs/records.md | 92 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) diff --git a/docs/records.md b/docs/records.md index b473e8cc9..edf26a028 100644 --- a/docs/records.md +++ b/docs/records.md @@ -22,6 +22,98 @@ or data about individuals and study cohorts, where available and authorized. Detailed information is available through the [Models Introduction](/models/#introduction) and the default schemas documented from there. +### Examples + +=== "Biosample in Beacon v2.0" + + This example is a single biosample response, e.g. as the result of a REST path + call (`.../biosamples/{id}/`). The response just demonstrates some of the available + biosample parameters and removes some technical/meta information for clarity. + Also, the sample contains fields which are **not** defined in the default + schema (such as `icdoMorphology`...); but although the use of custom fields is discouraged to + enhance interoperability, the use of `additionalProperties` is allowed so the + data itself is schema conform. + + ``` + { + "meta": { + "apiVersion": "v2.0.0", + "beaconId": "org.progenetix", + "receivedRequestSummary": { + ... + }, + "returnedGranularity": "record", + "returnedSchemas": [ + { + "entityType": "biosample", + "schema": "https://progenetix.org/services/schemas/biosample/" + } + ], + }, + "responseSummary": { + "exists": true, + "numTotalResults": 1 + }, + "response": { + "resultSets": [ + { + "exists": true, + "setType": "dataset", + "id": "progenetix", + "resultsCount": 1, + "results": [ + { + "id": "pgxbs-kftva5c9", + "individualId": "pgxind-kftx25hb", + "notes": "Mantle cell lymphoma", + "biosampleStatus": { + "id": "EFO:0009656", + "label": "neoplastic sample" + }, + "collectionMoment": "P66Y", + "sampleOriginType": { + "id": "OBI:0001479", + "label": "specimen from organism" + }, + "dataUseConditions": { + "id": "DUO:0000004", + "label": "no restriction" + }, + "externalReferences": [ + { + "id": "geo:GSE13331", + "reference": "https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE13331" + } + ], + "histologicalDiagnosis": { + "id": "NCIT:C4337", + "label": "Mantle Cell Lymphoma" + }, + "icdoMorphology": { + "id": "pgx:icdom-96733", + "label": "Mantle cell lymphoma" + }, + "icdoTopography": { + "id": "pgx:icdot-C77.9", + "label": "Lymph node, NOS" + }, + "pathologicalStage": { + "id": "NCIT:C92207", + "label": "Stage Unknown" + }, + "sampleOriginDetail": { + "id": "UBERON:0000029", + "label": "lymph node" + }, + "updated": "2020-09-10 17:44:04.888000" + } + ] + } + ] + } + } + ``` + ## Alternative Data Models In principle, the separation of framework and models allows for different models in domains From 87a17abd303dc9e9d9b12bddae94735596241218 Mon Sep 17 00:00:00 2001 From: Michael Baudis <675030+mbaudis@users.noreply.github.com> Date: Mon, 12 Jun 2023 11:50:16 -0700 Subject: [PATCH 20/32] Update records.md --- docs/records.md | 42 +++++++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/docs/records.md b/docs/records.md index edf26a028..ea75edd44 100644 --- a/docs/records.md +++ b/docs/records.md @@ -32,7 +32,7 @@ and the default schemas documented from there. Also, the sample contains fields which are **not** defined in the default schema (such as `icdoMorphology`...); but although the use of custom fields is discouraged to enhance interoperability, the use of `additionalProperties` is allowed so the - data itself is schema conform. + data itself remains schema conform. ``` { @@ -63,14 +63,14 @@ and the default schemas documented from there. "resultsCount": 1, "results": [ { - "id": "pgxbs-kftva5c9", - "individualId": "pgxind-kftx25hb", - "notes": "Mantle cell lymphoma", + "id": "pgxbs-kftvi9i0", + "individualId": "pgxind-kftvi9i0", + "notes": "Primary Tumor", "biosampleStatus": { "id": "EFO:0009656", "label": "neoplastic sample" }, - "collectionMoment": "P66Y", + "collectionMoment": "P44Y1M24D", "sampleOriginType": { "id": "OBI:0001479", "label": "specimen from organism" @@ -81,29 +81,41 @@ and the default schemas documented from there. }, "externalReferences": [ { - "id": "geo:GSE13331", - "reference": "https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE13331" + "id": "pgx:TCGA.933b9daf-a5bf-46cf-92b6-5ddd8279919c", + "label": "TCGA case_id" + }, + { + "id": "pgx:TCGA.TCGA-76-6663", + "label": "TCGA submitter_id" + }, + { + "id": "pgx:TCGA.005cb7ce-5050-43aa-85ff-cd56ed830535", + "label": "TCGA sample_id" + }, + { + "id": "pgx:TCGA.GBM", + "label": "TCGA GBM project" } ], "histologicalDiagnosis": { - "id": "NCIT:C4337", - "label": "Mantle Cell Lymphoma" + "id": "NCIT:C3058", + "label": "Glioblastoma" }, "icdoMorphology": { - "id": "pgx:icdom-96733", - "label": "Mantle cell lymphoma" + "id": "pgx:icdom-94403", + "label": "Glioblastoma, NOS" }, "icdoTopography": { - "id": "pgx:icdot-C77.9", - "label": "Lymph node, NOS" + "id": "pgx:icdot-C71.9", + "label": "Brain, NOS" }, "pathologicalStage": { "id": "NCIT:C92207", "label": "Stage Unknown" }, "sampleOriginDetail": { - "id": "UBERON:0000029", - "label": "lymph node" + "id": "UBERON:0000955", + "label": "brain" }, "updated": "2020-09-10 17:44:04.888000" } From 1c52ad2b8fdde644939fe995a0b41d605b149502 Mon Sep 17 00:00:00 2001 From: Jordi Rambla Date: Tue, 13 Jun 2023 11:09:26 +0200 Subject: [PATCH 21/32] Amending some examples --- docs/filters.md | 24 ++++----------------- framework/json/requests/filteringTerms.json | 22 +++++++++---------- 2 files changed, 15 insertions(+), 31 deletions(-) diff --git a/docs/filters.md b/docs/filters.md index dabe630d6..92d574314 100644 --- a/docs/filters.md +++ b/docs/filters.md @@ -41,7 +41,7 @@ Bio-ontology and custom term Filter types contain: ], "filterTerms": [ { - "type": "Human Phenotype Ontology", + "type": "ontologyTerm", "id": "HP:0008773", "label": "neoplasm of the lung" }, @@ -50,23 +50,6 @@ Bio-ontology and custom term Filter types contain: } ``` -Numerical value Filter types contain: - -* `type` = data type as 'numeric' (required) -* `id` = field id (required) -* `label` = field label (optional) - -``` -"filterTerms": [ - { - "type": "numeric", - "id": "PATO:000001", - "label": "age" - }, - ... -] -``` - Alphanumerical value Filter types contain: * `type` = data type as 'alphanumeric' (required) @@ -77,13 +60,14 @@ Alphanumerical value Filter types contain: "filterTerms": [ { "type": "alphanumeric", - "id": "HP:0032443", - "label": "past medical history" + "id": "PATO:0000011", + "label": "age" }, ... ] ``` + ## Using Filters in Queries For all query types, the logical `AND` is implied between Filters. The Filter `id` is required for all query types. diff --git a/framework/json/requests/filteringTerms.json b/framework/json/requests/filteringTerms.json index e513e28d4..f61c867f7 100644 --- a/framework/json/requests/filteringTerms.json +++ b/framework/json/requests/filteringTerms.json @@ -5,11 +5,11 @@ "AlphanumericFilter": { "description": "Filter results based on operators and values applied to alphanumeric fields.", "properties": { - "id": { - "description": "Field identfier to be queried.", - "example": "age", - "type": "string" - }, + "id": { + "description": "Field identfier to be queried.", + "example": "ageOfOnset", + "type": "string" + }, "operator": { "default": "=", "description": "Defines how the value relates to the field `id`.", @@ -26,7 +26,7 @@ }, "scope": { "description": "The entry type to which the filter applies", - "example": "biosamples", + "example": "individuals", "type": "string" }, "value": { @@ -50,11 +50,11 @@ "example": "demographic.ethnicity:asian", "type": "string" }, - "scope": { - "description": "The entry type to which the filter applies", - "example": "biosamples", - "type": "string" - } + "scope": { + "description": "The entry type to which the filter applies", + "example": "individuals", + "type": "string" + } }, "required": [ "id" From 23d49cc3976a8561dce849fcde90de7ca96772f3 Mon Sep 17 00:00:00 2001 From: Michael Baudis <675030+mbaudis@users.noreply.github.com> Date: Wed, 14 Jun 2023 07:22:26 -0700 Subject: [PATCH 22/32] fix yaml for filteringTerms Edits have to be done in YAML and then propagated to JSON using bin/yamlerRunner.sh --- framework/json/requests/filteringTerms.json | 20 ++++++++++---------- framework/src/requests/filteringTerms.yaml | 9 +++++---- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/framework/json/requests/filteringTerms.json b/framework/json/requests/filteringTerms.json index f61c867f7..3c0550f7f 100644 --- a/framework/json/requests/filteringTerms.json +++ b/framework/json/requests/filteringTerms.json @@ -5,11 +5,11 @@ "AlphanumericFilter": { "description": "Filter results based on operators and values applied to alphanumeric fields.", "properties": { - "id": { - "description": "Field identfier to be queried.", - "example": "ageOfOnset", - "type": "string" - }, + "id": { + "description": "Field identfier to be queried.", + "example": "ageOfOnset", + "type": "string" + }, "operator": { "default": "=", "description": "Defines how the value relates to the field `id`.", @@ -50,11 +50,11 @@ "example": "demographic.ethnicity:asian", "type": "string" }, - "scope": { - "description": "The entry type to which the filter applies", - "example": "individuals", - "type": "string" - } + "scope": { + "description": "The entry type to which the filter applies", + "example": "individuals", + "type": "string" + } }, "required": [ "id" diff --git a/framework/src/requests/filteringTerms.yaml b/framework/src/requests/filteringTerms.yaml index 66bae1332..23b7cddd0 100644 --- a/framework/src/requests/filteringTerms.yaml +++ b/framework/src/requests/filteringTerms.yaml @@ -59,7 +59,7 @@ definitions: id: type: string description: Field identfier to be queried. - example: age + example: ageOfOnset operator: type: string enum: @@ -74,14 +74,15 @@ definitions: example: '>' value: type: string - description: Alphanumeric search term to be used within the query which can + description: >- + Alphanumeric search term to be used within the query which can contain wildcard characters (%) to denote any number of unknown characters. Values can be assocatied with units if applicable. example: P70Y scope: type: string description: The entry type to which the filter applies - example: biosamples + example: individuals CustomFilter: type: object description: Filter results to include records that contain a custom term defined @@ -96,5 +97,5 @@ definitions: scope: type: string description: The entry type to which the filter applies - example: biosamples + example: individuals additionalProperties: true From bc666cd0440dff271879d5a2a4e9a90cd8c9ac1a Mon Sep 17 00:00:00 2001 From: Michael Baudis <675030+mbaudis@users.noreply.github.com> Date: Wed, 14 Jun 2023 07:27:56 -0700 Subject: [PATCH 23/32] link fix --- docs/other-implementations.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/other-implementations.md b/docs/other-implementations.md index 0901d438f..9fddb67e8 100644 --- a/docs/other-implementations.md +++ b/docs/other-implementations.md @@ -20,10 +20,10 @@ such as CNV query options or handover data delivery. #### Technologies * MongoDB backend -* [`bycon`](https://github.com/progenetix/bycon/) Python-based full stack API / middleware +* [`bycon`](https://github.com/progenetix/bycon/) Python-based full stack API / middleware (documentation [here](https://bycon.progenetix.org/)) * [`progenetix-web`](https://github.com/progenetix/progenetix-web/) React based front-end (modular for Beacon instances as well as the whole Progenetix UI) -##### Link: [Documentation page]([implementations/org.progenetix.md](https://docs.progenetix.org/beaconplus/#beacon-v2-path-examples-in-progenetix)) for Progenetix REST paths +##### Link: [Documentation page](https://docs.progenetix.org/beaconplus/#beacon-v2-path-examples-in-progenetix) for Progenetix REST paths ### Cafe Variome From 16db543100221f40453f0dbe2950375fb65d58e3 Mon Sep 17 00:00:00 2001 From: Michael Baudis <675030+mbaudis@users.noreply.github.com> Date: Wed, 14 Jun 2023 07:32:22 -0700 Subject: [PATCH 24/32] comment broken Beacon link for http://clinbioinfosspa.es --- docs/other-implementations.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/other-implementations.md b/docs/other-implementations.md index 9fddb67e8..001730593 100644 --- a/docs/other-implementations.md +++ b/docs/other-implementations.md @@ -33,9 +33,11 @@ such as CNV query options or handover data delivery. ##### Link: [CNAG Beacon v2 API](https://playground.rd-connect.eu/beacon2/api) + ## Tips for New Implementers From c7cb88660084caa07ef6d9fb209dd694021f2fdd Mon Sep 17 00:00:00 2001 From: Michael Baudis <675030+mbaudis@users.noreply.github.com> Date: Wed, 14 Jun 2023 10:49:24 -0700 Subject: [PATCH 25/32] remove numeric example from doc --- docs/filters.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/docs/filters.md b/docs/filters.md index 43e6e12af..44c5210bf 100644 --- a/docs/filters.md +++ b/docs/filters.md @@ -68,11 +68,6 @@ Alphanumerical value Filter types contain: ``` "filteringTerms": [ - { - "type": "numeric", - "id": "PATO:000001", - "label": "age" - }, { "type": "alphanumeric", "id": "PATO:0000011", @@ -82,7 +77,6 @@ Alphanumerical value Filter types contain: ] ``` - ## Using Filters in Queries For all query types, the logical `AND` is implied between Filters. The Filter `id` is required for all query types. From 01381e66659995a2dd6bdc33a91cf68ae8a74c5d Mon Sep 17 00:00:00 2001 From: Michael Baudis <675030+mbaudis@users.noreply.github.com> Date: Thu, 15 Jun 2023 15:47:06 -0700 Subject: [PATCH 26/32] Update filters.md --- docs/filters.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/filters.md b/docs/filters.md index 44c5210bf..db8de74b7 100644 --- a/docs/filters.md +++ b/docs/filters.md @@ -36,7 +36,7 @@ Bio-ontology and custom term Filter types contain: * `id` = term id (required) * `label` = term label (optional) -``` +```json "response":{ "resources":[ { @@ -66,7 +66,7 @@ Alphanumerical value Filter types contain: * `id` = field id (required) * `label` = field label (optional) -``` +```json "filteringTerms": [ { "type": "alphanumeric", @@ -87,7 +87,7 @@ For all query types, the logical `AND` is implied between Filters. The Filter `i In this case general filter defaults apply (e.g. `{ "includeDescendantTerms": true }`). Generally, use of filters other than CURIE values for filter ids is discouraged. -### CURIE based filters query +### CURIE based filters query (type "OntologyFilters") !!! note "Hierarchical term expansion" @@ -119,7 +119,7 @@ Papillary Renal Cell Carcinoma (NCIT:C6975) from a publication identified throug ``` -### Modified hierarchical ontology query +#### Modified hierarchical ontology query A Beacon will query for entities associated with the submitted bio-ontology term(s), and by default, all descendent terms. The optional `includeDescendantTerms` parameter can be set to either `true` or `false`. The default and assumed value @@ -143,7 +143,7 @@ Request example of two filters, where one filter excludes matches with descenden ``` -### Semantic similarity query +#### Semantic similarity query A Beacon will query for entities that are associated with bio-ontology terms that are similar to the submitted terms. The Beacon API is agnostic to the semantic similarity model implemented by a Beacon and how a Beacon applies the relative thresholds of similarity. A semantic similarity query request contains the required `similarity` parameter with a value set to define the relative threshold level of `high`, `medium` or `low`. @@ -162,7 +162,7 @@ POST request example of two Filters using differing relative similarity threshol ] ``` -### (Pseudo-)numerical value queries +### Alphanumerical value queries A Beacon will query for quantitative properties when the required `operator` and numerical `value` parameters are set in the filters request. The `id` parameter @@ -172,6 +172,8 @@ and the `value` parameter provides the field query value. Equality and relationa operators (= < >) can be used between field name and field value pairs, and field values can be associated with units if applicable. +#### (Pseudo-)numerical value queries + ##### Example of a Filter for individuals over 70 years of age * age = PATO:0000011, age syntax as ISO 8601 @@ -207,7 +209,7 @@ use (e.g. the ISO values probably will be converted to some numerical format for database matches). -### Text matches +#### Text matches A Beacon will query free-text values within fields when the required `operator` and alphanumerical `value` parameters are set in the filters request. Queries can @@ -216,7 +218,7 @@ wildcards to match patterns within alphanumerical values. In all query classes, the `id` parameter identifies the field name, the `operator` parameter defines the operator to use, and the `value` parameter provides the field query value. -#### 'EXACT' value query +##### 'EXACT' value query The `operator` parameter is set to the equality (=) operator. @@ -248,11 +250,9 @@ POST request example to filter medical history free-text for any reference to ca ] ``` -#### 'NOT' value query - -The `operator` parameter is set to the logical not (!) operator. The `value` parameter should not be present in field value. The wildcard character can be used if required. +##### 'NOT' value query -##### Example to filter medical history free-text for records that do not include the query string +The `operator` parameter is set to the logical not (!) operator. The `value` parameter should not be present in field value. The wildcard character can be used if required. The following example shows how to filter medical history free-text for records that do not include the query string: === "GET" From 62d704d7190d1586fae17f25216cc965c3459aa1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oriol=20L=C3=B3pez-Doriga?= Date: Fri, 16 Jun 2023 10:19:50 +0200 Subject: [PATCH 27/32] complexValue required type fixed --- models/json/beacon-v2-default-model/common/complexValue.json | 5 +---- models/src/beacon-v2-default-model/common/complexValue.yaml | 3 +-- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/models/json/beacon-v2-default-model/common/complexValue.json b/models/json/beacon-v2-default-model/common/complexValue.json index 866070ad7..9d1c4a4b4 100644 --- a/models/json/beacon-v2-default-model/common/complexValue.json +++ b/models/json/beacon-v2-default-model/common/complexValue.json @@ -24,10 +24,7 @@ } } }, - "required": [ - "quantityType", - "quantity" - ] + "required": [ "typedQuantities" ] } }, "description": "Definition of a complex value class. Provenance: GA4GH Phenopackets v2 `TypedQuantity`", diff --git a/models/src/beacon-v2-default-model/common/complexValue.yaml b/models/src/beacon-v2-default-model/common/complexValue.yaml index 45048920f..a31ddf779 100644 --- a/models/src/beacon-v2-default-model/common/complexValue.yaml +++ b/models/src/beacon-v2-default-model/common/complexValue.yaml @@ -28,5 +28,4 @@ definitions: id: NCIT:C49670 label: Millimeter of Mercury required: - - quantityType - - quantity + - typedQuantities From cfec4965678333e1749a79b3ac6096ddf4968a36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oriol=20L=C3=B3pez-Doriga?= Date: Fri, 16 Jun 2023 12:28:04 +0200 Subject: [PATCH 28/32] fixed position of required --- .../json/beacon-v2-default-model/common/complexValue.json | 6 +++--- .../src/beacon-v2-default-model/common/complexValue.yaml | 7 ++++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/models/json/beacon-v2-default-model/common/complexValue.json b/models/json/beacon-v2-default-model/common/complexValue.json index 9d1c4a4b4..5c23cfd38 100644 --- a/models/json/beacon-v2-default-model/common/complexValue.json +++ b/models/json/beacon-v2-default-model/common/complexValue.json @@ -23,8 +23,7 @@ "label": "Systolic Blood Pressure" } } - }, - "required": [ "typedQuantities" ] + } } }, "description": "Definition of a complex value class. Provenance: GA4GH Phenopackets v2 `TypedQuantity`", @@ -35,7 +34,8 @@ "$ref": "#/definitions/TypedQuantity" }, "type": "array" - } + }, + "required": [ "typedQuantities" ] }, "title": "Complex Value", "type": "object" diff --git a/models/src/beacon-v2-default-model/common/complexValue.yaml b/models/src/beacon-v2-default-model/common/complexValue.yaml index a31ddf779..a50522490 100644 --- a/models/src/beacon-v2-default-model/common/complexValue.yaml +++ b/models/src/beacon-v2-default-model/common/complexValue.yaml @@ -9,6 +9,9 @@ properties: type: array items: $ref: '#/definitions/TypedQuantity' + required: + - typedQuantities + definitions: TypedQuantity: properties: @@ -26,6 +29,4 @@ definitions: quentity: unit: id: NCIT:C49670 - label: Millimeter of Mercury - required: - - typedQuantities + label: Millimeter of Mercury \ No newline at end of file From be4ff293c7b99d7b7e12ceb17d2df2756655dcee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oriol=20L=C3=B3pez-Doriga?= Date: Fri, 16 Jun 2023 13:29:07 +0200 Subject: [PATCH 29/32] added required again for quantityType --- .../json/beacon-v2-default-model/common/complexValue.json | 6 +++++- models/src/beacon-v2-default-model/common/complexValue.yaml | 5 ++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/models/json/beacon-v2-default-model/common/complexValue.json b/models/json/beacon-v2-default-model/common/complexValue.json index 5c23cfd38..aba373e2f 100644 --- a/models/json/beacon-v2-default-model/common/complexValue.json +++ b/models/json/beacon-v2-default-model/common/complexValue.json @@ -23,7 +23,11 @@ "label": "Systolic Blood Pressure" } } - } + }, + "required": [ + "quantityType", + "quantity" + ] } }, "description": "Definition of a complex value class. Provenance: GA4GH Phenopackets v2 `TypedQuantity`", diff --git a/models/src/beacon-v2-default-model/common/complexValue.yaml b/models/src/beacon-v2-default-model/common/complexValue.yaml index a50522490..98207b12b 100644 --- a/models/src/beacon-v2-default-model/common/complexValue.yaml +++ b/models/src/beacon-v2-default-model/common/complexValue.yaml @@ -29,4 +29,7 @@ definitions: quentity: unit: id: NCIT:C49670 - label: Millimeter of Mercury \ No newline at end of file + label: Millimeter of Mercury + required: + - quantityType + - quantity \ No newline at end of file From 4d104cea56269284dd92f6cc8bb9c10c8556bc99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oriol=20L=C3=B3pez-Doriga?= Date: Mon, 19 Jun 2023 12:59:26 +0200 Subject: [PATCH 30/32] new gh actions --- .github/workflows/github-actions-demo-yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .github/workflows/github-actions-demo-yml diff --git a/.github/workflows/github-actions-demo-yml b/.github/workflows/github-actions-demo-yml new file mode 100644 index 000000000..8a9c1ffdf --- /dev/null +++ b/.github/workflows/github-actions-demo-yml @@ -0,0 +1,18 @@ +name: GitHub Actions Demo +run-name: ${{ github.actor }} is testing out GitHub Actions 🚀 +on: [push] +jobs: + Explore-GitHub-Actions: + runs-on: ubuntu-latest + steps: + - run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event." + - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!" + - run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}." + - name: Check out repository code + uses: actions/checkout@v3 + - run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner." + - run: echo "🖥️ The workflow is now ready to test your code on the runner." + - name: List files in the repository + run: | + ls ${{ github.workspace }} + - run: echo "🍏 This job's status is ${{ job.status }}." \ No newline at end of file From a45ccc786aba78e1e393bb4c087c1d87d9ae5306 Mon Sep 17 00:00:00 2001 From: redmitry Date: Fri, 6 Oct 2023 16:14:36 +0200 Subject: [PATCH 31/32] provide "required" properties for the "age" and "ageRange" schemas --- models/json/beacon-v2-default-model/common/age.json | 3 +++ models/json/beacon-v2-default-model/common/ageRange.json | 4 ++++ models/src/beacon-v2-default-model/common/age.yaml | 2 ++ models/src/beacon-v2-default-model/common/ageRange.yaml | 3 +++ 4 files changed, 12 insertions(+) diff --git a/models/json/beacon-v2-default-model/common/age.json b/models/json/beacon-v2-default-model/common/age.json index 9ca29f0da..f6b941fde 100644 --- a/models/json/beacon-v2-default-model/common/age.json +++ b/models/json/beacon-v2-default-model/common/age.json @@ -8,6 +8,9 @@ "type": "string" } }, + "required": [ + "iso8601duration" + ], "title": "Age", "type": "object" } \ No newline at end of file diff --git a/models/json/beacon-v2-default-model/common/ageRange.json b/models/json/beacon-v2-default-model/common/ageRange.json index 204fef563..31fb79c76 100644 --- a/models/json/beacon-v2-default-model/common/ageRange.json +++ b/models/json/beacon-v2-default-model/common/ageRange.json @@ -11,6 +11,10 @@ "description": "Represents age as an ISO8601 duration (e.g., P18Y)." } }, + "required": [ + "end", + "start" + ], "title": "AgeRange", "type": "object" } \ No newline at end of file diff --git a/models/src/beacon-v2-default-model/common/age.yaml b/models/src/beacon-v2-default-model/common/age.yaml index 04e0bfb3c..51a105065 100644 --- a/models/src/beacon-v2-default-model/common/age.yaml +++ b/models/src/beacon-v2-default-model/common/age.yaml @@ -7,3 +7,5 @@ properties: description: Represents age as a ISO8601 duration (e.g., P40Y10M05D). type: string example: P32Y6M1D +required: + - iso8601duration diff --git a/models/src/beacon-v2-default-model/common/ageRange.yaml b/models/src/beacon-v2-default-model/common/ageRange.yaml index 02011e6c4..cd15ccad5 100644 --- a/models/src/beacon-v2-default-model/common/ageRange.yaml +++ b/models/src/beacon-v2-default-model/common/ageRange.yaml @@ -9,3 +9,6 @@ properties: end: description: Represents age as an ISO8601 duration (e.g., P59Y). $ref: ./age.yaml +required: + - start + - end From 1f6fb0bae286687066e5b6a2ea8b3fc161fdc03c Mon Sep 17 00:00:00 2001 From: Dmitry Repchevsky Date: Tue, 10 Oct 2023 10:48:08 +0200 Subject: [PATCH 32/32] comment changes add this to trigger stalled workflow action --- models/json/beacon-v2-default-model/common/age.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/json/beacon-v2-default-model/common/age.json b/models/json/beacon-v2-default-model/common/age.json index f6b941fde..e7f4a6c66 100644 --- a/models/json/beacon-v2-default-model/common/age.json +++ b/models/json/beacon-v2-default-model/common/age.json @@ -3,7 +3,7 @@ "description": "Age value definition. Provenance: GA4GH Phenopackets v2 `Age`", "properties": { "iso8601duration": { - "description": "Represents age as a ISO8601 duration (e.g., P40Y10M05D).", + "description": "Represents age as a ISO8601 duration (e.g., 'P40Y10M05D').", "example": "P32Y6M1D", "type": "string" } @@ -13,4 +13,4 @@ ], "title": "Age", "type": "object" -} \ No newline at end of file +}