Skip to content

Commit

Permalink
add maturity and set aside Event
Browse files Browse the repository at this point in the history
  • Loading branch information
ahwagner committed Nov 6, 2023
1 parent 00cf336 commit 001d294
Show file tree
Hide file tree
Showing 9 changed files with 409 additions and 40 deletions.
28 changes: 28 additions & 0 deletions schema/defs/vrs/Breakend.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
**Computational Definition**

A break in a molecule with respect to a reference sequence indicating the sequence deviates from the reference sequence after or before this location.

**Information Model**

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

* - Field
- Type
- Limits
- Description
* - type
- string
- 1..1
- MUST be "Breakend"
* - location
- Location
- 1..1
- The interval over which the break could occur in
* - orientation
- string
- 1..1
- MUST be one of "DivergesAfter" or "DivergesBefore" indicating whether the sequences diverges from the reference after or before any position in the interval.
40 changes: 40 additions & 0 deletions schema/defs/vrs/Breakpoint.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
**Computational Definition**

A rearrangement resulting in sequences flanking the two breakends becoming adjacent sequences on the same molecule.

**Information Model**

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

* - Field
- Type
- Limits
- Description
* - type
- string
- 1..1
- MUST be "Breakpoint"
* - breakends
- Breakend
- 1..2
- Breakends involed in the sequence
* - insertion
- DefiniteRange
- 0..1
- Approximate length of unknown sequence between the breaks.
* - homology
- boolean
- 0..1
- A flag indicating whether the location interval of the breakend is due to the sequences at the breakends being homologous or whether the interval is due to uncertainty regarding the actual locations of the breakends.
* - sequence
- LiteralSequenceExpression
- 0..1
- Sequence occuring after the break.
* - terminal
- boolean
- 0..1
- Indicates the end of the molecule
2 changes: 1 addition & 1 deletion schema/defs/vrs/Haplotype.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,6 @@ Some Haplotype attributes are inherited from :ref:`Variation`.
- 0..m
-
* - members
- :ref:`Allele` | `IRI <core.json#/$defs/IRI>`_
- :ref:`Allele` | `IRI <core.json#/$defs/IRI>`_ | :ref:`Breakpoint`
- 2..m
- A list of :ref:`Alleles <Allele>` (or IRI references to `Alleles`) that comprise a Haplotype. Since each `Haplotype` member MUST be an `Allele`, and all members MUST share a common :ref:`SequenceReference`, implementations MAY use a compact representation of Haplotype that omits type and :ref:`SequenceReference` information in individual Haplotype members. Implementations MUST transform compact `Allele` representations into an `Allele` when computing GA4GH identifiers.
4 changes: 2 additions & 2 deletions schema/defs/vrs/SequenceLocation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,8 @@ Some SequenceLocation attributes are inherited from :ref:`Ga4ghIdentifiableObjec
* - start
- integer | :ref:`Range`
- 1..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 the value of `end`.
- 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`
- 1..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 the value of `start`.
- 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`.
89 changes: 85 additions & 4 deletions schema/merged.json
Original file line number Diff line number Diff line change
Expand Up @@ -221,14 +221,17 @@
},
"members": {
"type": "array",
"ordered": false,
"ordered": true,
"minItems": 2,
"uniqueItems": true,
"uniqueItems": false,
"items": {
"oneOf": [
{
"$ref": "#/$defs/Allele"
},
{
"$ref": "#/$defs/Breakpoint"
},
{
"$ref": "#/$defs/IRI"
}
Expand Down Expand Up @@ -549,7 +552,7 @@
"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 the value of `end`."
"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": [
Expand All @@ -560,7 +563,7 @@
"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 the value of `start`."
"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": [
Expand Down Expand Up @@ -855,6 +858,84 @@
"type": "string",
"pattern": "^[A-Z*\\-]*$"
},
"Breakend": {
"maturity": "Alpha",
"description": "A break in a molecule with respect to a reference sequence indicating the sequence deviates from the reference sequence after or before this location.",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "Breakend",
"default": "Breakend",
"description": "MUST be \"Breakend\""
},
"location": {
"type": "Location",
"description": "The interval over which the break could occur in"
},
"orientation": {
"type": "string",
"enum": [
"DivergesAfter",
"DivergesBefore"
],
"description": "MUST be one of \"DivergesAfter\" or \"DivergesBefore\" indicating whether the sequences diverges from the reference after or before any position in the interval."
}
},
"required": [
"location",
"orientation",
"type"
],
"additionalProperties": false
},
"Breakpoint": {
"maturity": "Alpha",
"description": "A rearrangement resulting in sequences flanking the two breakends becoming adjacent sequences on the same molecule.",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "Breakpoint",
"default": "Breakpoint",
"description": "MUST be \"Breakpoint\""
},
"breakends": {
"type": "array",
"uniqueItems": false,
"ordered": false,
"items": {
"type": "Breakend"
},
"description": "Breakends involed in the sequence",
"minItems": 1,
"maxItems": 2
},
"insertion": {
"type": "DefiniteRange",
"description": "Approximate length of unknown sequence between the breaks."
},
"homology": {
"type": "boolean",
"default": false,
"description": "A flag indicating whether the location interval of the breakend is due to the sequences at the breakends being homologous or whether the interval is due to uncertainty regarding the actual locations of the breakends."
},
"sequence": {
"type": "LiteralSequenceExpression",
"description": "Sequence occuring after the break."
},
"terminal": {
"type": "boolean",
"default": false,
"description": "Indicates the end of the molecule"
}
},
"required": [
"breakends",
"type"
],
"additionalProperties": false
},
"Coding": {
"type": "object",
"maturity": "Alpha",
Expand Down
76 changes: 72 additions & 4 deletions schema/merged.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -159,12 +159,13 @@ $defs:
$ref: '#/$defs/Expression'
members:
type: array
ordered: false
ordered: true
minItems: 2
uniqueItems: true
uniqueItems: false
items:
oneOf:
- $ref: '#/$defs/Allele'
- $ref: '#/$defs/Breakpoint'
- $ref: '#/$defs/IRI'
description: A list of Alleles (or IRI references to `Alleles`) that comprise
a Haplotype. Since each `Haplotype` member MUST be an `Allele`, and all
Expand Down Expand Up @@ -419,14 +420,14 @@ $defs:
- 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 the value of `end`.
less than or equal to the value of `end`.
end:
oneOf:
- $ref: '#/$defs/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 the value of `start`.
greater than or equal to the value of `start`.
required:
- end
- start
Expand Down Expand Up @@ -656,6 +657,73 @@ $defs:
\ codes are permitted in Sequence Strings."
type: string
pattern: ^[A-Z*\-]*$
Breakend:
maturity: Alpha
description: A break in a molecule with respect to a reference sequence indicating
the sequence deviates from the reference sequence after or before this location.
type: object
properties:
type:
type: string
const: Breakend
default: Breakend
description: MUST be "Breakend"
location:
type: Location
description: The interval over which the break could occur in
orientation:
type: string
enum:
- DivergesAfter
- DivergesBefore
description: MUST be one of "DivergesAfter" or "DivergesBefore" indicating
whether the sequences diverges from the reference after or before any position
in the interval.
required:
- location
- orientation
- type
additionalProperties: false
Breakpoint:
maturity: Alpha
description: A rearrangement resulting in sequences flanking the two breakends
becoming adjacent sequences on the same molecule.
type: object
properties:
type:
type: string
const: Breakpoint
default: Breakpoint
description: MUST be "Breakpoint"
breakends:
type: array
uniqueItems: false
ordered: false
items:
type: Breakend
description: Breakends involed in the sequence
minItems: 1
maxItems: 2
insertion:
type: DefiniteRange
description: Approximate length of unknown sequence between the breaks.
homology:
type: boolean
default: false
description: A flag indicating whether the location interval of the breakend
is due to the sequences at the breakends being homologous or whether the
interval is due to uncertainty regarding the actual locations of the breakends.
sequence:
type: LiteralSequenceExpression
description: Sequence occuring after the break.
terminal:
type: boolean
default: false
description: Indicates the end of the molecule
required:
- breakends
- type
additionalProperties: false
Coding:
type: object
maturity: Alpha
Expand Down
45 changes: 24 additions & 21 deletions schema/vrs-source.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -789,6 +789,7 @@ $defs:
# =============================================================================

Breakend:
maturity: Alpha
description:
"A break in a molecule with respect to a reference sequence indicating
the sequence deviates from the reference sequence after or before this
Expand Down Expand Up @@ -818,6 +819,7 @@ $defs:
- orientation
additionalProperties: false
Breakpoint:
maturity: Alpha
description:
A rearrangement resulting in sequences flanking the two breakends becoming
adjacent sequences on the same molecule.
Expand Down Expand Up @@ -893,24 +895,25 @@ $defs:
- type
- breakends
additionalProperties: false
Event:
description:
An event that results in a set of variants.
type: object
properties:
type:
type: string
const: Event
default: Event
description: MUST be "Event"
variants:
$ref: '#/definitions/VariationSet'
classification:
# TODO: what event ontology should we use?
type: string
description: Category of event
required:
- type
- variants
- classification
additionalProperties: true

# Event:
# description:
# An event that results in a set of variants.
# type: object
# properties:
# type:
# type: string
# const: Event
# default: Event
# description: MUST be "Event"
# variants:
# $ref: '#/definitions/VariationSet'
# classification:
# # TODO: what event ontology should we use?
# type: string
# description: Category of event
# required:
# - type
# - variants
# - classification
# additionalProperties: true
Loading

0 comments on commit 001d294

Please sign in to comment.