Defining Allele Constraint
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
The defining allele and its associated relationships that are congruent with member variants.
Information Model
Some DefiningAlleleConstraint attributes are inherited from Constraint.
Field |
Flags |
Type |
Limits |
Description |
|---|---|---|---|---|
type |
string |
1..1 |
MUST be “DefiningAlleleConstraint” |
|
allele |
1..1 |
|||
relations |
⋮ | 0..m |
Defined relationships from which members relate to the defining allele. |
Examples
The following example Categorical Variants utilize this Constraint:
A representative example of this Constraint, from NM_004958.4(MTOR):c.5992_5993del (p.Met1998fs):
{
"type": "DefiningAlleleConstraint",
"allele": {
"id": "ga4gh:VA.0TMQdMT2OBisJ9FI4tkzaBtxGB7r8FfJ",
"type": "Allele",
"name": "NM_004958.4:c.5992_5993del",
"description": "VRS variation of NM_004958.4:c.5992_5993del, generated with the VICC Variation Normalizer (https://github.com/cancervariants/variation-normalization).",
"extensions": [
{
"name": "clinvar vcf",
"value": "1-11128043-CAT-C"
}
],
"digest": "0TMQdMT2OBisJ9FI4tkzaBtxGB7r8FfJ",
"expressions": [
{
"syntax": "spdi",
"value": "NC_000001.11:11128043:AT:"
},
{
"syntax": "hgvs.g",
"value": "NC_000001.11:g.11128044_11128045del"
},
{
"syntax": "hgvs.c",
"value": "NM_004958.4:c.5992_5993del"
},
{
"syntax": "hgvs.p",
"value": "NP_004949.1:p.Met1998fs"
}
],
"location": {
"id": "ga4gh:SL.gLe4d4Seuxn5fLCfO_2g34gF86vpGvo1",
"description": "Coding DNA (cDNA) positions 5992 to 5993 of the MTOR MANE Select coding transcript (refseq:NM_004958.4), corresponding to genomic positions 11128044 to 11128045 on chromosome 1 (refseq:NC_000001.11, GRCh38).",
"extensions": [
{
"name": "GRCh38 1-based, inclusive interval",
"value": "chr1:11128044-11128045",
"description": "Genomic positions 11128044 to 11128045 on chromosome 1 (refseq:NC_000001.11, GRCh38); 1-based, inclusive interval notation."
},
{
"name": "GRCh38 0-based, half-open interval",
"value": "chr1:11128043-11128045",
"description": "Genomic positions 11128043 to 11128045 on chromosome 1 (refseq:NC_000001.11, GRCh38); 0-based, half-open interval notation."
}
],
"type": "SequenceLocation",
"digest": "gLe4d4Seuxn5fLCfO_2g34gF86vpGvo1",
"sequenceReference": {
"id": "refseq:NM_004958.4",
"name": "NM_004958.4",
"description": "The MANE Select (GRCh38) coding transcript for MTOR.",
"aliases": [
"ensembl:ENST00000361445.9",
"ga4gh:SQ.QheGYEnKbwNpM3LulbPTBQhyBSyZwuYm"
],
"type": "SequenceReference",
"refgetAccession": "SQ.QheGYEnKbwNpM3LulbPTBQhyBSyZwuYm",
"residueAlphabet": "na"
},
"start": 6112,
"end": 6114,
"sequence": "AT"
},
"state": {
"type": "ReferenceLengthExpression",
"length": 0,
"sequence": "",
"repeatSubunitLength": 2
}
},
"relations": [
{
"type": "MappableConcept",
"primaryCoding": {
"code": "liftover_to",
"system": "ga4gh-gks-term:allele-relation"
}
},
{
"type": "MappableConcept",
"primaryCoding": {
"code": "transcribed_to",
"system": "http://www.sequenceontology.org",
"iris": [
"http://www.sequenceontology.org/browser/current_release/term/transcribed_to"
]
}
}
Implementation Guidance
This Constraint is used to describe a Categorical Variant using a VRS Allele object, such as defining a Canonical Allele or Protein Sequence Consequence.
allele
The allele attribute is required and must be a valid VRS Allele object. Constructing a VRS Allele requires a Sequence Location and a sequence state.
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, depending on the type of Allele expressed:
Allele type |
Recipe |
moleculeType |
residueAlphabet |
|---|---|---|---|
Genomic DNA |
genomic |
na |
|
RNA |
RNA |
na |
|
mRNA |
mRNA |
na |
|
Protein |
protein |
aa |
relations
The relations attribute is optional and is a MappableConcept, meaning that it should be represented using a term from a defined ontology. Relation terms describe how members of a Categorical Variant relate to the Defining Allele.
Note
Specific relations may be required to satisfy certain Recipes; currently the Canonical Allele, Categorical CNV, and Protein Sequence Consequence.
The following relation terms are some to consider using with this Constraint, depending on the Allele molecule type represented and which Recipe(s) you intend to satisfy:
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!
genomic
If you are modeling a genomic Allele, members may be the Defining Allele itself, the Defining Allele after liftover to another reference genome, an RNA or mRNA Allele transcribed from the Defining Allele, or a protein Allele that is a translation of the Defining Allele.
How the |
|
|---|---|
ga4gh-gks-term:allele-relation:self |
Use when the |
ga4gh-gks-term:allele-relation:liftover_to |
Use when the |
Use when the |
|
Use when the |
Warning
The specification currently incorrectly lists the directionality of the liftover term in the Canonical Allele Recipe.
RNA (pre-mRNA)
If you are modeling an RNA (pre-mRNA) Allele, members may be the Defining Allele itself, a projection of the Defining Allele on another RNA (pre-mRNA) transcript, a genomic Allele that is transcribed to the Defining Allele, a mRNA Allele that is processed from the Defining Allele, or a protein Allele that is a translation of the Defining Allele.
How the |
|
|---|---|
ga4gh-gks-term:allele-relation:self |
Use when the |
ga4gh-gks-term:allele-relation:projection_of |
Use when the |
Use when the |
|
Use when the |
|
Use when the |
mRNA
If you are modeling an mRNA Allele, members may be the Defining Allele itself, a projection of the Defining Allele on another mRNA transcript, a genomic Allele that is transcribed to the Defining Allele, an RNA (pre-mRNA) Allele that is processed into the Defining Allele, or a protein Allele that is a translation of the Defining Allele.
How the |
|
|---|---|
ga4gh-gks-term:allele-relation:self |
Use when the |
ga4gh-gks-term:allele-relation:projection_of |
Use when the |
Use when the |
|
Use when the |
|
Use when the |
protein
If you are modeling a protein sequence Allele, members may be the Defining Allele itself, a projection of the Defining Allele on another protein isoform, a genomic Allele that is transcribed to the Defining Allele, or an RNA or mRNA Allele that translates to the Defining Allele.
How the |
|
|---|---|
ga4gh-gks-term:allele-relation:self |
Use when the |
ga4gh-gks-term:allele-relation:projection_of |
Use when the |
Use when the |
|
Use when the |