mavehgvs is the Python reference implementation of the MAVE-HGVS variant representation standard, a strict subset of HGVS, used primarily for clinical genomics.
MAVE-HGVS is a strict subset of the HGVS Sequence Variant Nomenclature, version 20.05. HGVS nomenclature is comprehensive and very expressive and consequently includes a lot of syntax that is not needed to represent variants from Multiplexed Assay of Variant Effect (MAVE) data and makes the variant strings more challenging to parse.
While packages exist for parsing HGVS (most notably the biocommons hgvs package, they are intended for use in human genetics and rely on sequence databases and reference sequence (called "target sequence" for MAVE-HGVS), which are not always available for or relevant for multiplexed assays.
MAVE-HGVS is an attempt to define an easy-to-parse subset of the HGVS nomenclature that captures those variants that occur in MAVE datasets, while excluding many variant types that are unlikely to be found. Importantly, the mavehgvs implementation does not rely on external sequence databases or identifiers.
MAVE-HGVS supports DNA, RNA, and protein variants. MAVE-HGVS supports a subset of HGVS variants including:
- substitutions
- deletions
- duplications
- insertions
- frame shifts
Many HGVS variants are unsupported including:
- inversions
- conversions
- extensions
- changes in methylation state
- RNA fusion transcripts
- mosaicism
- chimerism
- variants with uncertain consequence
- variants in trans or unknown phase
- complex variants (e.g. translocations)
For further details, including example variants, see the specification in the package documentation.
Install mavehgvs from pip using:
pip3 install mavehgvs
To set up the package for development purposes, include the optional dependencies and install pre-commit:
pip3 install mavehgvs[dev]
pre-commit install
To report a problem or request a new feature with either the mavehgvs package or the MAVE-HGVS standard, please use the GitHub issue tracker.