Skip to content

Commit

Permalink
Merge pull request #183 from ga4gh-beacon/schema-urgent-fixes
Browse files Browse the repository at this point in the history
Schema urgent fixes to main: type => set type and definitions -> $defs
  • Loading branch information
costero-e authored Dec 12, 2024
2 parents 5ea17fb + 8e0c390 commit e7ca12a
Show file tree
Hide file tree
Showing 149 changed files with 1,697 additions and 919 deletions.
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,18 @@ There is a set of tools in [`/bin`](./bin/) to facilitate the conversion. ATM, a

### Changelog

## 2.1.1

*Released, October, 8, 2024*
[Beacon-v2.1.1](https://github.com/ga4gh-beacon/beacon-v2/tree/5ea17fbd0d2ba533aa1e85f7271f9a2cc9be6794)

* Changed uri for uri-template in Endpoint.singleEntryUrl


## 2.1.0

*Released, July, 19, 2024*
[Beacon-v2.1.0](https://github.com/ga4gh-beacon/beacon-v2/tree/16862205c79294fae5473f7fa330bf5929b3b120)

* Relocated TypedQuantity required to proper level of the schema for complexValue
* Added end and start entities for ageRange and iso8601duration for age
Expand All @@ -41,6 +50,7 @@ There is a set of tools in [`/bin`](./bin/) to facilitate the conversion. ATM, a
## 2.0.1

*Released July, 16, 2024*
[Beacon-v2.0.1](https://github.com/ga4gh-beacon/beacon-v2/tree/f6f85c445922831bd398552384593206c86287de)

* Replaced ENSGLOSSARY for SO ontology family in documentation examples
* Moved CURIE to beaconCommonComponents
Expand All @@ -51,6 +61,7 @@ There is a set of tools in [`/bin`](./bin/) to facilitate the conversion. ATM, a
## 2.0.0

*Released June, 21, 2022*
[Beacon-v2.0.0](https://github.com/ga4gh-beacon/beacon-v2/tree/d07ef1626321f7428374a4f68d864dfa5e98370f)

* 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:
Expand Down
2 changes: 1 addition & 1 deletion bin/beaconYamler.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/local/bin/python3
#!/usr/bin/env python3

import sys, re, json
import pathlib
Expand Down
4 changes: 2 additions & 2 deletions bin/beacon_yaml2md.pl
Original file line number Diff line number Diff line change
Expand Up @@ -729,9 +729,9 @@ sub add_properties_vrs {
my ( $property, $data ) = @_;
my %url = (
'SequenceExpression' =>
'https://raw.githubusercontent.com/ga4gh/vrs/1.2/schema/vrs.json#/definitions/',
'https://w3id.org/ga4gh/schema/vrs/1.3/vrs.json#/definitions/',
'CopyNumber' =>
'https://raw.githubusercontent.com/ga4gh/vrs/1.2/schema/vrs.json#/definitions/'
'https://w3id.org/ga4gh/schema/vrs/1.3/vrs.json#/definitions/'
);
if ( exists $url{$property} ) {
$data->{properties} =
Expand Down
4 changes: 2 additions & 2 deletions bin/deref_schemas/biosamples/defaultSchema.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ properties:
title: Value
type: object
- $schema: https://json-schema.org/draft/2020-12/schema
definitions:
$defs:
TypedQuantity:
properties:
quantity:
Expand Down Expand Up @@ -1064,7 +1064,7 @@ properties:
description: List of phenotypic abnormalities of the sample. RECOMMENDED.
items:
$schema: https://json-schema.org/draft/2020-12/schema
definitions: {}
$defs: {}
description: Used to describe a phenotype that characterizes the subject or biosample.
properties:
evidence:
Expand Down
8 changes: 4 additions & 4 deletions bin/deref_schemas/cohorts/defaultSchema.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
$comment: 'version: ga4gh-beacon-cohort-v2.0.0'
$schema: https://json-schema.org/draft/2020-12/schema
additionalProperties: &1 !!perl/scalar:JSON::PP::Boolean 1
definitions:
$defs:
CohortCriteria:
description: Criteria used for defining the cohort. It is assumed that all cohort participants will match or NOT match such criteria.
properties:
Expand Down Expand Up @@ -366,7 +366,7 @@ definitions:
description: Phenotypic condition(s) in cohort inclusion criteria
items:
$schema: https://json-schema.org/draft/2020-12/schema
definitions: {}
$defs: {}
description: Used to describe a phenotype that characterizes the subject or biosample.
properties:
evidence:
Expand Down Expand Up @@ -1660,7 +1660,7 @@ properties:
description: Phenotypic condition(s) in cohort inclusion criteria
items:
$schema: https://json-schema.org/draft/2020-12/schema
definitions: {}
$defs: {}
description: Used to describe a phenotype that characterizes the subject or biosample.
properties:
evidence:
Expand Down Expand Up @@ -2406,7 +2406,7 @@ properties:
description: Phenotypic condition(s) in cohort inclusion criteria
items:
$schema: https://json-schema.org/draft/2020-12/schema
definitions: {}
$defs: {}
description: Used to describe a phenotype that characterizes the subject or biosample.
properties:
evidence:
Expand Down
2 changes: 1 addition & 1 deletion bin/deref_schemas/datasets/defaultSchema.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ properties:
dataUseConditions:
$schema: https://json-schema.org/draft/2020-12/schema
additionalProperties: 1
definitions:
$defs:
DUODataUse:
allOf:
- description: 'Data Use Ontology codes and additional information associated with a data object (e.g. sample, dataset).'
Expand Down
2 changes: 1 addition & 1 deletion bin/deref_schemas/genomicVariations/defaultSchema.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
$comment: 'version: ga4gh-beacon-variant-v2.0.0'
$schema: https://json-schema.org/draft/2020-12/schema
additionalProperties: &1 !!perl/scalar:JSON::PP::Boolean 1
definitions:
$defs:
CaseLevelVariant:
description: ''
properties:
Expand Down
6 changes: 3 additions & 3 deletions bin/deref_schemas/individuals/defaultSchema.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -739,7 +739,7 @@ properties:
title: Value
type: object
- $schema: https://json-schema.org/draft/2020-12/schema
definitions:
$defs:
TypedQuantity:
properties:
quantity:
Expand Down Expand Up @@ -1299,7 +1299,7 @@ properties:
items:
$schema: https://json-schema.org/draft/2020-12/schema
additionalProperties: 1
definitions:
$defs:
pedigreeMember:
examples:
- membersInProband:
Expand Down Expand Up @@ -1696,7 +1696,7 @@ properties:
phenotypicFeatures:
items:
$schema: https://json-schema.org/draft/2020-12/schema
definitions: {}
$defs: {}
description: Used to describe a phenotype that characterizes the subject or biosample.
properties:
evidence:
Expand Down
2 changes: 1 addition & 1 deletion bin/deref_schemas/obj/Complex Value.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
Complex Value:
$schema: https://json-schema.org/draft/2020-12/schema
definitions:
$defs:
TypedQuantity:
properties:
quantity:
Expand Down
2 changes: 1 addition & 1 deletion bin/deref_schemas/obj/CopyNumber.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---
CopyNumber:
properties: '[VRS definition for CopyNumber](https://raw.githubusercontent.com/ga4gh/vrs/1.2/schema/vrs.json#/definitions/CopyNumber)'
properties: '[VRS definition for CopyNumber](https://w3id.org/ga4gh/schema/vrs/1.3/vrs.json#/definitions/CopyNumber)'
type: allOf
2 changes: 1 addition & 1 deletion bin/deref_schemas/obj/dataUseConditions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
dataUseConditions:
$schema: https://json-schema.org/draft/2020-12/schema
additionalProperties: 1
definitions:
$defs:
DUODataUse:
allOf:
- description: Data Use Ontology codes and additional information associated
Expand Down
2 changes: 1 addition & 1 deletion bin/deref_schemas/obj/exclusionCriteria.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -413,7 +413,7 @@ exclusionCriteria:
description: Phenotypic condition(s) in cohort inclusion criteria
items:
$schema: https://json-schema.org/draft/2020-12/schema
definitions: {}
$defs: {}
description: Used to describe a phenotype that characterizes the subject or
biosample.
properties:
Expand Down
2 changes: 1 addition & 1 deletion bin/deref_schemas/obj/inclusionCriteria.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -413,7 +413,7 @@ inclusionCriteria:
description: Phenotypic condition(s) in cohort inclusion criteria
items:
$schema: https://json-schema.org/draft/2020-12/schema
definitions: {}
$defs: {}
description: Used to describe a phenotype that characterizes the subject or
biosample.
properties:
Expand Down
2 changes: 1 addition & 1 deletion bin/deref_schemas/obj/measurementValue.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ measurementValue:
properties:
Complex Value:
$schema: https://json-schema.org/draft/2020-12/schema
definitions:
$defs:
TypedQuantity:
properties:
quantity:
Expand Down
2 changes: 1 addition & 1 deletion bin/deref_schemas/obj/measurements.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ measurements:
title: Value
type: object
- $schema: https://json-schema.org/draft/2020-12/schema
definitions:
$defs:
TypedQuantity:
properties:
quantity:
Expand Down
2 changes: 1 addition & 1 deletion bin/deref_schemas/obj/measures.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ measures:
title: Value
type: object
- $schema: https://json-schema.org/draft/2020-12/schema
definitions:
$defs:
TypedQuantity:
properties:
quantity:
Expand Down
2 changes: 1 addition & 1 deletion bin/deref_schemas/obj/pedigrees.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ pedigrees:
items:
$schema: https://json-schema.org/draft/2020-12/schema
additionalProperties: 1
definitions:
$defs:
pedigreeMember:
examples:
- membersInProband:
Expand Down
2 changes: 1 addition & 1 deletion bin/deref_schemas/obj/phenotypicConditions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ phenotypicConditions:
description: Phenotypic condition(s) in cohort inclusion criteria
items:
$schema: https://json-schema.org/draft/2020-12/schema
definitions: {}
$defs: {}
description: Used to describe a phenotype that characterizes the subject or biosample.
properties:
evidence:
Expand Down
2 changes: 1 addition & 1 deletion bin/deref_schemas/obj/phenotypicFeatures.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
phenotypicFeatures:
items:
$schema: https://json-schema.org/draft/2020-12/schema
definitions: {}
$defs: {}
description: Used to describe a phenotype that characterizes the subject or biosample.
properties:
evidence:
Expand Down
15 changes: 0 additions & 15 deletions bin/yamlerRunner.sh
Original file line number Diff line number Diff line change
@@ -1,28 +1,13 @@
BASEDIR=$(dirname $0)
UNITYPATH=$BASEDIR/..

# initial conversion from separate schemas
# DEPRECATED
# BEACONMODELPATH=$BASEDIR/../../beacon-v2-Models/BEACON-V2-Model
# BEACONFRAMEWORKPATH=$BASEDIR/../../beacon-framework-v2

BEACONMODELNAME=beacon-v2-default-model

# for UPSTREAM in $BEACONMODELPATH $BEACONFRAMEWORKPATH
# do
# echo "pulling $UPSTREAM"
# git -C $UPSTREAM pull
# done

for KIND in src json
do
mkdir -p $UNITYPATH/models/$KIND/$BEACONMODELNAME
mkdir -p $UNITYPATH/framework/$KIND
done

# $BASEDIR/beaconYamler.py -i $BEACONMODELPATH -t json -x yaml -o $UNITYPATH/models/src/$BEACONMODELNAME
# $BASEDIR/beaconYamler.py -i $BEACONFRAMEWORKPATH -t json -x yaml -o $UNITYPATH/framework/src

# recurring conversion from the source files to the exported versions
$BASEDIR/beaconYamler.py -i $UNITYPATH/models/src/$BEACONMODELNAME -t yaml -x json -o $UNITYPATH/models/json/$BEACONMODELNAME
$BASEDIR/beaconYamler.py -i $UNITYPATH/framework/src -t yaml -x json -o $UNITYPATH/framework/json
2 changes: 1 addition & 1 deletion docs/schemas-md/obj/CopyNumber.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
|Term | Description | Type | Properties | Example | Enum|
| ---| ---| ---| ---| ---| --- |
| CopyNumber | NA | allOf | [VRS definition for CopyNumber](https://raw.githubusercontent.com/ga4gh/vrs/1.2/schema/vrs.json#/definitions/CopyNumber) | NA | NA|
| CopyNumber | NA | allOf | [VRS definition for CopyNumber](https://w3id.org/ga4gh/schema/vrs/1.3/vrs.json#/definitions/CopyNumber) | NA | NA|
24 changes: 10 additions & 14 deletions framework/json/common/beaconCommonComponents.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"definitions": {
"$defs": {
"$schema": {
"$comment": "TO REVIEW: adding a `format` or `regex` attribute that validates correctly against a file path (relative).",
"description": "Refers to the JSON Schema which describes the set of valid attributes for this particular document type. This attribute is mostly used in schemas that should be tested in Beacon implementations.",
Expand Down Expand Up @@ -88,7 +87,7 @@
"description": "A handover is a typed link for attaching actionable links to results, non purely informational, requests. The goal of the handovers is to list the different actions available, e.g.:\n* a link to a request access page * linking to a file for download, e.g. a VCF file\nAnother common scenario is to provide a fast summary response (e.g. BeconCountResponse) and to provide access to different endpoints for the entities matched by the query using temporary access tokens in the handover URLs.",
"properties": {
"handoverType": {
"$ref": "#/definitions/HandoverType"
"$ref": "#/$defs/HandoverType"
},
"note": {
"description": "An optional text including considerations on the handover link provided.",
Expand Down Expand Up @@ -143,10 +142,6 @@
],
"type": "string"
},
"Info": {
"description": "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.",
"type": "object"
},
"Limit": {
"default": 10,
"description": "Size of the page. Use `0` to return all the results or the maximum allowed by the Beacon, if there is any.",
Expand All @@ -157,15 +152,15 @@
"ListOfHandovers": {
"description": "Set of handovers to be added in one section the response.",
"items": {
"$ref": "#/definitions/Handover",
"$ref": "#/$defs/Handover",
"description": "Requested schema to be used for individuals in the response."
},
"type": "array"
},
"ListOfSchemas": {
"description": "Set of schemas to be used in the response to a request.",
"items": {
"$ref": "#/definitions/SchemasPerEntity"
"$ref": "#/$defs/SchemasPerEntity"
},
"type": "array"
},
Expand All @@ -191,22 +186,22 @@
"description": "Pagination to apply or that has been applied on the results.",
"properties": {
"currentPage": {
"$ref": "#/definitions/PageToken",
"$ref": "#/$defs/PageToken",
"description": "Token of the returned page. To be used only in the response to allow the client to check if the returned page is the one requested."
},
"limit": {
"$ref": "#/definitions/Limit"
"$ref": "#/$defs/Limit"
},
"nextPage": {
"$ref": "#/definitions/PageToken",
"$ref": "#/$defs/PageToken",
"description": "Token of the next page. Used to navigate forward. If empty, it is assumed that no more pages are available"
},
"previousPage": {
"$ref": "#/definitions/PageToken",
"$ref": "#/$defs/PageToken",
"description": "Token of the previous page. Used to navigate backwards. If empty, it is assumed that the current page is the first one."
},
"skip": {
"$ref": "#/definitions/Skip"
"$ref": "#/$defs/Skip"
}
},
"type": "object"
Expand Down Expand Up @@ -243,6 +238,7 @@
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "Definition of relatively simple components used in different points of the Beacon specification, both in requests and responses, therefore not associated exclusively with one or the other. Separate schema documents are provided for complex components.",
"title": "Beacon Common Components",
"type": "object"
Expand Down
6 changes: 6 additions & 0 deletions framework/json/common/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "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.",
"title": "Info",
"type": "object"
}
2 changes: 1 addition & 1 deletion framework/json/common/ontologyTerm.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"description": "Definition of an ontology term.",
"properties": {
"id": {
"$ref": "./beaconCommonComponents.json#/definitions/CURIE"
"$ref": "./beaconCommonComponents.json#/$defs/CURIE"
},
"label": {
"description": "The text that describes the term. By default it could be the preferred text of the term, but is it acceptable to customize it for a clearer description and understanding of the term in an specific context.",
Expand Down
Loading

0 comments on commit e7ca12a

Please sign in to comment.