Beacon VQS Requests¶
The VQSrequest
type represents the generic collection of variant parameters
supported in Beacon v2+ requests. These include parameters with close alignment
to VRS v2 concepts and replacing some Beacon v1/v2 generics with tighter
definitions (e.g. referenceAccession
instead of referenceName
and accession
or copyChange
for a specific subset of former variantType
values) but also
keep some conceptsm beyond VRS scope or specifically geared towards query
applications (geneId
, sequenceLength
)
For the parameter definitions please see the requestParameterComponents
page.
VQSrequest Parameters¶
requestProfile
: ./requestParameterComponents.yaml#/$defs/RequestProfileId¶
referenceAccession
: ./requestParameterComponents.yaml#/$defs/RefgetAccession¶
start
: ./requestParameterComponents.yaml#/$defs/SequenceStart¶
end
: ./requestParameterComponents.yaml#/$defs/SequenceEnd¶
sequence
: ./requestParameterComponents.yaml#/$defs/Sequence¶
copyChange
: ./requestParameterComponents.yaml#/$defs/CopyChange¶
adjacencyAccession
: ./requestParameterComponents.yaml#/$defs/AdjacencyAccession¶
adjacencyStart
: ./requestParameterComponents.yaml#/$defs/AdjacencyStart¶
adjacencyEnd
: ./requestParameterComponents.yaml#/$defs/AdjacencyEnd¶
repeatSubunitCount
: ./requestParameterComponents.yaml#/$defs/RepeatSubunitCount¶
repeatSubunitLength
: ./requestParameterComponents.yaml#/$defs/RepeatSubunitLength¶
geneId
: ./requestParameterComponents.yaml#/$defs/GeneId¶
aminoacidChange
: ./requestParameterComponents.yaml#/$defs/AminoacidChange¶
genomicAlleleShortForm
: ./requestParameterComponents.yaml#/$defs/GenomicAlleleShortForm¶
sequenceLength
: ./requestParameterComponents.yaml#/$defs/SequenceLength¶
vrsType
: ./requestParameterComponents.yaml#/$defs/VRStype¶
genomicFeatures
: ./requestParameterComponents.yaml#/$defs/GenomicFeature¶
phenoClinicEffects
: ./requestParameterComponents.yaml#/$defs/PhenoClinicEffect¶
Beacon v2+/VQS "VRSified" Request Examples¶
Copy number gains involving the whole locus chr2:54,700,000-63,900,000¶
Solution for VQSrequest
using start
and end
ranges (VQScopyChangeRequest
)¶
The query has to indicate the involved genomic region by positions as well as the type of change. Here, matched duplication events start 5` of the region and end 3` of it. For capturing any event upt to the complete chromosome duplication this requires knowledge about the maximum value (i.e. chromosome base length; using a random very large number might fail depending on the implementation).
The example uses "copyChange": "EFO:0030070"
for copy number gain
as specified in the
VRS definitions.
Request¶
-
requestProfile
:VQScopyChangeRequest
-
referenceAccession
:refseq:NC_000002.12
-
start
:0
54700000
-
end
:63900000
242193529
-
copyChange
:EFO:0030070
-
vrsType
:CopyNumberChange
GET query string¶
?requestProfile=VQScopyChangeRequest&referenceAccession=refseq:NC_000002.12&start=0,54700000&end=63900000,242193529©Change=EFO:0030070&vrsType=CopyNumberChange
POST query component¶
{
"copyChange": "EFO:0030070",
"end": [
63900000,
242193529
],
"referenceAccession": "refseq:NC_000002.12",
"requestProfile": "VQScopyChangeRequest",
"start": [
0,
54700000
],
"vrsType": "CopyNumberChange"
}
Focal high-level deletion involving the CDKN2A locus¶
Solution for VQSrequest
using start
and end
ranges (VQScopyChangeRequest
)¶
To match deletion variants overlapping the CDKN2A gene's coding region (CDR) with
at least a single base, but limited to "focal" hits (here i.e. <= ~2Mbp in size)
a bracket query is constructed where the start
range goes from ~1Mb 5\'
of the CDKN2A CDR until the end of the CDR and the end
range goes from the
start of the CDR to ~1Mb 3\' of the gene.
The query uses "copyChange": "EFO:0020073"
for high-level copy number loss
as specified in the VRS definitions.
With hierarchical expansion of this term explicit complete genomic deletions
(EFO:0030069
) should be retrieved too.
Request¶
-
requestProfile
:VQScopyChangeRequest
-
referenceAccession
:refseq:NC_000002.12
-
start
:21000001
21975098
-
end
:21967753
23000000
-
copyChange
:EFO:0020073
-
vrsType
:CopyNumberChange
GET query string¶
?requestProfile=VQScopyChangeRequest&referenceAccession=refseq:NC_000002.12&start=21000001,21975098&end=21967753,23000000©Change=EFO:0020073&vrsType=CopyNumberChange
POST query component¶
{
"copyChange": "EFO:0020073",
"end": [
21967753,
23000000
],
"referenceAccession": "refseq:NC_000002.12",
"requestProfile": "VQScopyChangeRequest",
"start": [
21000001,
21975098
],
"vrsType": "CopyNumberChange"
}
Find t(8;14)(q24;q32) translocations¶
Solution for VQSrequest
using genomic ranges (VQSadjacencyRequest
)¶
This is a query for translocations between the MYC and IgH loci, where the breakpoints are loosely defined through there well known cytogenetic bands. The query here follows the VRS adjacency model. In contrast to the VRS representational model, here:
- VRS uses an array of 2 genomic locations while Beacon names the location parameters individually (using "adjacency..." for the second partner)
- VRS explicitely encodes directionality by using either
start
orend
position parameters (integers or ranges) while this query example creates non-directional ranges on both sides since directionality might not be known, the storage system might not encode this or all options could be of interest
Request¶
-
requestProfile
:VQSadjacencyRequest
-
referenceAccession
:refseq:NC_000008.11
-
start
:116700000
-
end
:145138636
-
adjacencyAccession
:refseq:NC_000014.9
-
adjacencyStart
:89300000
-
adjacencyEnd
:107043718
-
vrsType
:Adjacency
GET query string¶
?requestProfile=VQSadjacencyRequest&referenceAccession=refseq:NC_000008.11&start=116700000&end=145138636&adjacencyAccession=refseq:NC_000014.9&adjacencyStart=89300000&adjacencyEnd=107043718&vrsType=Adjacency
POST query component¶
{
"adjacencyAccession": "refseq:NC_000014.9",
"adjacencyEnd": 107043718,
"adjacencyStart": 89300000,
"end": 145138636,
"referenceAccession": "refseq:NC_000008.11",
"requestProfile": "VQSadjacencyRequest",
"start": 116700000,
"vrsType": "Adjacency"
}
CAG
repeat in the first exon of the huntingtin gene (HTT)¶
The gene HTT is located at position 4p16.3. In individuals without Huntington's disease, this CAG segment is typically repeated 10 to 35 times. Expansions beyond 35 copys are associated with the development of Huntington's disease.
Examples for query parameters are:
- GeneId: HTT
- referenceAccession: refseq:NC_000004.12
- start: 3074681
- end: 3243960
- RepeatSubunitLength: 3 (CAG)
- RepeatSubunitCount: [36, 250] (not yet defined in VRS or Beacon)
- SequenceLength: [105, 750]
See also the genome browser material.
Solution using VQSsequenceRepeatRequest
with locus and sequenceLength
¶
This example uses the HTT genome position and a range of (extended) sequence
lengths to match against a ReferenceLengthExpression
since the VRS v2 model
does not contain a "repeat count" concept but only the overall length and
unit length (as well as the sequence).
TODO: Limit location to first exon?
Request¶
-
requestProfile
:VQSsequenceRepeatRequest
-
referenceAccession
:refseq:NC_000004.12
-
start
:3074681
-
end
:3243960
-
repeatSubunitLength
:3
-
sequenceLength
:105
750
-
vrsType
:ReferenceLengthExpression
GET query string¶
?requestProfile=VQSsequenceRepeatRequest&referenceAccession=refseq:NC_000004.12&start=3074681&end=3243960&repeatSubunitLength=3&sequenceLength=105,750&vrsType=ReferenceLengthExpression
POST query component¶
{
"end": 3243960,
"referenceAccession": "refseq:NC_000004.12",
"repeatSubunitLength": 3,
"requestProfile": "VQSsequenceRepeatRequest",
"sequenceLength": [
105,
750
],
"start": 3074681,
"vrsType": "ReferenceLengthExpression"
}
CAG
repeat in the first exon of the huntingtin gene (HTT)¶
For details see above.
Solution using VQSsequenceRepeatRequest
with geneId
and sequenceLength
¶
Here instead of the position simply the gene symbol is being used.
Request¶
-
requestProfile
:VQSsequenceRepeatRequest
-
geneId
:HTT
-
repeatSubunitLength
:3
-
sequenceLength
:105
750
-
vrsType
:ReferenceLengthExpression
GET query string¶
?requestProfile=VQSsequenceRepeatRequest&geneId=HTT&repeatSubunitLength=3&sequenceLength=105,750&vrsType=ReferenceLengthExpression
POST query component¶
{
"geneId": "HTT",
"repeatSubunitLength": 3,
"requestProfile": "VQSsequenceRepeatRequest",
"sequenceLength": [
105,
750
],
"vrsType": "ReferenceLengthExpression"
}
CGG
trinucleotide repeat expansion in the FMR1 gene¶
A CGG
trinucleotide repeat expansion in the FMR1 gene on the X chromosome
(Xq27.3) is known to cause Fragile X Syndrome (FXS). CGG repeating less than
44 times are stable across generations.
Solution using VQSsequenceRepeatRequest
with geneId
and sequenceLength
¶
Similarly to the HTT
example here a geneId
is used to specify the gene
and a range of sequence lengths is used to match against a ReferenceLengthExpression
.
Request¶
-
requestProfile
:VQSsequenceRepeatRequest
-
geneId
:FMR1
-
repeatSubunitLength
:3
-
sequenceLength
:130
600
-
vrsType
:ReferenceLengthExpression
GET query string¶
?requestProfile=VQSsequenceRepeatRequest&geneId=FMR1&repeatSubunitLength=3&sequenceLength=130,600&vrsType=ReferenceLengthExpression
POST query component¶
{
"geneId": "FMR1",
"repeatSubunitLength": 3,
"requestProfile": "VQSsequenceRepeatRequest",
"sequenceLength": [
130,
600
],
"vrsType": "ReferenceLengthExpression"
}
Query for a focal deletion involving TP53¶
Solution using VQSgeneIdRequest
with geneId
¶
Query for a deletion involving TP53 by using the HUGO name to specify the gene. This request does not provide coordinates so on the server side matching has to be performed from annotated variants or by retrieving the gene's coordinates and creating internally a type of range request. Here we're also limiting the size of the CNV to a typical "focal deletion" with a lower minimum size of 1kb (to avoid noise and non-structural variants) and an upper limit of 3Mb (to avoid large chromosomal deletions).
Request¶
-
requestType
:VQSgeneIdRequest
-
geneId
:TP53
-
copyChange
:EFO:0030067
-
sequenceLength
:1000
3000000
-
vrsType
:CopyNumberChange
GET query string¶
?requestType=VQSgeneIdRequest&geneId=TP53©Change=EFO:0030067&sequenceLength=1000,3000000&vrsType=CopyNumberChange
POST query component¶
{
"copyChange": "EFO:0030067",
"geneId": "TP53",
"requestType": "VQSgeneIdRequest",
"sequenceLength": [
1000,
3000000
],
"vrsType": "CopyNumberChange"
}