Skip to content

Commit

Permalink
Merge branch 'reconcile-dev-branches' into 1.x
Browse files Browse the repository at this point in the history
  • Loading branch information
larrybabb committed Sep 10, 2024
2 parents ca65cd0 + 3df5dcd commit a20bb88
Show file tree
Hide file tree
Showing 57 changed files with 1,185 additions and 1,341 deletions.
29 changes: 29 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Contributing
As a product of the Genomic Knowledge Standards Workstream of GA4GH, the development of the projects and contributions of this repository are expected to hew relatively close to the standards utilized in [the VRS development process]((https://vrs.ga4gh.org/en/stable/appendices/development_process.html)). The additional information presented here are guidelines for issues, branches, commits, and pull requests. Before adding documentation, please also review the [docs style guide](docs/source/appendices/style.rst).

## Discussions
[Discussions](https://github.com/ga4gh/cat-vrs/discussions) are for discussion, design decisions, bug
reports, and feature requests. When creating an issue, use sentence case
for the issue title and avoid the use of periods at the end of titles.

## Issues
[Issues](https://github.com/ga4gh/cat-vrs/issues) are for used to track additions, bugs fixes, or other issues that are intended to be implmented, often as the outcome of a [discussion](https://github.com/ga4gh/cat-vrs/discussions). When creating an issue, use sentence case for the issue title and avoid the use of periods at the end of titles.

## Branches
[Branches](https://github.com/ga4gh/cat-vrs/branches) are used for
versioning and feature additions. Version branches are to be created by
repo administrators only. Feature branches must be associated with an
open issue describing the desired feature, and named after the issue
as <issue number>-<short-description>. For example, the associated
branch for [issue 15](https://github.com/ga4gh/cat-vrs/tree/Issue-15) could
be `15-bug fix`.

## Pull Requests
[Pull Requests](https://github.com/ga4gh/cat-vrs/pulls) (PRs) for new
features should target the `main` branch. For version
patches, the PR should target the appropriate minor version branch.
PRs must be approved by at least one project maintainer before they may
be merged. PR titles must reflect the issue associated with the PR. For
example, the associated PR title for
[issue 15](https://github.com/ga4gh/cat-vrs/tree/Issue-15) would be
`#15: fix Bug`.
60 changes: 60 additions & 0 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Contributors

|Name | Affiliations |
|-----------------| ------------ |
|Daniel Puthawala | [[1](#1)] |
|Alex H Wagner | [[1](#1)][[2](#2)] |
|Lawrence Babb | [[3](#3)] |
|Wesley A Goar | [[1](#1)] |
|Kori Kuzma | [[1](#1)] |
|James S Stevenson | [[1](#1)] |
|Catherine Procknow | [[4](#4)] |
|Mrinal Thomas | [[4](#4)] |
|Robert H Dolin | [[5](#5)] |
|Brendan Reardon | [[6](#6)] |
|Robert R Freimuth | [[7](#7)] |
|Salem Bajjali | [[7](#7)] |
|Malachi Griffith | [[8](#8)] |
|Tristan Nelson | [[9](#9)] |
|Andrew D Yates | [[10](#10)] |
|Beth A Pitel | [[11](#11)] |
|Parijat Kundu | [[12](#1)] |
<!-- Add yourself below
| | |
| | |
| | |
| | | -->




See also
[Cat-VRS contributors](https://github.com/ga4gh/cat-vrs/graphs/contributors)


# Affiliations

## 1
The Steve and Cindy Rasmussen Institute for Genomic Medicine, Nationwide Children's Hospital, Columbus, OH 43215, USA
## 2
Department of Pediatrics, The Ohio State University College of Medicine, Columbus, OH 43210, USA
## 3
Medical and Population Genetics, Broad Institute of MIT and Harvard, Cambridge, MA 02142, USA
## 4
Epic Systems, Madison, WI, USA
## 5
Elimu Informatics
## 6
Dana-Farber Cancer Institute, Boston, MA
## 7
Center for Individualized Medicine, Division of Digital Health Sciences, Mayo Clinic, Rochester, MN 55905, USA
## 8
Washington University School of Medicine, St. Louis, MO 63108, USA
## 9
Gesinger Health, Danville, PA 17822, USA
## 10
European Molecular Biology Laboratory, European Bioinformatics Institute, Wellcome Genome Campus, Hinxton, Cambridge, CB10 1SD, United Kingdom
## 11
Mayo Clinic, Department of Laboratory Medicine and Pathology
# 12
Velsera
66 changes: 21 additions & 45 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,55 +1,31 @@
# Cat-VRS
# Categorical Variation Representation Specification (Cat-VRS)

[A terminology and data model for describing categorical variation concepts](https://vrsatile.readthedocs.io/en/latest/catvars/index.html), built on top of the
[GA4GH Variation Representation Specification (VRS)](https://vrs.ga4gh.org).
[![Read the Docs](https://img.shields.io/readthedocs/vr-spec/1.1)](https://cat-vrs.readthedocs.io/en/latest/)

![image](docs/source/images/cat-vrs-transparent-bg.png)

## Using the schema

The schema is available in the [schema/](./schema/) directory, in both yaml and json versions.
It conforms to JSON Schema Draft 2020-12. For a list of
libraries that support JSON schema, see
[JSONSchema>Tools](https://json-schema.org/tools).

## Installing for development

Fork the repo at <https://github.com/ga4gh/cat-vrs>.

git clone --recurse-submodules git@github.com:YOUR_GITHUB_ID/cat-vrs.git
cd cat-vrs
make devready
source venv/3.12/bin/activate
The [GA4GH](https://www.ga4gh.org/) [Categorical Variation Representation Specification](https://www.ga4gh.org/product/categorical-variation-catvar/) provides a [A terminology and data model for describing categorical variation concepts](https://vrsatile.readthedocs.io/en/latest/catvars/index.html), built on top of the [GA4GH Variation Representation Specification (VRS)](https://vrs.ga4gh.org). Cat-VRS is the result of a collaboration among [contributors](CONTRIBUTORS.md) representing national information resource providers, major international public initiatives, and bioinformatics laboratories.

If you already cloned the repo, but forgot to include `--recurse-submodules` you can run:
Cat-VRS is licensed under the [Apache License 2.0](LICENSE).

git submodule update --init --recursive

## Contributing to the schema
# Test Set

Cat-VRS uses [cat-vrs-source.yaml](./schema/cat-vrs/cat-vrs-source.yaml) as the source
document for JSON Schema.
Categorical variant classes intended to be covered by this specification can be [appended to this CatVar test set document](https://docs.google.com/document/d/1aV-SqxdmuRN_EKvafzTSe0GoGC9yOzPsjrdWE0LXqYc/edit) to direct future specification development efforts.

To create the corresponding def and json files after making changes to the source
document, from the root directory:

cd schema
make all

## Contributing to the docs

The Cat-VRS specification documentation is written in reStructuredText and located in
[docs/source](docs/source/). Commits to this repo are built automatically at
<https://vrsatile.readthedocs.io/en/latest/catvars/index.html#>.

To build documentation locally, you must install [entr](https://eradman.com/entrproject/):

brew install entr

Then from the root directory:
![image](docs/source/images/cat-vrs-transparent-bg.png)

cd docs
make clean watch &

Then, open [docs/build/html/index.html](./docs/build/html/index.html). The above make
command should build docs when source changes. (Some types of changes require recleaning and building.)
# How to set up a venv and update the schemata from the source.yaml files: (Guide for VSCode)

1. Use the following code to install the venv in the root directory that contains the requirements.txt file. Note that requirements.txt may be hidden and not show up with `ls`, but it should show up if you ise `ls -a` to list hidden files.
> `python3 -m venv venv`
>
> `source venv/bin/activate`
>
> `pip install -U setuptools pip`
>
> `pip install -r .requirements.txt`
2. Then run the following code to pull in all of the submodule content:
> `git submodule update --init --recursive`
3. The venv should be all set up to update the `.rst` files as they are updated. `.rst` files inside the `docs/source` directory are static and can be edited directly. (you will need to install aan `.rst`-compatible extension to view the outputs inside the editor, however. I currently have both reStructuredText and RST Preview installed.) The `.rst` and `.json` files for the schemata are generated by making edits to the `-source.yaml` files, and thenrunning the `Makefile`. To run the `Makefile`, `cd` into the `cat-vrs/schema` directory which contains it and run the following line of code to update everything:
> `make all`
80 changes: 80 additions & 0 deletions docs/source/appendices/style.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@

This page shows style conventions used in these docs. It will be
built with other pages and you can view it (at
docs/build/html/style.html). Unfortunately, because it's intentionally
not included in the published docs, it generates the annoying warning
"WARNING: document isn't included in any toctree".


Headings
!!!!!!!!

ReST heading levels are determined by the character used beneath text.
Within a file, each new character creates a new heading level.

This documentation uses the characters ``!``, ``@``, ``#``, and ``$``.
That is, the first four shifted digit characters across a US keyboard.

For example::

A Heading
!!!!!!!!!

The first subheading
@@@@@@@@@@@@@@@@@@@@

The first subsubeheading
########################

The second subheading
@@@@@@@@@@@@@@@@@@@@@

Another Heading
!!!!!!!!!!!!!!!


To aid comprehension, the Text Styles section source looks like this::

.. _text-styles-target:
Text Styles
!!!!!!!!!!!


.. _text-styles-target:

Text Styles
!!!!!!!!!!!

A cheat sheet for making references, links, and literals in sphinx.

* For external links, use ``target_``.

* See ``epilog.rst`` for pre-defined links.
* e.g, ``Base64_`` renders as Base64_ and ```Compact URI (CURIE)`_``
renders as `Compact URI (CURIE)`_.

* *Within* VRS documentation, use ``.. _refname:`` to create link
target, and use ``:ref:`refname``` to reference it.

* Create explicit link targets for all headings.
* Do not rely on the implicit targets created by sphinx because
changing the heading will break the link.
* e.g., ``:ref:`text-styles-target``` renders as
:ref:`text-styles-target` and uses the heading text as
the link name.
* e.g., ``:ref:`Alleles <Allele>``` renders as :ref:`Alleles
<Allele>`, with custom link text.
* Use class names verbatim when making link targets (e.g.,
``.. _SequenceLocation:``). Use (lowercase) kebab-case for other
sections (e.g., ``.. computed-identifiers:``).

* Use \* for attributes.

* ``*attribute*`` renders as *attribute*.
* e.g., The :ref:`Allele` *location* attribute must be set.

* Use double backticks for literals.

* ````literal```` renders as ``literal``
* e.g., The :ref:`Allele` *type* attribute must be set to ``"Allele"``.
81 changes: 43 additions & 38 deletions examples/canonicalAllele-ex1.yaml
Original file line number Diff line number Diff line change
@@ -1,44 +1,49 @@
id: clinvar:662001
label: NM_004958.4(MTOR):c.5992_5993del (p.Met1998fs)
type: CanonicalAllele
definingContext:
id: ga4gh:VA.PN-6_l2_yI1UPBRCtFnWkR52iZXKVJ8b
type: Allele
digest: PN-6_l2_yI1UPBRCtFnWkR52iZXKVJ8b
label: 'NC_000001.11:11128043:AT:'
location:
id: ga4gh:SL.5-SKfXZ941W7JbZW3UmQKtijyUfd6d7z
type: SequenceLocation
digest: 5-SKfXZ941W7JbZW3UmQKtijyUfd6d7z
start: 11128043
end: 11128045
sequenceReference:
id: NC_000001.11
type: SequenceReference
refgetAccession: SQ.Ya6Rs7DHhDeg7YaOSg1EoNi3U_nQ9SvO
residueAlphabet: na
type: CategoricalVariant
constraints:
- type: DefiningContextConstraint
definingContext:
id: ga4gh:VA.PN-6_l2_yI1UPBRCtFnWkR52iZXKVJ8b
type: Allele
digest: PN-6_l2_yI1UPBRCtFnWkR52iZXKVJ8b
label: 'NC_000001.11:11128043:AT:'
location:
id: ga4gh:SL.5-SKfXZ941W7JbZW3UmQKtijyUfd6d7z
type: SequenceLocation
digest: 5-SKfXZ941W7JbZW3UmQKtijyUfd6d7z
start: 11128043
end: 11128045
sequenceReference:
id: NC_000001.11
type: SequenceReference
refgetAccession: SQ.Ya6Rs7DHhDeg7YaOSg1EoNi3U_nQ9SvO
residueAlphabet: na
extensions:
- name: assembly
value: GRCh38
- name: chromosome
value: '1'
state:
length: 0
repeatSubunitLength: 2
sequence: ''
type: ReferenceLengthExpression
expressions:
- syntax: spdi
value: 'NC_000001.11:11128043:AT:'
- syntax: hgvs.g
value: NC_000001.11:g.11128044_11128045del
- syntax: gnomad
value: 1-11128043-CAT-C
extensions:
- name: assembly
value: GRCh38
- name: chromosome
value: '1'
state:
length: 0
repeatSubunitLength: 2
sequence: ''
type: ReferenceLengthExpression
expressions:
- syntax: spdi
value: 'NC_000001.11:11128043:AT:'
- syntax: hgvs.g
value: NC_000001.11:g.11128044_11128045del
- syntax: gnomad
value: 1-11128043-CAT-C
extensions:
- name: clinvar vcf
value: 1-11128043-CAT-C
- name: clinvar hgvs type
value: genomic, top-level
- name: clinvar vcf
value: 1-11128043-CAT-C
- name: clinvar hgvs type
value: genomic, top-level
relations:
- sequence_liftover
- transcript_projection
mappings:
- coding:
code: CA915941124
Expand Down
25 changes: 14 additions & 11 deletions examples/categoricalCnv-ex1.yaml
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
id: clinvar:151061
type: CategoricalCnv
type: CategoricalVariant
label: GRCh38/hg38 7p22.1(chr7:5905831-6014161)x3
copies: 3
location:
type: SequenceLocation
start: [null, 5945462]
end: [6053792, null]
sequenceReference:
id: NC_000007.13
type: SequenceReference
refgetAccession: SQ.Ya6Rs7DHhDeg7YaOSg1EoNi3U_nQ9SvO
residueAlphabet: na
constraints:
- type: CopyCountConstraint
copies: 3
- type: DefiningContextConstraint
definingContext:
type: SequenceLocation
start: [null, 5945462]
end: [6053792, null]
sequenceReference:
id: NC_000007.13
type: SequenceReference
refgetAccession: SQ.Ya6Rs7DHhDeg7YaOSg1EoNi3U_nQ9SvO
residueAlphabet: na
extensions:
- name: vrs processing errors
value: "NC_000007.14:g.(?_5905831)_(6014161_?)dup: char 26: expected one of '=', 'con', 'copy', 'del', 'dup', 'ins', or 'inv'"
Expand Down
Loading

0 comments on commit a20bb88

Please sign in to comment.