Skip to content

Commit b3e61ca

Browse files
177 adjacency constraint (#178)
* Initial constraint and example, in progress from GKS Think Tank * Updated adjacency constraint, added to constraint list * Updated knownElements array * Added trailing whitespace * Updated trailing whitespace * Committing prior in progress * In progress examples for Adj. constraint. Examples not passing tests. * changed Adj Cons: v and ? to meaningful names * made ordered req'd and oneOf true or false * added orderKnown property and made it required * fixed trialing whitespace * Added Terminus as an element supported within Adj. constraint * Resolved schema issues with Adj constraint and finished documentation for example 1 * Added adj fusion example 2 * Added example 3 * Pre-commit hook keeps wanting to update JSONs for other constraints...Seeing how this goes and may reverse * Added adj examples to README table and added example 3 to test definitions * Created VRS Adjacency to add to example 1 * Created VRS Adjacency to add to example 1 * Added adjacency examples as json and def * Added trailing whitespace * Renamed adj. example files * Resolved whitespace * In progress docs for Adj constraint * Fixed trailing whitespace, moved MultipleKnownGeneElements and UnknownGeneElement to their own defs * Fixed trailing whitespace... * Moved MultipleKnownGeneElements and UnknownGeneElement to their own classes, imported SequenceExpression docs to support documentation for linker, fixed SequenceReference documentation import * Fixed trailing whitespace * Updated schemas for MultipleKnownGeneElements and UnknownGeneElement * Fixed trailing whitespace * Reverted knownElements to just be MappableConcept * Changed whitespace * Updated typing in examples * Updated vrs to v2 branch to access ConceptSet in gks-core release 1.1.0 * Update VRS submodule to v2 branch * Updated gks-core namespace within cat-vrs-source.yaml * Updated documentation to use ConceptSet instead of MultipleKnownGeneElements * Removed multiple known gene elements def and json files * Rearranged Adj constraint property order, moved linker past adjoinedElements * Updated adj examples * Updated Adj constraint examples in docs * Recipe for Gene Fusion * Fixed trailing whitespace * Updated text for GeneFusion recipe * Implementation Guidance for Gene Fusion * Updated name for ex1 * Updated ex1 name in Gene Fusion recipe docs * Revert "Updated ex1 name in Gene Fusion recipe docs" This reverts commit d8303f0. * Added non-exhaustive note * Renamed BCR::ABL1 example in Recipes documentation * Fixed hyperlink for Unknown Gene Component * Updated orderKnown description * Renamed Unspecified Gene Element to UnspecifiedElement * Updated docs when renaming UnknownGeneElement to UnspecifiedElement * Updated trailing whitespace * Updated readthedocs for unspecified element * Trailing whitespace in examples file * Gene name incorrected listed * Added functionalDomains and adjacency example 4 of FGFR2 fusion with required preserved domains * Trailing whitespace * Added adjacency example 4 to test definitions * Fixed external hyperlink to categorical elements * Phrasing change to (hopefully) resolve the prior github action error --------- Co-authored-by: Brendan Reardon <9423424+brendanreardon@users.noreply.github.com>
1 parent 2eee511 commit b3e61ca

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+1794
-17
lines changed

.gitmodules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
[submodule "submodules/vrs"]
22
path = submodules/vrs
33
url = https://github.com/ga4gh/vrs.git
4-
branch = 2.0
4+
branch = v2
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
.. _additionalDataTypes:
2+
3+
Additional Data Types
4+
@@@@@@@@@@@@@@@@@@@@@
5+
6+
Below are the additional data types used by the Cat-VRS models.
7+
8+
.. _FunctionalDomain:
9+
10+
FunctionalDomain
11+
##################
12+
13+
The FunctionalDomain class is used to populate the `functionalDomains` property within the :ref:`AdjacencyConstraint`. It is intended to represent `Functional Domains <https://fusions.cancervariants.org/en/latest/information_model.html#categorical-elements>`_ from the VICC Gene Fusion Specification.
14+
15+
.. include:: ../def/cat-vrs/FunctionalDomain.rst
16+
17+
.. _UnspecifiedElement:
18+
19+
UnspecifiedElement
20+
##################
21+
22+
The UnspecifiedElement class is an available item to populate the `adjoinedElements` property within the :ref:`AdjacencyConstraint`. It is intended to represent both the `Multiple Possible Gene Component <https://fusions.cancervariants.org/en/latest/nomenclature.html#multiple-possible-gene-component>`_ and `Unknown Gene Component <https://fusions.cancervariants.org/en/latest/nomenclature.html#unknown-gene-component>`_ from the VICC Gene Fusion Specification.
23+
24+
.. include:: ../def/cat-vrs/UnspecifiedElement.rst

docs/source/concepts/catvrs_model.rst

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,67 @@ The following are example implementations of DefiningLocationConstraint:
100100

101101
<div style="margin-top: 1em;"></div>
102102

103+
.. _AdjacencyConstraint:
104+
105+
AdjacencyConstraint
106+
###################
107+
108+
.. include:: ../def/cat-vrs/AdjacencyConstraint.rst
109+
110+
**Examples**
111+
112+
The following are example implementations of AdjacencyConstraint:
113+
114+
.. collapse:: BCR(ncbi:613)::ABL1(ncbi:25)
115+
116+
.. literalinclude:: ../../../schema/cat-vrs/json/example_adjacencyFusion-ex1
117+
:language: json
118+
:lines: 42-75
119+
120+
.. raw:: html
121+
122+
<div style="margin-top: 0.5em;"></div>
123+
124+
.. collapse:: v::NTRK1(hgnc:8031)
125+
126+
.. literalinclude:: ../../../schema/cat-vrs/json/example_adjacencyFusion-ex2
127+
:language: json
128+
:lines: 15-37
129+
130+
.. raw:: html
131+
132+
<div style="margin-top: 0.5em;"></div>
133+
134+
.. collapse:: ?::ZNF384(ncbi:171017)
135+
136+
.. literalinclude:: ../../../schema/cat-vrs/json/example_adjacencyFusion-ex3
137+
:language: json
138+
:lines: 15-37
139+
140+
.. raw:: html
141+
142+
<div style="margin-top: 0.5em;"></div>
143+
144+
.. collapse:: FGFR2(hgnc:3689)::v
145+
146+
.. literalinclude:: ../../../schema/cat-vrs/json/example_adjacencyFusion-ex4
147+
:language: json
148+
:lines: 15-88
149+
150+
.. raw:: html
151+
152+
<div style="margin-top: 1em;"></div>
153+
154+
**Implementation Guidance**
155+
156+
The Adjacency Constraint is similar to `VRS' Adjacency class <https://vrs.ga4gh.org/en/stable/concepts/MolecularVariation/Adjacency.html>`_, except that the `adjoinedElements` field supports data types in addition to :ref:`iriReference` and :ref:`Location`.
157+
158+
We recommend following the `Variant Interpretation for Cancer Consortium's Gene Fusion Specification <https://fusions.cancervariants.org/en/latest/>`_ when modeling a :ref:`GeneFusion` using this constraint. Specifically by:
159+
160+
* Representing `Named Gene Components <https://fusions.cancervariants.org/en/latest/nomenclature.html#named-gene-component>`_ as a :ref:`MappableConcept` with the `conceptType` field set to "Gene"; the `Gene Normalizer <https://gene-normalizer.readthedocs.io>`_ can help.
161+
* Representing `Multiple Possible Gene Components <https://fusions.cancervariants.org/en/latest/nomenclature.html#multiple-possible-gene-component>`_ as a :ref:`UnspecifiedElement` within the Adjacency Constraint. An exhaustive or non-exhaustive list of possible elements can be included as an :ref:`Extension`. We recommend setting the value to be a :ref:`ConceptSet` with the `membershipOperator` field set to "OR".
162+
* Representing an `Unknown Gene Component <https://fusions.cancervariants.org/en/latest/nomenclature.html#unknown-gene-component>`_ as a :ref:`UnspecifiedElement`.
163+
103164
.. _CopyCountConstraint:
104165

105166
CopyCountConstraint
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.. _ConceptSet:
2+
3+
ConceptSet
4+
!!!!!!!!!!!
5+
6+
.. include:: ../../def/gks-core/ConceptSet.rst
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
.. _LengthExpression:
2+
3+
Length Expression
4+
!!!!!!!!!!!!!!!!!
5+
6+
.. admonition:: New in V2
7+
8+
The `LengthExpression` class is new in VRS v2, and was designed as a means for
9+
handling unknown sequence content with known length.
10+
11+
A length expression is used to represent molecular sequences with known length
12+
but unknown sequence content, typically as determined by molecular weight assays
13+
(e.g. gel electrophoresis).
14+
15+
Definition and Information Model
16+
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
17+
18+
.. include:: ../../def/vrs/LengthExpression.rst
19+
20+
Example
21+
@@@@@@@
22+
23+
.. code-block:: json
24+
25+
{
26+
"type": "LengthExpression",
27+
"length": 20000
28+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
.. _LiteralSequenceExpression:
2+
3+
Literal Sequence Expression
4+
!!!!!!!!!!!!!!!!!!!!!!!!!!!
5+
6+
A literal sequence expression is a literal representation of a :ref:`Sequence`.
7+
8+
Definition and Information Model
9+
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
10+
11+
.. include:: ../../def/vrs/LiteralSequenceExpression.rst
12+
13+
Example
14+
@@@@@@@
15+
16+
.. code-block:: json
17+
18+
{
19+
"sequence": "ACGT",
20+
"type": "LiteralSequenceExpression"
21+
}
Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,18 @@
1+
Locations and References
2+
!!!!!!!!!!!!!!!!!!!!!!!!
3+
14
.. _Location:
25

36
Location
4-
!!!!!!!!
7+
@@@@@@@@
58

69
.. include:: ../../def/vrs/Location.rst
10+
11+
All VRS variation objects are built on :ref:`Sequence Locations<SequenceLocation>`
12+
and, by extension all references are built on, :ref:`Sequence References<SequenceReference>`.
13+
14+
.. toctree::
15+
:maxdepth: 1
16+
17+
SequenceLocation
18+
SequenceReference
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.. _ReferenceLengthExpression:
2+
3+
Reference Length Expression
4+
!!!!!!!!!!!!!!!!!!!!!!!!!!!
5+
6+
.. include:: ../../def/vrs/ReferenceLengthExpression.rst
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
.. _SequenceExpression:
2+
3+
Sequence Expression
4+
!!!!!!!!!!!!!!!!!!!
5+
6+
Sequence Expressions are used to express a sequence, typically in the
7+
representation of :ref:`Variation` state.
8+
9+
Unlike :ref:`SequenceReference`, a sequence expression represents the
10+
content of a sequence, instead of representing a sequence by reference.
11+
12+
.. include:: ../../def/vrs/SequenceExpression.rst
13+
14+
**Subclasses**
15+
16+
.. toctree::
17+
:titlesonly:
18+
19+
LiteralSequenceExpression
20+
ReferenceLengthExpression
21+
LengthExpression
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.. _SequenceReference:
2+
3+
Sequence Reference
4+
!!!!!!!!!!!!!!!!!!
5+
6+
.. include:: ../../def/vrs/SequenceReference.rst

0 commit comments

Comments
 (0)