diff --git a/tests/data/vrs/def/Adjacency.rst b/tests/data/vrs/def/Adjacency.rst new file mode 100644 index 0000000..be4defd --- /dev/null +++ b/tests/data/vrs/def/Adjacency.rst @@ -0,0 +1,92 @@ +.. 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** + +The `Adjacency` class can represent either the termination of a sequence or the adjoining of the end of a sequence with the beginning of an adjacent sequence, potentially with an intervening linker sequence. + +**GA4GH Digest** + +.. list-table:: + :class: clean-wrap + :header-rows: 1 + :align: left + :widths: auto + + * - Prefix + - Keys + + * - AJ + - ['adjoinedSequences', 'linker', 'type'] + + +**Information Model** + +Some Adjacency attributes are inherited from :ref:`Variation`. + +.. 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. 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 + - + .. raw:: html + + + - :ref:`Extension` + - 0..m + - + * - type + - + - string + - 0..1 + - MUST be "Adjacency". + * - digest + - + - string + - 0..1 + - A sha512t24u digest created using the VRS Computed Identifier algorithm. + * - expressions + - + .. raw:: html + + + - :ref:`Expression` + - 0..m + - + * - adjoinedSequences + - + .. raw:: html + + + - :ref:`IRI` | :ref:`Location` + - 1..2 + - The terminal sequence or pair of adjoined sequences that defines in the adjacency. + * - linker + - + - :ref:`SequenceExpression` + - 0..1 + - The sequence found between adjoined sequences. diff --git a/tests/data/vrs/def/Allele.rst b/tests/data/vrs/def/Allele.rst new file mode 100644 index 0000000..a091e59 --- /dev/null +++ b/tests/data/vrs/def/Allele.rst @@ -0,0 +1,89 @@ +.. 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** + +The state of a molecule at a :ref:`Location`. + +**GA4GH Digest** + +.. list-table:: + :class: clean-wrap + :header-rows: 1 + :align: left + :widths: auto + + * - Prefix + - Keys + + * - VA + - ['location', 'state', 'type'] + + +**Information Model** + +Some Allele attributes are inherited from :ref:`Variation`. + +.. 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. 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 + - + .. raw:: html + + + - :ref:`Extension` + - 0..m + - + * - type + - + - string + - 0..1 + - MUST be "Allele" + * - digest + - + - string + - 0..1 + - A sha512t24u digest created using the VRS Computed Identifier algorithm. + * - expressions + - + .. raw:: html + + + - :ref:`Expression` + - 0..m + - + * - location + - + - :ref:`IRI` | :ref:`Location` + - 1..1 + - The location of the Allele + * - state + - + - :ref:`SequenceExpression` + - 1..1 + - An expression of the sequence state diff --git a/tests/data/vrs/def/CopyNumber.rst b/tests/data/vrs/def/CopyNumber.rst index 78b6eb9..89e9e0d 100644 --- a/tests/data/vrs/def/CopyNumber.rst +++ b/tests/data/vrs/def/CopyNumber.rst @@ -1,13 +1,26 @@ +.. 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`. -.. 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 measure of the copies of a :ref:`Location` within a system (e.g. genome, cell, etc.) +**GA4GH Digest** + +.. list-table:: + :class: clean-wrap + :header-rows: 1 + :align: left + :widths: auto + + * - Prefix + - Keys + + * - None + - ['location', 'type'] + + **Information Model** Some CopyNumber attributes are inherited from :ref:`Variation`. @@ -19,38 +32,53 @@ Some CopyNumber attributes are inherited from :ref:`Variation`. :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. 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 + - + .. raw:: html + + - :ref:`Extension` - 0..m - * - type + - - string - 0..1 - * - digest + - - string - 0..1 - A sha512t24u digest created using the VRS Computed Identifier algorithm. * - expressions + - + .. raw:: html + + - :ref:`Expression` - 0..m - * - location + - - :ref:`IRI` | :ref:`Location` - 1..1 - A location for which the number of systemic copies is described. diff --git a/tests/data/vrs/def/CopyNumberChange.rst b/tests/data/vrs/def/CopyNumberChange.rst new file mode 100644 index 0000000..cc4e2fd --- /dev/null +++ b/tests/data/vrs/def/CopyNumberChange.rst @@ -0,0 +1,89 @@ +.. 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** + +An assessment of the copy number of a :ref:`Location` or a :ref:`Gene` within a system (e.g. genome, cell, etc.) relative to a baseline ploidy. + +**GA4GH Digest** + +.. list-table:: + :class: clean-wrap + :header-rows: 1 + :align: left + :widths: auto + + * - Prefix + - Keys + + * - CX + - ['copyChange', 'location', 'type'] + + +**Information Model** + +Some CopyNumberChange attributes are inherited from :ref:`CopyNumber`. + +.. 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. 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 + - + .. raw:: html + + + - :ref:`Extension` + - 0..m + - + * - type + - + - string + - 0..1 + - MUST be "CopyNumberChange" + * - digest + - + - string + - 0..1 + - A sha512t24u digest created using the VRS Computed Identifier algorithm. + * - expressions + - + .. raw:: html + + + - :ref:`Expression` + - 0..m + - + * - location + - + - :ref:`IRI` | :ref:`Location` + - 1..1 + - A location for which the number of systemic copies is described. + * - copyChange + - + - string + - 1..1 + - MUST be one of "efo:0030069" (complete genomic loss), "efo:0020073" (high-level loss), "efo:0030068" (low-level loss), "efo:0030067" (loss), "efo:0030064" (regional base ploidy), "efo:0030070" (gain), "efo:0030071" (low-level gain), "efo:0030072" (high-level gain). diff --git a/tests/data/vrs/def/CopyNumberCount.rst b/tests/data/vrs/def/CopyNumberCount.rst new file mode 100644 index 0000000..9b7924c --- /dev/null +++ b/tests/data/vrs/def/CopyNumberCount.rst @@ -0,0 +1,89 @@ +.. 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** + +The absolute count of discrete copies of a :ref:`Location` or :ref:`Gene`, within a system (e.g. genome, cell, etc.). + +**GA4GH Digest** + +.. list-table:: + :class: clean-wrap + :header-rows: 1 + :align: left + :widths: auto + + * - Prefix + - Keys + + * - CN + - ['copies', 'location', 'type'] + + +**Information Model** + +Some CopyNumberCount attributes are inherited from :ref:`CopyNumber`. + +.. 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. 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 + - + .. raw:: html + + + - :ref:`Extension` + - 0..m + - + * - type + - + - string + - 0..1 + - MUST be "CopyNumberCount" + * - digest + - + - string + - 0..1 + - A sha512t24u digest created using the VRS Computed Identifier algorithm. + * - expressions + - + .. raw:: html + + + - :ref:`Expression` + - 0..m + - + * - location + - + - :ref:`IRI` | :ref:`Location` + - 1..1 + - A location for which the number of systemic copies is described. + * - copies + - + - integer | :ref:`Range` + - 1..1 + - The integral number of copies of the subject in a system diff --git a/tests/data/vrs/def/Expression.rst b/tests/data/vrs/def/Expression.rst new file mode 100644 index 0000000..08ccb8d --- /dev/null +++ b/tests/data/vrs/def/Expression.rst @@ -0,0 +1,37 @@ +.. 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** + +Representation of a variation by a specified nomenclature or syntax for a Variation object. Common examples of expressions for the description of molecular variation include the HGVS and ISCN nomenclatures. + +**Information Model** + + +.. list-table:: + :class: clean-wrap + :header-rows: 1 + :align: left + :widths: auto + + * - Field + - Flags + - Type + - Limits + - Description + * - syntax + - + - string + - 1..1 + - + * - value + - + - string + - 1..1 + - + * - syntax_version + - + - string + - 0..1 + - diff --git a/tests/data/vrs/def/Ga4ghIdentifiableObject.rst b/tests/data/vrs/def/Ga4ghIdentifiableObject.rst index 13b1cda..936a4de 100644 --- a/tests/data/vrs/def/Ga4ghIdentifiableObject.rst +++ b/tests/data/vrs/def/Ga4ghIdentifiableObject.rst @@ -1,13 +1,26 @@ +.. 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`. -.. 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 contextual value object for which a GA4GH computed identifier can be created. +**GA4GH Digest** + +.. list-table:: + :class: clean-wrap + :header-rows: 1 + :align: left + :widths: auto + + * - Prefix + - Keys + + * - None + - ['type'] + + **Information Model** Some Ga4ghIdentifiableObject attributes are inherited from :ref:`gks.core:Entity`. @@ -19,30 +32,40 @@ Some Ga4ghIdentifiableObject attributes are inherited from :ref:`gks.core:Entity :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. 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 + - + .. raw:: html + + - :ref:`Extension` - 0..m - * - type + - - string - 0..1 - * - digest + - - string - 0..1 - A sha512t24u digest created using the VRS Computed Identifier algorithm. diff --git a/tests/data/vrs/def/Haplotype.rst b/tests/data/vrs/def/Haplotype.rst new file mode 100644 index 0000000..2f258a7 --- /dev/null +++ b/tests/data/vrs/def/Haplotype.rst @@ -0,0 +1,87 @@ +.. 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** + +An ordered set of co-occurring :ref:`variants ` on the same molecule. + +**GA4GH Digest** + +.. list-table:: + :class: clean-wrap + :header-rows: 1 + :align: left + :widths: auto + + * - Prefix + - Keys + + * - HT + - ['members', 'type'] + + +**Information Model** + +Some Haplotype attributes are inherited from :ref:`Variation`. + +.. 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. 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 + - + .. raw:: html + + + - :ref:`Extension` + - 0..m + - + * - type + - + - string + - 0..1 + - MUST be "Haplotype" + * - digest + - + - string + - 0..1 + - A sha512t24u digest created using the VRS Computed Identifier algorithm. + * - expressions + - + .. raw:: html + + + - :ref:`Expression` + - 0..m + - + * - members + - + .. raw:: html + + + - :ref:`Adjacency` | :ref:`Allele` | :ref:`IRI` + - 2..m + - A list of :ref:`Alleles ` and :ref:`Adjacencies ` that comprise a Haplotype. Members must share the same reference sequence as adjacent members. Alleles should not have overlapping or adjacent coordinates with neighboring Alleles. Neighboring alleles should be ordered by ascending coordinates, unless represented on a DNA inversion (following an Adjacency with end-defined adjoinedSequences), in which case they should be ordered in descending coordinates. Sequence references MUST be consistent for all members between and including the end of one Adjacency and the beginning of another. diff --git a/tests/data/vrs/def/LengthExpression.rst b/tests/data/vrs/def/LengthExpression.rst new file mode 100644 index 0000000..9dc15c9 --- /dev/null +++ b/tests/data/vrs/def/LengthExpression.rst @@ -0,0 +1,71 @@ +.. 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 sequence expressed only by its length. + +**GA4GH Digest** + +.. list-table:: + :class: clean-wrap + :header-rows: 1 + :align: left + :widths: auto + + * - Prefix + - Keys + + * - None + - ['length', 'type'] + + +**Information Model** + +Some LengthExpression attributes are inherited from :ref:`SequenceExpression`. + +.. 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. 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 + - + .. raw:: html + + + - :ref:`Extension` + - 0..m + - + * - type + - + - string + - 1..1 + - MUST be "LengthExpression" + * - length + - + - :ref:`Range` | integer + - 0..1 + - diff --git a/tests/data/vrs/def/LiteralSequenceExpression.rst b/tests/data/vrs/def/LiteralSequenceExpression.rst new file mode 100644 index 0000000..3209b12 --- /dev/null +++ b/tests/data/vrs/def/LiteralSequenceExpression.rst @@ -0,0 +1,71 @@ +.. 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** + +An explicit expression of a Sequence. + +**GA4GH Digest** + +.. list-table:: + :class: clean-wrap + :header-rows: 1 + :align: left + :widths: auto + + * - Prefix + - Keys + + * - None + - ['sequence', 'type'] + + +**Information Model** + +Some LiteralSequenceExpression attributes are inherited from :ref:`SequenceExpression`. + +.. 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. 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 + - + .. raw:: html + + + - :ref:`Extension` + - 0..m + - + * - type + - + - string + - 1..1 + - MUST be "LiteralSequenceExpression" + * - sequence + - + - :ref:`SequenceString` + - 1..1 + - the literal sequence diff --git a/tests/data/vrs/def/Location.rst b/tests/data/vrs/def/Location.rst index 1de8531..61ec70c 100644 --- a/tests/data/vrs/def/Location.rst +++ b/tests/data/vrs/def/Location.rst @@ -1,9 +1,7 @@ +.. 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`. -.. 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 contiguous segment of a biological sequence. diff --git a/tests/data/vrs/def/MolecularVariation.rst b/tests/data/vrs/def/MolecularVariation.rst index 9661993..51e3fdf 100644 --- a/tests/data/vrs/def/MolecularVariation.rst +++ b/tests/data/vrs/def/MolecularVariation.rst @@ -1,9 +1,7 @@ +.. 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`. -.. 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 :ref:`variation` on a contiguous molecule. diff --git a/tests/data/vrs/def/Range.rst b/tests/data/vrs/def/Range.rst new file mode 100644 index 0000000..d219b68 --- /dev/null +++ b/tests/data/vrs/def/Range.rst @@ -0,0 +1,7 @@ +.. 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** + +An inclusive range of values bounded by one or more integers. diff --git a/tests/data/vrs/def/ReferenceLengthExpression.rst b/tests/data/vrs/def/ReferenceLengthExpression.rst new file mode 100644 index 0000000..17846f3 --- /dev/null +++ b/tests/data/vrs/def/ReferenceLengthExpression.rst @@ -0,0 +1,81 @@ +.. 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** + +An expression of a length of a sequence from a repeating reference. + +**GA4GH Digest** + +.. list-table:: + :class: clean-wrap + :header-rows: 1 + :align: left + :widths: auto + + * - Prefix + - Keys + + * - None + - ['length', 'repeatSubunitLength', 'type'] + + +**Information Model** + +Some ReferenceLengthExpression attributes are inherited from :ref:`SequenceExpression`. + +.. 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. 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 + - + .. raw:: html + + + - :ref:`Extension` + - 0..m + - + * - type + - + - string + - 1..1 + - MUST be "ReferenceLengthExpression" + * - length + - + - integer | :ref:`Range` + - 1..1 + - The number of residues in the expressed sequence. + * - sequence + - + - :ref:`SequenceString` + - 0..1 + - the :ref:`Sequence` encoded by the Reference Length Expression. + * - repeatSubunitLength + - + - integer + - 1..1 + - The number of residues in the repeat subunit. diff --git a/tests/data/vrs/def/Residue.rst b/tests/data/vrs/def/Residue.rst new file mode 100644 index 0000000..432c223 --- /dev/null +++ b/tests/data/vrs/def/Residue.rst @@ -0,0 +1,7 @@ +.. 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 character representing a specific residue (i.e., molecular species) or groupings of these ("ambiguity codes"), using `one-letter IUPAC abbreviations `_ for nucleic acids and amino acids. diff --git a/tests/data/vrs/def/SequenceExpression.rst b/tests/data/vrs/def/SequenceExpression.rst index ff940b3..5217af8 100644 --- a/tests/data/vrs/def/SequenceExpression.rst +++ b/tests/data/vrs/def/SequenceExpression.rst @@ -1,13 +1,26 @@ +.. 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`. -.. 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** An expression describing a :ref:`Sequence`. +**GA4GH Digest** + +.. list-table:: + :class: clean-wrap + :header-rows: 1 + :align: left + :widths: auto + + * - Prefix + - Keys + + * - None + - ['type'] + + **Information Model** Some SequenceExpression attributes are inherited from :ref:`gks.core:Entity`. @@ -19,26 +32,35 @@ Some SequenceExpression attributes are inherited from :ref:`gks.core:Entity`. :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. 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 + - + .. raw:: html + + - :ref:`Extension` - 0..m - * - type + - - string - 1..1 - The SequenceExpression class type. MUST match child class type. diff --git a/tests/data/vrs/def/SequenceLocation.rst b/tests/data/vrs/def/SequenceLocation.rst new file mode 100644 index 0000000..c8b7160 --- /dev/null +++ b/tests/data/vrs/def/SequenceLocation.rst @@ -0,0 +1,86 @@ +.. 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 :ref:`Location` defined by an interval on a referenced :ref:`Sequence`. + +**GA4GH Digest** + +.. list-table:: + :class: clean-wrap + :header-rows: 1 + :align: left + :widths: auto + + * - Prefix + - Keys + + * - SL + - ['end', 'sequenceReference', 'start', 'type'] + + +**Information Model** + +Some SequenceLocation attributes are inherited from :ref:`Ga4ghIdentifiableObject`. + +.. 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. 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 + - + .. raw:: html + + + - :ref:`Extension` + - 0..m + - + * - type + - + - string + - 0..1 + - MUST be "SequenceLocation" + * - digest + - + - string + - 0..1 + - A sha512t24u digest created using the VRS Computed Identifier algorithm. + * - sequenceReference + - + - :ref:`IRI` | :ref:`SequenceReference` + - 0..1 + - A :ref:`SequenceReference`. + * - start + - + - integer | :ref:`Range` + - 0..1 + - The start coordinate or range of the SequenceLocation. The minimum value of this coordinate or range is 0. MUST represent a coordinate or range less than or equal to the value of `end`. + * - end + - + - integer | :ref:`Range` + - 0..1 + - The end coordinate or range of the SequenceLocation. The minimum value of this coordinate or range is 0. MUST represent a coordinate or range greater than or equal to the value of `start`. diff --git a/tests/data/vrs/def/SequenceReference.rst b/tests/data/vrs/def/SequenceReference.rst new file mode 100644 index 0000000..4466566 --- /dev/null +++ b/tests/data/vrs/def/SequenceReference.rst @@ -0,0 +1,76 @@ +.. 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 sequence of nucleic or amino acid character codes. + +**GA4GH Digest** + +.. list-table:: + :class: clean-wrap + :header-rows: 1 + :align: left + :widths: auto + + * - Prefix + - Keys + + * - None + - [] + + +**Information Model** + +Some SequenceReference attributes are inherited from :ref:`gks.core:Entity`. + +.. 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. 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 + - + .. raw:: html + + + - :ref:`Extension` + - 0..m + - + * - type + - + - string + - 0..1 + - + * - refgetAccession + - + - string + - 1..1 + - A `GA4GH RefGet ` identifier for the referenced sequence, using the sha512t24u digest. + * - residueAlphabet + - + - string + - 0..1 + - The interpretation of the character codes referred to by the refget accession, where "aa" specifies an amino acid character set, and "na" specifies a nucleic acid character set. diff --git a/tests/data/vrs/def/SequenceString.rst b/tests/data/vrs/def/SequenceString.rst new file mode 100644 index 0000000..4e5314e --- /dev/null +++ b/tests/data/vrs/def/SequenceString.rst @@ -0,0 +1,7 @@ +.. 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 character string of :ref:`Residues ` that represents a biological sequence using the conventional sequence order (5’-to-3’ for nucleic acid sequences, and amino-to-carboxyl for amino acid sequences). IUPAC ambiguity codes are permitted in Sequence Strings. diff --git a/tests/data/vrs/def/SystemicVariation.rst b/tests/data/vrs/def/SystemicVariation.rst index ab5e004..174ebcf 100644 --- a/tests/data/vrs/def/SystemicVariation.rst +++ b/tests/data/vrs/def/SystemicVariation.rst @@ -1,9 +1,7 @@ +.. 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`. -.. 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 Variation of multiple molecules in the context of a system, e.g. a genome, sample, or homologous chromosomes. diff --git a/tests/data/vrs/def/ValueObject.rst b/tests/data/vrs/def/ValueObject.rst index c9eba68..ec06973 100644 --- a/tests/data/vrs/def/ValueObject.rst +++ b/tests/data/vrs/def/ValueObject.rst @@ -1,9 +1,7 @@ +.. 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`. -.. 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 contextual value whose equality is based on value, not identity. See https://en.wikipedia.org/wiki/Value_object for more on Value Objects. diff --git a/tests/data/vrs/def/Variation.rst b/tests/data/vrs/def/Variation.rst index bede2c7..7c3a74a 100644 --- a/tests/data/vrs/def/Variation.rst +++ b/tests/data/vrs/def/Variation.rst @@ -1,13 +1,26 @@ +.. 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`. -.. 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 representation of the state of one or more biomolecules. +**GA4GH Digest** + +.. list-table:: + :class: clean-wrap + :header-rows: 1 + :align: left + :widths: auto + + * - Prefix + - Keys + + * - None + - ['type'] + + **Information Model** Some Variation attributes are inherited from :ref:`Ga4ghIdentifiableObject`. @@ -19,34 +32,48 @@ Some Variation attributes are inherited from :ref:`Ga4ghIdentifiableObject`. :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. 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 + - + .. raw:: html + + - :ref:`Extension` - 0..m - * - type + - - string - 0..1 - * - digest + - - string - 0..1 - A sha512t24u digest created using the VRS Computed Identifier algorithm. * - expressions + - + .. raw:: html + + - :ref:`Expression` - 0..m - diff --git a/tests/data/vrs/json/Adjacency b/tests/data/vrs/json/Adjacency new file mode 100644 index 0000000..dc9bf64 --- /dev/null +++ b/tests/data/vrs/json/Adjacency @@ -0,0 +1,91 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://w3id.org/ga4gh/schema/vrs/2.x/json/Adjacency", + "title": "Adjacency", + "type": "object", + "maturity": "draft", + "ga4ghDigest": { + "prefix": "AJ", + "keys": [ + "adjoinedSequences", + "linker", + "type" + ] + }, + "description": "The `Adjacency` class can represent either the termination of a sequence or the adjoining of the end of a sequence with the beginning of an adjacent sequence, potentially with an intervening linker sequence.", + "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": "Adjacency", + "default": "Adjacency", + "description": "MUST be \"Adjacency\"." + }, + "digest": { + "description": "A sha512t24u digest created using the VRS Computed Identifier algorithm.", + "type": "string", + "pattern": "^[0-9A-Za-z_\\-]{32}$" + }, + "expressions": { + "type": "array", + "ordered": false, + "items": { + "$ref": "/ga4gh/schema/vrs/2.x/json/Expression" + } + }, + "adjoinedSequences": { + "type": "array", + "uniqueItems": false, + "ordered": true, + "items": { + "oneOf": [ + { + "$ref": "/ga4gh/schema/vrs/2.x/json/SequenceLocation" + }, + { + "$ref": "/ga4gh/schema/gks-common/1.x/json/IRI" + } + ] + }, + "description": "The terminal sequence or pair of adjoined sequences that defines in the adjacency.", + "minItems": 1, + "maxItems": 2 + }, + "linker": { + "description": "The sequence found between adjoined sequences.", + "oneOf": [ + { + "$ref": "/ga4gh/schema/vrs/2.x/json/LengthExpression" + }, + { + "$ref": "/ga4gh/schema/vrs/2.x/json/LiteralSequenceExpression" + }, + { + "$ref": "/ga4gh/schema/vrs/2.x/json/ReferenceLengthExpression" + } + ] + } + }, + "required": [ + "adjoinedSequences" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/tests/data/vrs/json/Allele b/tests/data/vrs/json/Allele new file mode 100644 index 0000000..b25d4ad --- /dev/null +++ b/tests/data/vrs/json/Allele @@ -0,0 +1,85 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://w3id.org/ga4gh/schema/vrs/2.x/json/Allele", + "title": "Allele", + "type": "object", + "maturity": "draft", + "ga4ghDigest": { + "prefix": "VA", + "keys": [ + "location", + "state", + "type" + ] + }, + "description": "The state of a molecule at a Location.", + "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": "Allele", + "default": "Allele", + "description": "MUST be \"Allele\"" + }, + "digest": { + "description": "A sha512t24u digest created using the VRS Computed Identifier algorithm.", + "type": "string", + "pattern": "^[0-9A-Za-z_\\-]{32}$" + }, + "expressions": { + "type": "array", + "ordered": false, + "items": { + "$ref": "/ga4gh/schema/vrs/2.x/json/Expression" + } + }, + "location": { + "oneOf": [ + { + "$ref": "/ga4gh/schema/vrs/2.x/json/SequenceLocation" + }, + { + "$ref": "/ga4gh/schema/gks-common/1.x/json/IRI" + } + ], + "description": "The location of the Allele" + }, + "state": { + "description": "An expression of the sequence state", + "oneOf": [ + { + "$ref": "/ga4gh/schema/vrs/2.x/json/LengthExpression" + }, + { + "$ref": "/ga4gh/schema/vrs/2.x/json/LiteralSequenceExpression" + }, + { + "$ref": "/ga4gh/schema/vrs/2.x/json/ReferenceLengthExpression" + } + ] + } + }, + "required": [ + "location", + "state" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/tests/data/vrs/json/CopyNumberChange b/tests/data/vrs/json/CopyNumberChange new file mode 100644 index 0000000..f5d3465 --- /dev/null +++ b/tests/data/vrs/json/CopyNumberChange @@ -0,0 +1,85 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://w3id.org/ga4gh/schema/vrs/2.x/json/CopyNumberChange", + "title": "CopyNumberChange", + "type": "object", + "maturity": "draft", + "ga4ghDigest": { + "keys": [ + "copyChange", + "location", + "type" + ], + "prefix": "CX" + }, + "description": "An assessment of the copy number of a Location or a Gene within a system (e.g. genome, cell, etc.) relative to a baseline ploidy.", + "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": "CopyNumberChange", + "default": "CopyNumberChange", + "description": "MUST be \"CopyNumberChange\"" + }, + "digest": { + "description": "A sha512t24u digest created using the VRS Computed Identifier algorithm.", + "type": "string", + "pattern": "^[0-9A-Za-z_\\-]{32}$" + }, + "expressions": { + "type": "array", + "ordered": false, + "items": { + "$ref": "/ga4gh/schema/vrs/2.x/json/Expression" + } + }, + "location": { + "oneOf": [ + { + "$ref": "/ga4gh/schema/vrs/2.x/json/SequenceLocation" + }, + { + "$ref": "/ga4gh/schema/gks-common/1.x/json/IRI" + } + ], + "description": "A location for which the number of systemic copies is described." + }, + "copyChange": { + "type": "string", + "enum": [ + "efo:0030069", + "efo:0020073", + "efo:0030068", + "efo:0030067", + "efo:0030064", + "efo:0030070", + "efo:0030071", + "efo:0030072" + ], + "description": "MUST be one of \"efo:0030069\" (complete genomic loss), \"efo:0020073\" (high-level loss), \"efo:0030068\" (low-level loss), \"efo:0030067\" (loss), \"efo:0030064\" (regional base ploidy), \"efo:0030070\" (gain), \"efo:0030071\" (low-level gain), \"efo:0030072\" (high-level gain)." + } + }, + "required": [ + "copyChange", + "location" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/tests/data/vrs/json/CopyNumberCount b/tests/data/vrs/json/CopyNumberCount new file mode 100644 index 0000000..6bb8b9e --- /dev/null +++ b/tests/data/vrs/json/CopyNumberCount @@ -0,0 +1,82 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://w3id.org/ga4gh/schema/vrs/2.x/json/CopyNumberCount", + "title": "CopyNumberCount", + "type": "object", + "maturity": "draft", + "ga4ghDigest": { + "keys": [ + "copies", + "location", + "type" + ], + "prefix": "CN" + }, + "description": "The absolute count of discrete copies of a Location or Gene, within a system (e.g. genome, cell, etc.).", + "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": "CopyNumberCount", + "default": "CopyNumberCount", + "description": "MUST be \"CopyNumberCount\"" + }, + "digest": { + "description": "A sha512t24u digest created using the VRS Computed Identifier algorithm.", + "type": "string", + "pattern": "^[0-9A-Za-z_\\-]{32}$" + }, + "expressions": { + "type": "array", + "ordered": false, + "items": { + "$ref": "/ga4gh/schema/vrs/2.x/json/Expression" + } + }, + "location": { + "oneOf": [ + { + "$ref": "/ga4gh/schema/vrs/2.x/json/SequenceLocation" + }, + { + "$ref": "/ga4gh/schema/gks-common/1.x/json/IRI" + } + ], + "description": "A location for which the number of systemic copies is described." + }, + "copies": { + "oneOf": [ + { + "$ref": "/ga4gh/schema/vrs/2.x/json/Range" + }, + { + "type": "integer" + } + ], + "description": "The integral number of copies of the subject in a system" + } + }, + "required": [ + "copies", + "location" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/tests/data/vrs/json/Expression b/tests/data/vrs/json/Expression new file mode 100644 index 0000000..bf3b5fd --- /dev/null +++ b/tests/data/vrs/json/Expression @@ -0,0 +1,36 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://w3id.org/ga4gh/schema/vrs/2.x/json/Expression", + "title": "Expression", + "type": "object", + "privateTo": "Variation", + "maturity": "draft", + "description": "Representation of a variation by a specified nomenclature or syntax for a Variation object. Common examples of expressions for the description of molecular variation include the HGVS and ISCN nomenclatures.", + "properties": { + "syntax": { + "type": "string", + "enum": [ + "hgvs.c", + "hgvs.p", + "hgvs.g", + "hgvs.m", + "hgvs.n", + "hgvs.r", + "iscn", + "gnomad", + "spdi" + ] + }, + "value": { + "type": "string" + }, + "syntax_version": { + "type": "string" + } + }, + "required": [ + "syntax", + "value" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/tests/data/vrs/json/Haplotype b/tests/data/vrs/json/Haplotype new file mode 100644 index 0000000..dadcc11 --- /dev/null +++ b/tests/data/vrs/json/Haplotype @@ -0,0 +1,78 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://w3id.org/ga4gh/schema/vrs/2.x/json/Haplotype", + "title": "Haplotype", + "type": "object", + "maturity": "draft", + "ga4ghDigest": { + "prefix": "HT", + "keys": [ + "members", + "type" + ] + }, + "description": "An ordered set of co-occurring variants on the same molecule.", + "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": "Haplotype", + "default": "Haplotype", + "description": "MUST be \"Haplotype\"" + }, + "digest": { + "description": "A sha512t24u digest created using the VRS Computed Identifier algorithm.", + "type": "string", + "pattern": "^[0-9A-Za-z_\\-]{32}$" + }, + "expressions": { + "type": "array", + "ordered": false, + "items": { + "$ref": "/ga4gh/schema/vrs/2.x/json/Expression" + } + }, + "members": { + "type": "array", + "ordered": true, + "minItems": 2, + "uniqueItems": false, + "items": { + "oneOf": [ + { + "$ref": "/ga4gh/schema/vrs/2.x/json/Adjacency" + }, + { + "$ref": "/ga4gh/schema/vrs/2.x/json/Allele" + }, + { + "$ref": "/ga4gh/schema/gks-common/1.x/json/IRI" + } + ] + }, + "description": "A list of Alleles that comprise a Haplotype. Members must share the same reference sequence as adjacent members. Alleles should not have overlapping or adjacent coordinates with neighboring Alleles. Neighboring alleles should be ordered by ascending coordinates, unless represented on a DNA inversion (following an Adjacency with end-defined adjoinedSequences), in which case they should be ordered in descending coordinates. Sequence references MUST be consistent for all members between and including the end of one Adjacency and the beginning of another." + } + }, + "required": [ + "members" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/tests/data/vrs/json/LengthExpression b/tests/data/vrs/json/LengthExpression new file mode 100644 index 0000000..397c48c --- /dev/null +++ b/tests/data/vrs/json/LengthExpression @@ -0,0 +1,55 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://w3id.org/ga4gh/schema/vrs/2.x/json/LengthExpression", + "title": "LengthExpression", + "type": "object", + "maturity": "draft", + "ga4ghDigest": { + "keys": [ + "length", + "type" + ] + }, + "description": "A sequence expressed only by its length.", + "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": "LengthExpression", + "default": "LengthExpression", + "description": "MUST be \"LengthExpression\"" + }, + "length": { + "oneOf": [ + { + "$ref": "/ga4gh/schema/vrs/2.x/json/Range" + }, + { + "type": "integer" + } + ] + } + }, + "required": [ + "type" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/tests/data/vrs/json/LiteralSequenceExpression b/tests/data/vrs/json/LiteralSequenceExpression new file mode 100644 index 0000000..d958b3d --- /dev/null +++ b/tests/data/vrs/json/LiteralSequenceExpression @@ -0,0 +1,50 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://w3id.org/ga4gh/schema/vrs/2.x/json/LiteralSequenceExpression", + "title": "LiteralSequenceExpression", + "type": "object", + "maturity": "draft", + "ga4ghDigest": { + "keys": [ + "sequence", + "type" + ] + }, + "description": "An explicit expression of a Sequence.", + "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": "LiteralSequenceExpression", + "default": "LiteralSequenceExpression", + "description": "MUST be \"LiteralSequenceExpression\"" + }, + "sequence": { + "$ref": "/ga4gh/schema/vrs/2.x/json/SequenceString", + "description": "the literal sequence" + } + }, + "required": [ + "sequence", + "type" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/tests/data/vrs/json/Range b/tests/data/vrs/json/Range new file mode 100644 index 0000000..5ae7fda --- /dev/null +++ b/tests/data/vrs/json/Range @@ -0,0 +1,21 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://w3id.org/ga4gh/schema/vrs/2.x/json/Range", + "title": "Range", + "type": "array", + "maturity": "draft", + "description": "An inclusive range of values bounded by one or more integers.", + "ordered": true, + "items": { + "oneOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "maxItems": 2, + "minItems": 2 +} \ No newline at end of file diff --git a/tests/data/vrs/json/ReferenceLengthExpression b/tests/data/vrs/json/ReferenceLengthExpression new file mode 100644 index 0000000..b4687a9 --- /dev/null +++ b/tests/data/vrs/json/ReferenceLengthExpression @@ -0,0 +1,67 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://w3id.org/ga4gh/schema/vrs/2.x/json/ReferenceLengthExpression", + "title": "ReferenceLengthExpression", + "type": "object", + "maturity": "draft", + "ga4ghDigest": { + "keys": [ + "length", + "repeatSubunitLength", + "type" + ] + }, + "description": "An expression of a length of a sequence from a repeating reference.", + "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": "ReferenceLengthExpression", + "default": "ReferenceLengthExpression", + "description": "MUST be \"ReferenceLengthExpression\"" + }, + "length": { + "oneOf": [ + { + "$ref": "/ga4gh/schema/vrs/2.x/json/Range" + }, + { + "type": "integer" + } + ], + "description": "The number of residues in the expressed sequence." + }, + "sequence": { + "$ref": "/ga4gh/schema/vrs/2.x/json/SequenceString", + "description": "the Sequence encoded by the Reference Length Expression." + }, + "repeatSubunitLength": { + "type": "integer", + "description": "The number of residues in the repeat subunit." + } + }, + "required": [ + "length", + "repeatSubunitLength", + "type" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/tests/data/vrs/json/Residue b/tests/data/vrs/json/Residue new file mode 100644 index 0000000..d96de64 --- /dev/null +++ b/tests/data/vrs/json/Residue @@ -0,0 +1,9 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://w3id.org/ga4gh/schema/vrs/2.x/json/Residue", + "title": "Residue", + "type": "string", + "maturity": "draft", + "description": "A character representing a specific residue (i.e., molecular species) or groupings of these (\"ambiguity codes\"), using [one-letter IUPAC abbreviations](https://en.wikipedia.org/wiki/International_Union_of_Pure_and_Applied_Chemistry#Amino_acid_and_nucleotide_base_codes) for nucleic acids and amino acids.", + "pattern": "[A-Z*\\-]" +} \ No newline at end of file diff --git a/tests/data/vrs/json/SequenceLocation b/tests/data/vrs/json/SequenceLocation new file mode 100644 index 0000000..6aa9252 --- /dev/null +++ b/tests/data/vrs/json/SequenceLocation @@ -0,0 +1,84 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://w3id.org/ga4gh/schema/vrs/2.x/json/SequenceLocation", + "title": "SequenceLocation", + "type": "object", + "maturity": "draft", + "ga4ghDigest": { + "keys": [ + "end", + "sequenceReference", + "start", + "type" + ], + "prefix": "SL" + }, + "description": "A Location defined by an interval on a referenced Sequence.", + "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": "SequenceLocation", + "default": "SequenceLocation", + "description": "MUST be \"SequenceLocation\"" + }, + "digest": { + "description": "A sha512t24u digest created using the VRS Computed Identifier algorithm.", + "type": "string", + "pattern": "^[0-9A-Za-z_\\-]{32}$" + }, + "sequenceReference": { + "oneOf": [ + { + "$ref": "/ga4gh/schema/vrs/2.x/json/SequenceReference" + }, + { + "$ref": "/ga4gh/schema/gks-common/1.x/json/IRI" + } + ], + "description": "A SequenceReference." + }, + "start": { + "oneOf": [ + { + "$ref": "/ga4gh/schema/vrs/2.x/json/Range" + }, + { + "type": "integer" + } + ], + "description": "The start coordinate or range of the SequenceLocation. The minimum value of this coordinate or range is 0. MUST represent a coordinate or range less than or equal to the value of `end`." + }, + "end": { + "oneOf": [ + { + "$ref": "/ga4gh/schema/vrs/2.x/json/Range" + }, + { + "type": "integer" + } + ], + "description": "The end coordinate or range of the SequenceLocation. The minimum value of this coordinate or range is 0. MUST represent a coordinate or range greater than or equal to the value of `start`." + } + }, + "required": [], + "additionalProperties": false +} \ No newline at end of file diff --git a/tests/data/vrs/json/SequenceReference b/tests/data/vrs/json/SequenceReference new file mode 100644 index 0000000..3b0a932 --- /dev/null +++ b/tests/data/vrs/json/SequenceReference @@ -0,0 +1,53 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://w3id.org/ga4gh/schema/vrs/2.x/json/SequenceReference", + "title": "SequenceReference", + "type": "object", + "maturity": "draft", + "ga4ghDigest": { + "assigned": true + }, + "description": "A sequence of nucleic or amino acid character codes.", + "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": "SequenceReference" + }, + "refgetAccession": { + "description": "A `GA4GH RefGet ` identifier for the referenced sequence, using the sha512t24u digest.", + "type": "string", + "pattern": "^SQ.[0-9A-Za-z_\\-]{32}$" + }, + "residueAlphabet": { + "type": "string", + "description": "The interpretation of the character codes referred to by the refget accession, where \"aa\" specifies an amino acid character set, and \"na\" specifies a nucleic acid character set.", + "enum": [ + "aa", + "na" + ] + } + }, + "required": [ + "refgetAccession" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/tests/data/vrs/json/SequenceString b/tests/data/vrs/json/SequenceString new file mode 100644 index 0000000..40c5158 --- /dev/null +++ b/tests/data/vrs/json/SequenceString @@ -0,0 +1,9 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://w3id.org/ga4gh/schema/vrs/2.x/json/SequenceString", + "title": "SequenceString", + "type": "string", + "maturity": "draft", + "description": "A character string of Residues that represents a biological sequence using the conventional sequence order (5\u2019-to-3\u2019 for nucleic acid sequences, and amino-to-carboxyl for amino acid sequences). IUPAC ambiguity codes are permitted in Sequence Strings.", + "pattern": "^[A-Z*\\-]*$" +} \ No newline at end of file