Skip to content

Commit b49cfd6

Browse files
committed
write design decision for enums over mappableconcept
1 parent 84def71 commit b49cfd6

File tree

1 file changed

+21
-4
lines changed

1 file changed

+21
-4
lines changed

docs/source/appendices/design_decisions.rst

Lines changed: 21 additions & 4 deletions
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
@@ -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).

0 commit comments

Comments
 (0)