Skip to content

Commit

Permalink
feat: add VariantPrognosticStudy
Browse files Browse the repository at this point in the history
  • Loading branch information
korikuzma committed Jun 5, 2024
1 parent b15c0ee commit 80de192
Show file tree
Hide file tree
Showing 5 changed files with 455 additions and 0 deletions.
40 changes: 40 additions & 0 deletions schema/va-spec/profiles/prognostic/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
.SECONDARY:
.DELETE_ON_ERROR:

BUILD_DIR := build
IMPORT_DIR := import

vpath %tag $(BUILD_DIR)
vpath %.classes $(BUILD_DIR)

SOURCES := $(wildcard *-source.yaml)
TAGS := $(SOURCES:-source.yaml=.tag)
IMPORTS := $(wildcard $(IMPORT_DIR)/*-source.yaml)

all: build-ordered ${TAGS} prune-tag

build-ordered: | $(BUILD_DIR)

$(BUILD_DIR):
mkdir $(BUILD_DIR)

%.tag: %.classes %.json-tag %.defs-tag
touch $(BUILD_DIR)/$@

%.classes: %-source.yaml
source2classes.py $< >${BUILD_DIR}/$@

%.json-tag: %-source.yaml ${IMPORTS}
source2splitjs.py $<
touch $(BUILD_DIR)/$@

%.defs-tag: %-source.yaml ${IMPORTS}
y2t.py $<
touch $(BUILD_DIR)/$@

prune-tag: ${TAGS}
$(MAKE) -f prune.mk
touch $(BUILD_DIR)/$@

clean:
rm $(BUILD_DIR)/*
110 changes: 110 additions & 0 deletions schema/va-spec/profiles/prognostic/def/VariantPrognosticStudy.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
**Computational Definition**

A study summarization describing whether a variant is associated with improved or worse outcome for a disease.

**Information Model**

Some VariantPrognosticStudy attributes are inherited from :ref:`va.core:VariantStudySummary`.

.. list-table::
:class: clean-wrap
:header-rows: 1
:align: left
:widths: auto

* - Field
- Type
- Limits
- Description
* - id
- string
- 1..1
- The 'logical' identifier of the entity in the system of record, e.g. a UUID. This 'id' is unique within a given system. The identified entity may have a different 'id' in a different system, or may refer to an 'id' for the shared concept in another system (e.g. a CURIE).
* - label
- string
- 0..1
- A primary label for the entity.
* - description
- string
- 0..1
- A free-text description of the entity.
* - extensions
- `Extension <../../core-im/../../gks-common/core.json#/$defs/Extension>`_
- 0..m
-
* - type
- string
- 1..1
- MUST be "VariantPrognosticStudy".
* - specifiedBy
- `Method <../../core-im/core.json#/$defs/Method>`_ | `IRI <../../gks-common/core.json#/$defs/IRI>`_
- 0..1
- A :ref:`Method` that describes all or part of the process through which the information was generated.
* - contributions
- `Contribution <../../core-im/core.json#/$defs/Contribution>`_
- 0..m
-
* - dateAuthored
- string
- 0..1
- Indicates when the information content expressed in the Information Entity was generated.
* - derivedFrom
- `InformationEntity <../../core-im/core.json#/$defs/InformationEntity>`_
- 0..m
- Another Information Entity from which this Information Entity is derived, in whole or in part.
* - recordMetadata
- None
- 0..1
-
* - direction
- string
- 1..1
- The direction of this Statement with respect to the predicate.
* - strength
- `Coding <../../gks-common/core.json#/$defs/Coding>`_ | `IRI <../../gks-common/core.json#/$defs/IRI>`_
- 0..1
- The overall strength of support for the Statement based on all evidence assessed.
* - statementText
- string
- 0..1
- A natural-language expression of what a structured Statement object asserts to be true. e.g. for a Variant Pathgenicity statement, "BRCA2 c.8023A>G is pathogenic for Breast Cancer", or "there is moderate evidence supporting the pathogenicity of BRCA2 c.8023A>G for Breast Cancer".
* - proposition
- `Proposition <../../core-im/core.json#/$defs/Proposition>`_
- 0..1
- A possible fact that the Statement assesses or puts forth as true. This attribute provides the option of encapsulating the structured semantics of the possible fact asserted or evaluated by a Statement in a separate 'Proposition' object - instead of using the subject, predicate, object, qualifier properties directly in the Statement object.
* - subjectClassification
- `Coding <../../gks-common/core.json#/$defs/Coding>`_ | `IRI <../../gks-common/core.json#/$defs/IRI>`_
- 0..1
- A single term or phrase summarizing the outcome of direction and strength assessments of a Statement's proposition, in terms of a classification of the Statement subject. Permissible values for this attribute are typically selected to be succinct and familar in the target community of practice. e.g. 'likely pathogenic' in the doamin of variant pathogenicity classification'.
* - hasEvidenceOfType
- `Coding <../../gks-common/core.json#/$defs/Coding>`_
- 0..m
- A term describing a type of evidence used to assess the validity of Statement's proposition (e.g. 'sequence similarity evidence', 'in vitro assay evidence').
* - hasEvidenceLines
- `EvidenceLine <../../core-im/core.json#/$defs/EvidenceLine>`_
- 0..m
- A discrete, independent argument relevant to the validity of the Proposition assessed or put forth in the Statement. This arguent is based on the interpretation of one or more pieces of information as evidence.
* - hasEvidence
- `InformationEntity <../../core-im/core.json#/$defs/InformationEntity>`_
- 0..m
- A piece of information that represents or contributes to an argument for or against the validity of the Proposition put forth in a Statement. This is a shortcut relation that links a Statement directly to a piece of evidnece supporting it, bypassing the Evidence Line class when used data creators do not utilize an Evidence Line object.
* - variant
- `Variation <../../vrs/vrs.json#/$defs/Variation>`_ | `CategoricalVariation <../../catvrs/catvrs.json#/$defs/CategoricalVariation>`_ | `IRI <../../gks-common/core.json#/$defs/IRI>`_
- 1..1
- A variant that is the subject of the Statement.
* - isReportedIn
- `Document <../../core-im/core.json#/$defs/Document>`_ | `IRI <../../gks-common/core.json#/$defs/IRI>`_
- 1..m
- A document in which the information content is expressed.
* - predicate
- string
- 1..1
- The predicate of the Statement.
* - disease
- `Condition <../../../gks-common/conditions.json#/$defs/Condition>`_ | `IRI <../../../gks-common/core.json#/$defs/IRI>`_
- 1..1
- The disease that is evaluated for outcome
* - qualifiers
- object
- 0..1
- Additional, optional properties that may qualify the Statement.
219 changes: 219 additions & 0 deletions schema/va-spec/profiles/prognostic/json/VariantPrognosticStudy
Original file line number Diff line number Diff line change
@@ -0,0 +1,219 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://w3id.org/ga4gh/schema/va-spec/1.x/profiles/prognostic/json/VariantPrognosticStudy",
"title": "VariantPrognosticStudy",
"type": "object",
"maturity": "draft",
"description": "A study summarization describing whether a variant is associated with improved or worse outcome for a disease.",
"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. The identified entity may have a different 'id' in a different system, or may refer to an 'id' for the shared concept in another system (e.g. a CURIE)."
},
"label": {
"type": "string",
"description": "A primary label for the entity."
},
"description": {
"type": "string",
"description": "A free-text description of the entity."
},
"extensions": {
"type": "array",
"ordered": true,
"items": {
"$ref": "/ga4gh/schema/gks-common/1.x/json/Extension"
}
},
"type": {
"type": "string",
"const": "VariantPrognosticStudy",
"default": "VariantPrognosticStudy",
"description": "MUST be \"VariantPrognosticStudy\"."
},
"specifiedBy": {
"oneOf": [
{
"$ref": "/ga4gh/schema/va-spec/1.x/core-im/json/Method"
},
{
"$ref": "/ga4gh/schema/gks-common/1.x/json/IRI"
}
],
"description": "A Method that describes all or part of the process through which the information was generated."
},
"contributions": {
"type": "array",
"ordered": true,
"items": {
"$ref": "/ga4gh/schema/va-spec/1.x/core-im/json/Contribution"
}
},
"dateAuthored": {
"$comment": "the data type here should be 'date' or 'dateTime' - update after we add this to gks-common, per https://github.com/ga4gh/gks-common/issues/3.",
"type": "string",
"description": "Indicates when the information content expressed in the Information Entity was generated."
},
"derivedFrom": {
"type": "array",
"ordered": false,
"items": {
"$ref": "/ga4gh/schema/va-spec/1.x/core-im/json/InformationEntity"
},
"description": "Another Information Entity from which this Information Entity is derived, in whole or in part."
},
"recordMetadata": {
"$comment": "this should be \"gks.core:RecordMetadata\", but that data class is not in the common core, so using null as placeholder",
"type": null
},
"direction": {
"type": "string",
"enum": [
"supports",
"none",
"refutes"
],
"description": "The direction of this Statement with respect to the predicate."
},
"strength": {
"oneOf": [
{
"$ref": "/ga4gh/schema/gks-common/1.x/json/Coding"
},
{
"$ref": "/ga4gh/schema/gks-common/1.x/json/IRI"
}
],
"description": "The overall strength of support for the Statement based on all evidence assessed."
},
"statementText": {
"type": "string",
"description": "A natural-language expression of what a structured Statement object asserts to be true. e.g. for a Variant Pathgenicity statement, \"BRCA2 c.8023A>G is pathogenic for Breast Cancer\", or \"there is moderate evidence supporting the pathogenicity of BRCA2 c.8023A>G for Breast Cancer\"."
},
"proposition": {
"$ref": "/ga4gh/schema/va-spec/1.x/core-im/json/Proposition",
"description": "A possible fact that the Statement assesses or puts forth as true. This attribute provides the option of encapsulating the structured semantics of the possible fact asserted or evaluated by a Statement in a separate 'Proposition' object - instead of using the subject, predicate, object, qualifier properties directly in the Statement object."
},
"subjectClassification": {
"oneOf": [
{
"$ref": "/ga4gh/schema/gks-common/1.x/json/Coding"
},
{
"$ref": "/ga4gh/schema/gks-common/1.x/json/IRI"
}
],
"description": "A single term or phrase summarizing the outcome of direction and strength assessments of a Statement's proposition, in terms of a classification of the Statement subject. Permissible values for this attribute are typically selected to be succinct and familar in the target community of practice. e.g. 'likely pathogenic' in the doamin of variant pathogenicity classification'."
},
"hasEvidenceOfType": {
"type": "array",
"ordered": false,
"items": {
"$ref": "/ga4gh/schema/gks-common/1.x/json/Coding"
},
"description": "A term describing a type of evidence used to assess the validity of Statement's proposition (e.g. 'sequence similarity evidence', 'in vitro assay evidence'). "
},
"hasEvidenceLines": {
"type": "array",
"ordered": false,
"items": {
"$ref": "/ga4gh/schema/va-spec/1.x/core-im/json/EvidenceLine"
},
"description": "A discrete, independent argument relevant to the validity of the Proposition assessed or put forth in the Statement. This arguent is based on the interpretation of one or more pieces of information as evidence."
},
"hasEvidence": {
"type": "array",
"ordered": false,
"items": {
"$ref": "/ga4gh/schema/va-spec/1.x/core-im/json/InformationEntity"
},
"description": "A piece of information that represents or contributes to an argument for or against the validity of the Proposition put forth in a Statement. This is a shortcut relation that links a Statement directly to a piece of evidnece supporting it, bypassing the Evidence Line class when used data creators do not utilize an Evidence Line object."
},
"variant": {
"description": "A variant that is the subject of the Statement.",
"oneOf": [
{
"$ref": "/ga4gh/schema/catvrs/1.x/json/CategoricalVariation"
},
{
"$ref": "/ga4gh/schema/gks-common/1.x/json/IRI"
},
{
"$ref": "/ga4gh/schema/vrs/2.x/json/Variation"
}
]
},
"isReportedIn": {
"type": "array",
"ordered": false,
"items": {
"oneOf": [
{
"$ref": "/ga4gh/schema/va-spec/1.x/core-im/json/Document"
},
{
"$ref": "/ga4gh/schema/gks-common/1.x/json/IRI"
}
]
},
"description": "A document in which the information content is expressed.",
"minItems": 1
},
"predicate": {
"description": "The predicate of the Statement.",
"type": "string",
"enum": [
"Improved Outcome",
"Worse Outcome"
]
},
"disease": {
"description": "The disease that is evaluated for outcome",
"oneOf": [
{
"$ref": "/ga4gh/schema/gks-common/json/Condition"
},
{
"$ref": "/ga4gh/schema/gks-common/1.x/json/IRI"
}
]
},
"qualifiers": {
"description": "Additional, optional properties that may qualify the Statement.",
"type": "object",
"additionalProperties": false,
"properties": {
"alleleOrigin": {
"type": "string",
"description": "Whether the statement should be interpreted in the context of an inherited (germline) variant, an acquired (somatic) mutation, or both (combined).",
"enum": [
"germline",
"somatic",
"combined"
]
},
"allelePrevalence": {
"type": "string",
"description": "Whether the statement should be interpreted in the context of the variant being rare or common.",
"enum": [
"rare",
"common"
]
},
"geneContext": {
"description": "A gene context that qualifies the Statement.",
"$ref": "/ga4gh/schema/gks-common/json/Gene"
}
}
}
},
"required": [
"direction",
"disease",
"id",
"isReportedIn",
"predicate",
"type",
"variant"
]
}
Loading

0 comments on commit 80de192

Please sign in to comment.