From 9d0a45d8c5a48e4e51e66a562403ebade0d6578f Mon Sep 17 00:00:00 2001 From: Tristan Nelson Date: Tue, 28 Apr 2026 13:47:30 -0400 Subject: [PATCH 1/5] Adding GeneValidityProposition to va-core --- schema/va-spec/base/va-core-source.yaml | 33 +++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/schema/va-spec/base/va-core-source.yaml b/schema/va-spec/base/va-core-source.yaml index 0dff0523..21e65547 100644 --- a/schema/va-spec/base/va-core-source.yaml +++ b/schema/va-spec/base/va-core-source.yaml @@ -1001,6 +1001,39 @@ $defs: - objectTherapeutic - conditionQualifier + GeneValidityProposition: + inherits: va-core:Proposition + maturity: draft + type: object + description: "A proposition that variants affecting the subjectGene are valid for evaluation as causal for the objectCondition using appropriate variant classification criteria, given the qualifierModeOfInheritance." + properties: + type: + extends: type + const: GeneValidityProposition + default: GeneValidityProposition + subjectGene: + extends: subject + oneOf: + - $refCurie: gks.core:MappableConcept + - $refCurie: gks.core:iriReference + predicate: + extends: predicate + const: "GeneValidityPredicate" + default: "GeneValidityPredicate" + objectCondition: + extends: object + oneOf: + - $refCurie: gks.core:MappableConcept + - $refCurie: gks.core:iriReference + qualifierModeOfInheritance: + oneOf: + - $refCurie: gks.core:MappableConcept + - $refCurie: gks.core:iriReference + required: + - predicate + - subjectGene + - objectCondition + CohortAlleleFrequencyStudyResult: inherits: StudyResult maturity: trial use From f5d8e0ca2e32af4f76af7a7a599cd38bd618b08a Mon Sep 17 00:00:00 2001 From: Tristan Nelson Date: Tue, 12 May 2026 10:40:07 -0400 Subject: [PATCH 2/5] Update per comments from M. Brush --- schema/va-spec/base/va-core-source.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/schema/va-spec/base/va-core-source.yaml b/schema/va-spec/base/va-core-source.yaml index 21e65547..e4ee3573 100644 --- a/schema/va-spec/base/va-core-source.yaml +++ b/schema/va-spec/base/va-core-source.yaml @@ -1001,11 +1001,11 @@ $defs: - objectTherapeutic - conditionQualifier - GeneValidityProposition: + GeneDiseaseValidityProposition: inherits: va-core:Proposition maturity: draft type: object - description: "A proposition that variants affecting the subjectGene are valid for evaluation as causal for the objectCondition using appropriate variant classification criteria, given the qualifierModeOfInheritance." + description: "A proposition that variants affecting a particular Gene are valid for evaluation as causal for some Condition using appropriate variant classification criteria, given a specific mode of inheritance." properties: type: extends: type @@ -1018,14 +1018,14 @@ $defs: - $refCurie: gks.core:iriReference predicate: extends: predicate - const: "GeneValidityPredicate" - default: "GeneValidityPredicate" + const: "variantsInGeneCausalFor" + default: "variantsInGeneCausalFor" objectCondition: extends: object oneOf: - $refCurie: gks.core:MappableConcept - $refCurie: gks.core:iriReference - qualifierModeOfInheritance: + modeOfInheritanceQualifier: oneOf: - $refCurie: gks.core:MappableConcept - $refCurie: gks.core:iriReference From 2272330db7c2035873931a507199bc0472b6f1fd Mon Sep 17 00:00:00 2001 From: Tristan Nelson Date: Thu, 14 May 2026 13:34:48 -0400 Subject: [PATCH 3/5] Updating type requirement --- schema/va-spec/base/va-core-source.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schema/va-spec/base/va-core-source.yaml b/schema/va-spec/base/va-core-source.yaml index e4ee3573..2a1ec9e1 100644 --- a/schema/va-spec/base/va-core-source.yaml +++ b/schema/va-spec/base/va-core-source.yaml @@ -1009,8 +1009,8 @@ $defs: properties: type: extends: type - const: GeneValidityProposition - default: GeneValidityProposition + const: GeneDiseaseValidityProposition + default: GeneDiseaseValidityProposition subjectGene: extends: subject oneOf: From ae7e9068a655d1fd9f7b98e02cac0aaaa8e3474f Mon Sep 17 00:00:00 2001 From: Tristan Nelson Date: Thu, 14 May 2026 14:13:09 -0400 Subject: [PATCH 4/5] Added description per comments by jsstevenson --- schema/va-spec/base/va-core-source.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/schema/va-spec/base/va-core-source.yaml b/schema/va-spec/base/va-core-source.yaml index 2a1ec9e1..50991754 100644 --- a/schema/va-spec/base/va-core-source.yaml +++ b/schema/va-spec/base/va-core-source.yaml @@ -1011,6 +1011,7 @@ $defs: extends: type const: GeneDiseaseValidityProposition default: GeneDiseaseValidityProposition + description: MUST be "GeneDiseaseValidityProposition". subjectGene: extends: subject oneOf: @@ -1020,6 +1021,7 @@ $defs: extends: predicate const: "variantsInGeneCausalFor" default: "variantsInGeneCausalFor" + description: MUST be "variantsInGeneCausalFor". objectCondition: extends: object oneOf: From 760ec165da3116af9e3257df8b5e2f126d05c2b9 Mon Sep 17 00:00:00 2001 From: James Stevenson Date: Wed, 17 Jun 2026 15:58:10 -0400 Subject: [PATCH 5/5] Fix ref and generate artifacts --- .../def/GeneDiseaseValidityProposition.rst | 79 +++++++++++++++ schema/va-spec/base/json/EvidenceLine | 3 + .../base/json/GeneDiseaseValidityProposition | 95 +++++++++++++++++++ schema/va-spec/base/json/Statement | 3 + schema/va-spec/base/va-core-source.yaml | 2 +- 5 files changed, 181 insertions(+), 1 deletion(-) create mode 100644 schema/va-spec/base/def/GeneDiseaseValidityProposition.rst create mode 100644 schema/va-spec/base/json/GeneDiseaseValidityProposition diff --git a/schema/va-spec/base/def/GeneDiseaseValidityProposition.rst b/schema/va-spec/base/def/GeneDiseaseValidityProposition.rst new file mode 100644 index 00000000..ca35f69b --- /dev/null +++ b/schema/va-spec/base/def/GeneDiseaseValidityProposition.rst @@ -0,0 +1,79 @@ +.. warning:: This data class is at a **draft** maturity level and may \ + change significantly in future releases. Maturity \ + levels are described in the :ref:`maturity-model`. + +**Computational Definition** + +A proposition that variants affecting a particular Gene are valid for evaluation as causal for some Condition using appropriate variant classification criteria, given a specific mode of inheritance. + +**Information Model** + +Some GeneDiseaseValidityProposition attributes are inherited from :ref:`Proposition`. + +.. list-table:: + :class: clean-wrap + :header-rows: 1 + :align: left + :widths: auto + + * - Field + - Flags + - Type + - Limits + - Description + * - id + - + - string + - 0..1 + - The 'logical' identifier of the Entity in the system of record, e.g. a UUID. This 'id' is unique within a given system, but may or may not be globally unique outside the system. It is used within a system to reference an object from another. + * - name + - + - string + - 0..1 + - A primary name for the entity. + * - description + - + - string + - 0..1 + - A free-text description of the Entity. + * - aliases + - + .. raw:: html + + + - string + - 0..m + - Alternative name(s) for the Entity. + * - extensions + - + .. raw:: html + + + - :ref:`Extension` + - 0..m + - A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model. + * - type + - + - string + - 1..1 + - MUST be "GeneDiseaseValidityProposition". + * - subjectGene + - + - :ref:`MappableConcept` | :ref:`iriReference` + - 1..1 + - The Entity or concept about which the Proposition is made. + * - predicate + - + - string + - 1..1 + - MUST be "variantsInGeneCausalFor". + * - objectCondition + - + - :ref:`MappableConcept` | :ref:`iriReference` + - 1..1 + - An Entity or concept that is related to the subject of a Proposition via its predicate. + * - modeOfInheritanceQualifier + - + - :ref:`MappableConcept` | :ref:`iriReference` + - 0..1 + - diff --git a/schema/va-spec/base/json/EvidenceLine b/schema/va-spec/base/json/EvidenceLine index ff8c9fa8..ea156902 100644 --- a/schema/va-spec/base/json/EvidenceLine +++ b/schema/va-spec/base/json/EvidenceLine @@ -86,6 +86,9 @@ { "$ref": "/ga4gh/schema/va-spec/1.0.1/base/json/ExperimentalVariantFunctionalImpactProposition" }, + { + "$ref": "/ga4gh/schema/va-spec/1.0.1/base/json/GeneDiseaseValidityProposition" + }, { "$ref": "/ga4gh/schema/va-spec/1.0.1/base/json/VariantClinicalSignificanceProposition" }, diff --git a/schema/va-spec/base/json/GeneDiseaseValidityProposition b/schema/va-spec/base/json/GeneDiseaseValidityProposition new file mode 100644 index 00000000..cf2caec7 --- /dev/null +++ b/schema/va-spec/base/json/GeneDiseaseValidityProposition @@ -0,0 +1,95 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://w3id.org/ga4gh/schema/va-spec/1.0.1/base/json/GeneDiseaseValidityProposition", + "title": "GeneDiseaseValidityProposition", + "maturity": "draft", + "type": "object", + "description": "A proposition that variants affecting a particular Gene are valid for evaluation as causal for some Condition using appropriate variant classification criteria, given a specific mode of inheritance.", + "properties": { + "id": { + "type": "string", + "description": "The 'logical' identifier of the Entity in the system of record, e.g. a UUID. This 'id' is unique within a given system, but may or may not be globally unique outside the system. It is used within a system to reference an object from another.", + "$comment": "Note that it is common for implementers to create their own internal logical ids - typically a serially or randomly generated value like a UUID that is assigned to the data object as it is created in a system. But an implementer may choose to re-use an existing, globally unique id from an external system or authority for this purpose (e.g. an HGNC id for a Gene object) - as long as it is unique within the implementing system, and can be used to reference the identified object in this context." + }, + "name": { + "type": "string", + "description": "A primary name for the entity." + }, + "description": { + "type": "string", + "description": "A free-text description of the Entity." + }, + "aliases": { + "type": "array", + "ordered": false, + "items": { + "type": "string" + }, + "description": "Alternative name(s) for the Entity." + }, + "extensions": { + "type": "array", + "ordered": false, + "items": { + "$ref": "/ga4gh/schema/gks-core/1.1.0/json/Extension" + }, + "description": "A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.", + "$comment": "Extension objects have a key-value data structure that allows definition of custom fields in the data itself. Extensions are not expected to be natively understood, but may be used for pre-negotiated exchange of message attributes between systems." + }, + "type": { + "type": "string", + "description": "MUST be \"GeneDiseaseValidityProposition\".", + "$comment": "MUST be the name of a concrete class from the data model.", + "const": "GeneDiseaseValidityProposition", + "default": "GeneDiseaseValidityProposition" + }, + "subjectGene": { + "oneOf": [ + { + "$ref": "/ga4gh/schema/gks-core/1.1.0/json/MappableConcept" + }, + { + "$ref": "/ga4gh/schema/gks-core/1.1.0/json/iriReference" + } + ], + "description": "The Entity or concept about which the Proposition is made.", + "$comment": "In profiles for most VA-Spec implementations, the subject will be a some type of genetic variation. However, the Core VA model is domain-agnostic, and supports Propositions about any type of Entity. Some data providers may want to make statements about other entities or concepts that represent evidence for a Propositions about genetic variation (e.g. a statement that a gene is valid for some disease is one type of evidence that may support the pathogenicity of a variant that affects that gene)." + }, + "predicate": { + "type": "string", + "description": "MUST be \"variantsInGeneCausalFor\".", + "$comment": "When applied to represent a particular type of Proposition (via 'Profiling'), implementers can define a value set of predicates for the relationships relevant in the domain.", + "const": "variantsInGeneCausalFor", + "default": "variantsInGeneCausalFor" + }, + "objectCondition": { + "oneOf": [ + { + "$ref": "/ga4gh/schema/gks-core/1.1.0/json/MappableConcept" + }, + { + "$ref": "/ga4gh/schema/gks-core/1.1.0/json/iriReference" + } + ], + "description": "An Entity or concept that is related to the subject of a Proposition via its predicate.", + "$comment": "The object of a Proposition can be any Entity or concept that is related to the subject. When the subject is a genetic variation, the object is often a disease, phenotype, therapeutic intervention, or gene." + }, + "modeOfInheritanceQualifier": { + "oneOf": [ + { + "$ref": "/ga4gh/schema/gks-core/1.1.0/json/MappableConcept" + }, + { + "$ref": "/ga4gh/schema/gks-core/1.1.0/json/iriReference" + } + ] + } + }, + "required": [ + "objectCondition", + "predicate", + "subjectGene", + "type" + ], + "additionalProperties": false +} diff --git a/schema/va-spec/base/json/Statement b/schema/va-spec/base/json/Statement index ca485415..197fdeca 100644 --- a/schema/va-spec/base/json/Statement +++ b/schema/va-spec/base/json/Statement @@ -87,6 +87,9 @@ { "$ref": "/ga4gh/schema/va-spec/1.0.1/base/json/ExperimentalVariantFunctionalImpactProposition" }, + { + "$ref": "/ga4gh/schema/va-spec/1.0.1/base/json/GeneDiseaseValidityProposition" + }, { "$ref": "/ga4gh/schema/va-spec/1.0.1/base/json/VariantClinicalSignificanceProposition" }, diff --git a/schema/va-spec/base/va-core-source.yaml b/schema/va-spec/base/va-core-source.yaml index 50991754..eb07a81a 100644 --- a/schema/va-spec/base/va-core-source.yaml +++ b/schema/va-spec/base/va-core-source.yaml @@ -1002,7 +1002,7 @@ $defs: - conditionQualifier GeneDiseaseValidityProposition: - inherits: va-core:Proposition + inherits: Proposition maturity: draft type: object description: "A proposition that variants affecting a particular Gene are valid for evaluation as causal for some Condition using appropriate variant classification criteria, given a specific mode of inheritance."