@@ -6,7 +6,7 @@ Design Decisions
6
6
The following design decisions were made in the development of the VRS:
7
7
8
8
GA4GH Inherent Properties over Value Objects
9
- --------------------------------------------
9
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
10
10
11
11
In VRS 1.0 we operated under the principle that all identifiable objects in VRS (e.g. Allele, SequenceLocation, etc.)
12
12
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
23
23
in the section on :ref: `ga4gh-inherent-properties `.
24
24
25
25
IRIs over CURIEs
26
- ----------------
26
+ @@@@@@@@@@@@@@@@
27
27
28
28
In VRS 2.0 we moved away from the use of CURIEs in favor of :ref: `iriReference `. Several factors played a role in
29
29
this decision.
@@ -34,13 +34,14 @@ endpoints, or documentation that may not persist as messages are exchanged betwe
34
34
in GKS specs now use IRIs to reference objects explicitly.
35
35
36
36
IRI-References over IRIs
37
- ------------------------
37
+ @@@@@@@@@@@@@@@@@@@@@@@@
38
+
38
39
We opted for the general use of IRI-References as a way to provide a more flexible approach to the use of IRIs
39
40
in most GKS message structures. IRI-references (relative IRIs) benefit the users allow for compact representation
40
41
of concepts that are accessible within a system (e.g. a directory structure or web API).
41
42
42
43
VRS identifier syntax and versioning
43
- ------------------------------------
44
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
44
45
45
46
The :ref: `versioning ` section describes the versioning and release naming conventions for the VRS product.
46
47
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:
59
60
60
61
{
61
62
"$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" ,
63
64
...
64
65
}
65
66
@@ -88,3 +89,19 @@ the following syntax:
88
89
.. code-block ::
89
90
90
91
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).
0 commit comments