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:
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 |
To specify that VRS Alleles that are listed as members may be a translation of the Defining |
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
/normalizeendpoint 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
Allelethat is transcribed to the Defining Allele.An RNA (pre-mRNA) or mRNA
Allelethat 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.