Skip to content

Commit d2e87dd

Browse files
authored
Add design decisions and term definitions for CopyNumberChange (#644)
* init 2.0.1 change log * add controlled vocabulary from EFO * correct patch-level $id error * write design decision for enums over mappableconcept
1 parent 31eb3ab commit d2e87dd

File tree

3 files changed

+48
-6
lines changed

3 files changed

+48
-6
lines changed

docs/source/appendices/design_decisions.rst

+22-5
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Design Decisions
66
The following design decisions were made in the development of the VRS:
77

88
GA4GH Inherent Properties over Value Objects
9-
--------------------------------------------
9+
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
1010

1111
In VRS 1.0 we operated under the principle that all identifiable objects in VRS (e.g. Allele, SequenceLocation, etc.)
1212
would be *value objects*. This meant that they should be immutable and contain only required fields that are
@@ -23,7 +23,7 @@ As a result, we had to introduce a new field in the digest model called *ga4gh.i
2323
in the section on :ref:`ga4gh-inherent-properties`.
2424

2525
IRIs over CURIEs
26-
----------------
26+
@@@@@@@@@@@@@@@@
2727

2828
In VRS 2.0 we moved away from the use of CURIEs in favor of :ref:`iriReference`. Several factors played a role in
2929
this decision.
@@ -34,13 +34,14 @@ endpoints, or documentation that may not persist as messages are exchanged betwe
3434
in GKS specs now use IRIs to reference objects explicitly.
3535

3636
IRI-References over IRIs
37-
------------------------
37+
@@@@@@@@@@@@@@@@@@@@@@@@
38+
3839
We opted for the general use of IRI-References as a way to provide a more flexible approach to the use of IRIs
3940
in most GKS message structures. IRI-references (relative IRIs) benefit the users allow for compact representation
4041
of concepts that are accessible within a system (e.g. a directory structure or web API).
4142

4243
VRS identifier syntax and versioning
43-
------------------------------------
44+
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
4445

4546
The :ref:`versioning` section describes the versioning and release naming conventions for the VRS product.
4647
Approved releases will be assigned to the version number alone, but connect, ballot and snapshot releases will
@@ -59,7 +60,7 @@ As an example, the Github JSON Schema URL ($id) for the VRS 2.0.0 Allele is:
5960
6061
{
6162
"$schema": "https://json-schema.org/draft/2020-12/schema",
62-
"$id": "https://w3id.org/ga4gh/schema/vrs/2.0/json/Allele",
63+
"$id": "https://w3id.org/ga4gh/schema/vrs/2.0.0/json/Allele",
6364
...
6465
}
6566
@@ -88,3 +89,19 @@ the following syntax:
8889
.. code-block::
8990
9091
https://w3id.org/ga4gh/vrs/VA.Oop4kjdTtKcg1kiZjIJAAR3bp7qi4aNT
92+
93+
Use of value sets for VRS computed digests
94+
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
95+
96+
The GKS Core model contains a ``MappableConcept`` data model which is usable in
97+
places where one would expect general, externally-defined concepts such as
98+
genes, diseases, or therapeutics. In VRS, we intentionally define value sets
99+
instead of using the ``MappableConcept`` model in places where such concepts are
100+
used in calculated a computed digest.
101+
102+
For example, the :ref:`CopyNumberChange` model has a ``copyChange`` field that
103+
describes whether the variant `Location` is systematically observed as a low-level
104+
or high-level gain or loss. These concepts, though defined in the Experimental Factor
105+
Ontology, are maintained internally such that changes to these concepts in EFO will
106+
not affect their use in VRS (and therefore not affect the computed digests of
107+
CopyNumberChange objects).

docs/source/concepts/SystemicVariation/CopyNumberChange.rst

+24-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,29 @@ Definition and Information Model
1010

1111
.. include:: ../../def/vrs/CopyNumberChange.rst
1212

13+
Copy Change term definitions
14+
############################
15+
16+
The `CopyChange` attribute uses a valueset derived from the
17+
`Experimental Factor Ontology (EFO) <https://www.ebi.ac.uk/efo/>`_:
18+
19+
* **gain** (`EFO:0030070 <http://www.ebi.ac.uk/efo/EFO_0030070>`_ - *copy number gain*):
20+
Assessment of genomic copy number gain.
21+
* **high-level gain** (`EFO:0030072 <http://www.ebi.ac.uk/efo/EFO_0030072>`_ - *high-level copy number gain*):
22+
Assessment of high-level genomic copy number gain.
23+
* **low-level gain** (`EFO:0030071 <http://www.ebi.ac.uk/efo/EFO_0030071>`_ - *low-level copy number gain*):
24+
Assessment of low-level genomic copy number gain.
25+
* **regional base ploidy** (`EFO:0030064 <http://www.ebi.ac.uk/efo/EFO_0030064>`_ - *regional base ploidy*):
26+
Copy number assessment of regional base ploidy.
27+
* **loss** (`EFO:0030067 <http://www.ebi.ac.uk/efo/EFO_0030067>`_ - *copy number loss*):
28+
Assessment of genomic copy number loss.
29+
* **low-level loss** (`EFO:0030068 <http://www.ebi.ac.uk/efo/EFO_0030068>`_ -
30+
*low-level copy number loss*): Assessment of low-level genomic copy number loss.
31+
* **high-level loss** (`EFO:0020073 <http://www.ebi.ac.uk/efo/EFO_0020073>`_ -
32+
*high-level copy number loss*): Assessment of high-level genomic copy number loss.
33+
* **complete genomic loss** (`EFO:0030069 <http://www.ebi.ac.uk/efo/EFO_0030069>`_ -
34+
*complete genomic deletion*: Assessment of complete genomic deletion.
35+
1336
Example
1437
@@@@@@@
1538

@@ -18,7 +41,7 @@ Example
1841
{
1942
"id": "ga4gh:CX.2_fT_6-IpUm5aS0wp8ZAkJ01MCE569L2",
2043
"type": "CopyNumberChange",
21-
"copyChange": "EFO:0030071",
44+
"copyChange": "low-level gain",
2245
"location": {
2346
"sequenceReference": {
2447
"refgetAccession": "SQ.jdEWLvLvT8827O59m1Agh5H3n6kTzBsJ",

docs/source/releases/2.0.rst

+2
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,5 @@ Summary of Changes
2222
##################
2323

2424
* updates :ref:`CopyNumberChange` draft to use named enum in lieu of MappableConcept
25+
* adds controlled vocabulary of `CopyNumberChange` enum to class definitions
26+
* adds design decision for use of value sets over MappableConcept in VRS

0 commit comments

Comments
 (0)