Defining Location 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 location and its associated relationships that are congruent with member locations.
Information Model
Some DefiningLocationConstraint attributes are inherited from Constraint.
Field |
Flags |
Type |
Limits |
Description |
|---|---|---|---|---|
type |
string |
1..1 |
MUST be “DefiningLocationConstraint” |
|
location |
1..1 |
|||
relations |
⋮ | 0..m |
Defined relationships from which members relate to the defining location. |
|
matchCharacteristic |
1..1 |
A characteristic of the location that is used to match the defining location to member locations. |
Examples
The following example Categorical Variants utilize this Constraint:
A representative example of this Constraint, from GRCh38/hg38 7p22.1(chr7:5905831-6014161)x3 (copy count):
{
"type": "DefiningLocationConstraint",
"location": {
"id": "ga4gh:SL.LChpEzYZaMug85TUqJUbT4MYgVk8vuQ7",
"description": "Genomic positions 5905831 to 6014161 on chromosome 7 (refseq:NC_000007.14, GRCh38).",
"extensions": [
{
"name": "GRCh38 1-based, inclusive interval",
"value": "chr7:5905831-6014161",
"description": "Genomic positions 5905831 to 6014161 on chromosome 7 (refseq:NC_000007.14, GRCh38); 1-based, inclusive interval notation."
},
{
"name": "GRCh38 0-based, half-open interval",
"value": "chr7:5905830-6014161",
"description": "Genomic positions 5905830 to 6014161 on chromosome 7 (refseq:NC_000007.14, GRCh38); 0-based, half-open interval notation."
}
],
"type": "SequenceLocation",
"digest": "LChpEzYZaMug85TUqJUbT4MYgVk8vuQ7",
"sequenceReference": {
"id": "refseq:NC_000007.14",
"name": "NC_000007.14",
"description": "Reference sequence for GRCh38 chromosome 7.",
"aliases": [
"GRCh38:7",
"GRCh38:chr7",
"ga4gh:SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul"
],
"type": "SequenceReference",
"refgetAccession": "SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul",
"residueAlphabet": "na"
},
"start": [
null,
5905830
],
"end": [
6014161,
null
]
},
"relations": [
{
"type": "MappableConcept",
"primaryCoding": {
"code": "liftover_to",
"system": "ga4gh-gks-term:allele-relation"
}
}
],
"matchCharacteristic": {
"type": "MappableConcept",
"primaryCoding": {
"code": "is_within",
"system": "ga4gh-gks-term:location-match"
}
Implementation Guidance
This Constraint is used to describe a Categorical Variant using a VRS Sequence Location object, such as defining a specific exon or genomic segment.
location
The location attribute is required and must be a valid VRS Sequence Location.
We recommend the following resources for constructing Sequence Location objects:
vrs-python is a Python package and reference implementation for VRS that can be used to generate VRS digests.
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 upon. Consider the following values, depending on the type of SequenceReference expressed:
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.
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 Sequence Location.
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:
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!
How the |
|
|---|---|
ga4gh-gks-term:allele-relation:self |
Use when the |
ga4gh-gks-term:allele-relation:liftover_to |
Use when the |
ga4gh-gks-term:allele-relation:projection_of |
Use when the |
matchCharacteristic
The matchCharacteristic attribute is required within a Defining Location Constraint and is a MappableConcept, meaning that it should be represented using a term from an ontology. This attribute describes how a member’s Sequence Location must relate to the Defining Sequence Location in order to satisfy the constraint.
Note
matchCharacteristics are definitional and thus do alter the scope of the Categorical Variant’s definition. In other words, they do restrict which variants satisfy the Categorical Variant’s constraints.
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!
Rationale |
|
|---|---|
ga4gh-gks-term:location-match:is_within |
Used when the |