Protein Sequence Consequence

Definition and Information Model

Note

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

Computational Definition

A change that occurs in a protein sequence as a result of genomic changes. Due to the degenerate nature of the genetic code, there are often several genomic changes that can cause a protein sequence consequence. The protein sequence consequence, like a Canonical Allele, is defined by an Allele that is representative of a collection of congruent Protein Alleles that share the same altered codon(s).

Information Model

A ProteinSequenceConsequence is a Categorical Variant with exactly one constraint:

  1. A Defining Allele Constraint with the .relations array containing only a translation_of code. This constraint MUST refer to a protein variant for the allele.

Examples

The following example Categorical Variants satisfy this Recipe:

Implementation Guidance

Constraints

Categorical Variants that are intended to represent Protein Sequence Consequences must only contain the Defining Allele Constraint, with an Allele on a protein Sequence Reference and the following required codings specified as relations:

Warning

Some terms use the system ga4gh-gks-term. This is an internally controlled vocabulary used specifically within the Categorical Variant Representation Specification. We may add more terms in the future. If you would like to recommend a new term, please open a Discussion to suggest one!

Code

System

Rationale

translation_of

http://www.sequenceontology.org

To specify that VRS Alleles that are listed as members may be a translation of the Defining Allele.

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 Allele exists on. Consider the following values for the Defining Allele that is intended to be represented as a Protein Sequence Consequence:

Sequence reference type

moleculeType

residueAlphabet

Protein

protein

aa

Members

When modeling a Protein Sequence Consequence, members may be populated with VRS Allele objects that are:

  • The Defining Allele itself

  • A projection of the Defining Allele on another protein isoform.

  • A genomic Allele that is transcribed to the Defining Allele.

  • An RNA (pre-mRNA) or mRNA Allele that translates to the Defining Allele.

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

Sequence reference type

moleculeType

residueAlphabet

Genomic

genomic

na

RNA

RNA

na

mRNA

mRNA

na

Protein

protein

aa

For additional Implementation Guidance, please visit VRS’ page for the Sequence Location concept.