/vrs

Extensible specification for representing and uniquely identifying biological sequence variation

Primary LanguageJupyter NotebookApache License 2.0Apache-2.0

DOI Read the Docs

The GA4GH Variation Representation Specification provides a comprehensive framework for the computational representation of biological sequence variation. VRS is the result of a collaboration among contributors representing national information resource providers, major international public initiatives, and diagnostic testing laboratories.

VRS is licensed under the Apache License 2.0.

NOTE: VRS is under active development. See VR Project Roadmap.

Specific goals:

  • Develop common language- and protocol-neutral information models and nomenclature for biological sequence variation.
  • From the information models, develop data schemas. The current schema is defined in JSON Schema, but other formats are expected.
  • Provide algorithmic guidance and conventions to minimize representational ambiguity.
  • Define a globally unique computed identifier for covered data classes.
  • Develop validation tests to ensure consistency of implementations.

The VRS model is the product of the GA4GH Variation Representation group.

SEE ALSO: See vrs-python for an implementation and Jupyter notebooks.

Using the schema

The schema is available in the schema/ directory, in both yaml and json versions. It conforms to JSON Schema draft-07. For a list of libraries that support JSON schema, see JSON Schema>Implementations.

Contributing to the schema

VRS uses yaml as the source document for JSON Schema

To convert vrs.yaml to vrs.json:

make vrs.json

You'll probably have to pip install pyyaml first.

To watch for changes and update automatically:

make -C schema watch &

Contributing docs

The VR specification documentation is written in reStructuredText and located in docs/source/. Commits to this repo are built automatically at vrs.ga4gh.org.

To build documentation locally, type:

make -C docs clean watch &

Then, open docs/build/html/index.html. The above make command should build docs when source changes. (Some types of changes require recleaning and building.)