Function Variant

Definition and Information Model

Warning

This data class is at a draft maturity level and may change significantly in future releases. Maturity levels are described in the GKS Maturity Model.

Computational Definition

A representation of the constraints for matching knowledge about function variants; e.g., gain-of-function or loss-of-function.

Information Model

The FunctionVariant is a Categorical Variant with at least two constraints:

  1. A Function Constraint.

  2. A Defining Allele Constraint, Defining Location Constraint, or Feature Context Constraint.

Examples

The following example Categorical Variants satisfy this Recipe:

Implementation Guidance

Constraints

Categorical Variants that are intended to represent Function Variants must contain at least two constraints. First, a Function Constraint is required to associate a Categorical Variant with a known functional impact.

Note

If your implementation also uses the Variant Annotation Specification, consider associating the Categorical Variant with a Genomic Knowledge Statement based on an Experimental Variant Functional Impact.

The functionConsequence attribute is required and is a MappableConcept, meaning that it should be represented using a term from an externally defined ontology. We recommend using descendant terms of the functional effect variant concept in the Sequence Ontology, such as:

Name

Code

SO Definition

SO Name

dominant negative variant

SO:0002052

A variant where the mutated gene product adversely affects the other (wild type) gene product.

dominant_negative_variant

gain of function

SO:0002053

A sequence variant whereby new or enhanced function is conferred on the gene product.

gain_of_function_variant

loss of function

SO:0002054

A sequence variant whereby the gene product has diminished or abolished function.

loss_of_function_variant

loss of heterozygosity

SO:0001786

A functional variant whereby the sequence alteration causes a loss of function of one allele of a gene.

loss_of_heterozygosity

functionally normal

SO:0002219

A sequence variant in which the function of a gene product is retained with respect to a reference.

functionally_normal

Second, a VRS Allele or Sequence Location can be associated with the Categorical Variant using a Defining Allele or Defining Location Constraint, respectively.

We recommend the following resources for constructing VRS objects:

  • The Variation Normalizer is a Python package and public REST instance that translates plain-text HGVS expressions (for example, “NM_004333.4:c.1799T>A”) or free text natural language input (for example, “BRAF V600E”) into Normalized VRS Allele objects. The /normalize endpoint will lift genomic coordinates to the preferred GRCh38 assembly and transcripts will use the transcript selection algorithm. Additionally, HGVS Dup Del Mode will be applied for deletions and duplications represented as HGVS expressions.

  • vrs-python is a Python package and reference implementation for VRS that can be used to generate VRS digests for an Allele, Sequence Location, Sequence Reference, and other VRS concepts.

  • SeqRepo provides access to reference sequences and can be used to obtain Sequence Reference information, such as names and aliases, when constructing Sequence Reference objects directly.

Note

While neither the moleculeType nor residueAlphabet are required attributes for a Sequence Reference, we strongly recommend populating them within your implementation to clearly communicate to users what type of sequence your SequenceReference exists on. Consider the following values, depending on the type of SequenceReference expressed:

Sequence reference type

moleculeType

residueAlphabet

Genomic

genomic

na

RNA (pre-mRNA)

RNA

na

mRNA

mRNA

na

Protein

protein

aa

Alternatively or in addition to a Defining Allele or Defining Location, a Feature Context Constraint can be applied to associate a Gene with a Categorical Variant. Within the Feature Context Constraint, the featureContext attribute is required and is a MappableConcept, meaning that it should be represented using a term from an externally defined ontology.

We recommend specifying conceptType as “Gene” and using a symbol from the HUGO Gene Nomenclature Committee (HGNC) as a primaryCoding.

The Gene Normalizer is a Python package and public REST instance that can be used to obtain Codings and Concept Mappings of gene concepts based on Ensembl, NCBI Gene, HGNC, and other data sources.

Note

Implementers use this constraint to represent genes, but it can also be used to represent protein markers, variant consequences, and other genomic features. If you are using this constraint for uses other than to represent genes, please let us know!

Members

When modeling a Function Variant, members may be populated with VRS Alleles or Sequence Location objects that satisfy:

As is the case with constructing VRS objects for usage within Constraints, we recommend the Variation Normalizer, vrs-python, and SeqRepo as resources for constructing VRS objects. Likewise, we recommend populating both the moleculeType and residueAlphabet attributes of the Sequence Reference for any Allele or Location listed as a member.

Warning

If representing a Function Variant with only a Feature Context Constraint to represent a gene, members may also be added based on the gene’s associated Sequence Location. Gene representation is an area of discussion amongst Genomic Knowledge Standards broadly.