Skip to content

Commit

Permalink
reorganized and added class pages to RTD spec.
Browse files Browse the repository at this point in the history
  • Loading branch information
larrybabb committed Nov 25, 2024
1 parent 1b6104a commit bf2ea9a
Show file tree
Hide file tree
Showing 35 changed files with 325 additions and 78 deletions.
35 changes: 34 additions & 1 deletion docs/source/appendices/design_decisions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,37 @@ specification. As these trade-offs may not be apparent to outside
readers, this section highlights the most significant ones and the
rationale for our design decisions, including the following.

Check back on this page for more content as development progresses!
*Check back on this page for more content as development progresses!*

Machine Readable Specifications
###############################

The machine readable Cat-VRS is written using `JSON Schema
<https://json-schema.org/>`_.

The schema itself is written in YAML (|vrs_yaml|) and converted to individual
JSON files for each class in the schema (|vrs_json|).

Contributions to the schema MUST be written in the YAML document.

General Principles
##################

* **Error handling is intentionally unspecified and delegated to
implementation.** Cat-VRS provides foundational data types that
enable significant flexibility. Except where required by this
specification, implementations may choose whether and how to
validate data. For example, implementations MAY choose to validate
that particular combinations of objects are compatible, but such
validation is not required.

* **Cat-VRS uses** `snake_case
<https://simple.wikipedia.org/wiki/Snake_case>`__ **to represent
compound words.** Although the schema is currently JSON-based (which
would typically use camelCase), Cat-VRS itself is intended to be neutral
with respect to languages and database.

* **Optional attributes start with an underscore.** Optional
attributes are not part of the value object. Such attributes are
not considered when evaluating equality or creating computed
identifiers.
11 changes: 8 additions & 3 deletions docs/source/appendices/faq.rst
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
.. _faq:

Frequently (Asked and) Answered Questions
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Frequently Asked Questions
!!!!!!!!!!!!!!!!!!!!!!!!!!

How can I learn more about VRS?
See |catvrs_discussion|

How can I learn more about VRS? How can I get involved?
How can I get involved?
See :ref:`getting-involved`.


Expand All @@ -15,3 +17,6 @@ How can I learn more about VRS? How can I get involved?






1 change: 0 additions & 1 deletion docs/source/appendices/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ Appendices

design_decisions
faq
glossary



Expand Down
56 changes: 56 additions & 0 deletions docs/source/concepts/catvrs_model.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
.. _catvrs_model:

Cat-VRS Model
@@@@@@@@@@@@@

The following data types classes are used by Cat-VRS but maintained by either the VRS subgroup
or across the GKS Work Stream as core data classes.

.. _categorical_variant:

Categorical Variant
###################

The Categorical Variant class is the primary class in Cat-VRS. It
depends on one or more Constraint elements to create a complete
description of a categorical variant.

.. include:: ../def/cat-vrs/CategoricalVariant.rst

.. _constraint:

Constraint
##########

The *Constraint* class is an abstract class that is the parent of all
other constraint classes. A constraint is a rule or set of rules that
must be satisfied for a CategoricalVariant to be considered valid.
Constraint sub classes are only used in CategoricalVariant objects.

.. _defining_allele_constraint:

DefiningAlleleConstraint
########################

.. include:: ../def/cat-vrs/DefiningAlleleConstraint.rst

.. _defining_location_constraint:

DefiningLocationConstraint
##########################

.. include:: ../def/cat-vrs/DefiningLocationConstraint.rst

.. _copy_count_constraint:

CopyCountConstraint
###################

.. include:: ../def/cat-vrs/CopyCountConstraint.rst

.. _copy_change_constraint:

CopyChangeConstraint
####################

.. include:: ../def/cat-vrs/CopyChangeConstraint.rst
6 changes: 6 additions & 0 deletions docs/source/concepts/imported/Allele.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.. _Allele:

Allele
!!!!!!

.. include:: ../../def/vrs/Allele.rst
6 changes: 6 additions & 0 deletions docs/source/concepts/imported/Coding.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.. _Coding:

Coding
!!!!!!

.. include:: ../../def/gks-core/Coding.rst
6 changes: 6 additions & 0 deletions docs/source/concepts/imported/ConceptMapping.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.. _ConceptMapping:

ConceptMapping
!!!!!!!!!!!!!!

.. include:: ../../def/gks-core/ConceptMapping.rst
6 changes: 6 additions & 0 deletions docs/source/concepts/imported/CopyNumberChange.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.. _CopyNumberChange:

Copy Number Change
!!!!!!!!!!!!!!!!!!

.. include:: ../../def/vrs/CopyNumberChange.rst
6 changes: 6 additions & 0 deletions docs/source/concepts/imported/CopyNumberCount.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.. _CopyNumberCount:

Copy Number Count
!!!!!!!!!!!!!!!!!

.. include:: ../../def/vrs/CopyNumberCount.rst
6 changes: 6 additions & 0 deletions docs/source/concepts/imported/Element.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.. _Element:

Element
!!!!!!

.. include:: ../../def/gks-core/Element.rst
6 changes: 6 additions & 0 deletions docs/source/concepts/imported/Entity.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.. _Entity:

Entity
!!!!!!

.. include:: ../../def/gks-core/Entity.rst
6 changes: 6 additions & 0 deletions docs/source/concepts/imported/Expression.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.. _Expression:

Expression
!!!!!!!!!!

.. include:: ../../def/vrs/Expression.rst
6 changes: 6 additions & 0 deletions docs/source/concepts/imported/Extension.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.. _Extension:

Extension
!!!!!!!!!

.. include:: ../../def/gks-core/Extension.rst
6 changes: 6 additions & 0 deletions docs/source/concepts/imported/Location.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.. _Location:

Location
!!!!!!!!

.. include:: ../../def/vrs/Location.rst
6 changes: 6 additions & 0 deletions docs/source/concepts/imported/MappableConcept.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.. _MappableConcept:

MappableConcept
!!!!!!!!!!!!!!!

.. include:: ../../def/gks-core/MappableConcept.rst
6 changes: 6 additions & 0 deletions docs/source/concepts/imported/Range.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.. _Range:

Range
!!!!!

.. include:: ../../def/vrs/Range.rst
6 changes: 6 additions & 0 deletions docs/source/concepts/imported/SequenceLocation.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.. _SequenceLocation:

Sequence Location
!!!!!!!!!!!!!!!!!

.. include:: ../../def/vrs/SequenceLocation.rst
6 changes: 6 additions & 0 deletions docs/source/concepts/imported/Variation.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.. _Variation:

Variation
!!!!!!!!!

.. include:: ../../def/vrs/Variation.rst
6 changes: 6 additions & 0 deletions docs/source/concepts/imported/code.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.. _code:

code
!!!!

.. include:: ../../def/gks-core/code.rst
37 changes: 37 additions & 0 deletions docs/source/concepts/imported/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
.. _imported:

Imported Data Types & Classes
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

The following data types classes are used by Cat-VRS but maintained by either the VRS subgroup
or across the GKS Work Stream as core data classes.

VRS
!!!

.. toctree::
:titlesonly:

Variation
Allele
CopyNumberCount
CopyNumberChange
Location
SequenceLocation
Expression
Range

GKS Core
!!!!!!!!

.. toctree::
:titlesonly:

Entity
Element
Extension
MappableConcept
ConceptMapping
Coding
code
iriReference
6 changes: 6 additions & 0 deletions docs/source/concepts/imported/iriReference.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.. _iriReference:

iriReference
!!!!!!!!!!!!

.. include:: ../../def/gks-core/iriReference.rst
22 changes: 22 additions & 0 deletions docs/source/concepts/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
Data Model
!!!!!!!!!!

At the Cat-VRS top of the Cat-VRS data model is the Categorical Variant class.
The Categorical Variant is composed of one or more constraints that define The
Categorical Variant. The Constraint subclasses are used to define what we refer
to as **Recipes**. Recipes are pre-defined Categorical Variants with specific
constraints that represent standard categorical variants that have been identified.
The following sections describe the Cat-VRS base classes (Categorical Variant and
Constraint subclasses), the standard recipes, and the additional *Imported* data
class and types from VRS 2.0 and GKS Core 1.0 that support the Cat-VRS data model.

- :ref:`catvrs_model`: models that describe categorical variation and constraints
- :ref:`recipes`: models that describe categorical variation recipes with specific constraints
- :ref:`imported`: imported data types and classes that support the above models

.. toctree::
:hidden:

catvrs_model
recipes
imported/index
34 changes: 34 additions & 0 deletions docs/source/concepts/recipes.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
.. _recipes:

Recipes
@@@@@@@

A *Recipe* is not a class. It is a term defined to differentiate between a
specialized CategoricalVariant and a general CategoricalVariant. These
recipes are pre-defined CategoricalVariants with specific constraints
that represent standard categorical variants that have been identified
in variant knowledgebases and registries. Implementers are encouraged
to use the recipes that exist whenever possible, but are free to create
new recipes as needed in a given implementation. New recipes should be
shared with the community on the |catvrs_discussion| board.

.. _canonical_allele:

CanonicalAllele
!!!!!!!!!!!!!!!

.. include:: ../def/cat-vrs/CanonicalAllele.rst

.. _categorical_cnv:

CategoricalCnv
!!!!!!!!!!!!!!

.. include:: ../def/cat-vrs/CategoricalCnv.rst

.. _protein_sequence_consequence:

ProteinSequenceConsequence
!!!!!!!!!!!!!!!!!!!!!!!!!!

.. include:: ../def/cat-vrs/ProteinSequenceConsequence.rst
1 change: 0 additions & 1 deletion docs/source/def-core

This file was deleted.

1 change: 0 additions & 1 deletion docs/source/def-profiles

This file was deleted.

1 change: 1 addition & 0 deletions docs/source/def/cat-vrs
1 change: 1 addition & 0 deletions docs/source/def/gks-core
1 change: 1 addition & 0 deletions docs/source/def/vrs
Loading

0 comments on commit bf2ea9a

Please sign in to comment.