Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

DOI Read the Docs tests

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

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.)


The VRS repo contains two kinds of tests. Basic smoketests in tests/ ensure that the schema is parseable and works with certain tools. These tests provide a basic sanity check during development.

Validation tests (in validation/) provide language-neutral tests for those implementing tools with VRS.

Using smoketests

The smoketests require python 3.8+. This is the recommended setup:

$ python3 -m venv venv
$ source venv/bin/activate
$ pip install -U setuptools pip
$ pip install -r requirements.txt
$ pytest