Usage
Currently, AnyVLM is used primarily by issuing requests against an HTTP server. This page assumes that such a server is running at http://localhost:8080/.
Submitting VCFs
Given a VCF describing cohort-level allele frequency, submit a POST request to /ingest_vcf:
% curl -X POST "http://localhost:8080/ingest_vcf?assembly=grch38" \
-F "file=@/path/to/variants.vcf.gz"
VCF Requirements
File must be gzip-compressed (
.vcf.gz)Maximum file size: 5GB
Required INFO fields:
AC,AN,AC_Het,AC_Hom,AC_Hemi
Response
After ingestion is complete, a simple response message will confirm success:
{
"status": "success",
"message": "Successfully ingested variants.vcf.gz",
"details": null
}
Retrieving CAFs
Issue a GET request to /variant_counts with arguments for reference sequence, chromosome, position, and referance/alternate bases, like so:
% curl "http://localhost:8080/variant_counts?assemblyId=GRCh38&referenceName=22&start=10510105&referenceBases=T&alternateBases=A"
Parameters
Parameter |
Description |
Example |
|
Reference assembly |
|
|
Chromosome |
|
|
Position (1-based) |
|
|
Reference allele |
|
|
Alternate allele |
|
Response
The AnyVLM server will respond to a valid request with a VLM protocol-compliant JSON object that includes the following fields:
beaconHandovers: Handover metadata for network integration, describing the datameta: Beacon metadata, describing the server itselfresponseSummary: Whether variant exists, and total number of matching resultsresponse: ResultSets grouped by zygosity (Homozygous, Heterozygous, Hemizygous, Unknown)
For example:
{
"beaconHandovers": [
{
"handoverType": {
"id": "GREGoR-NCH",
"label": "GREGoR AnyVLM Reference"
},
"url": "https://variants.gregorconsortium.org/"
}
],
"meta": {
"apiVersion": "v1.0",
"beaconId": "org.anyvlm.gregor",
"returnedSchemas": [
{
"entityType": "genomicVariant",
"schema": "ga4gh-beacon-variant-v2.0.0"
}
]
},
"responseSummary": {
"exists": true,
"numTotalResults": 2
},
"response": {
"resultSets": [
{
"exists": true,
"id": "GREGoR-NCH Homozygous",
"results": [],
"resultsCount": 2,
"setType": "genomicVariant"
},
{
"exists": true,
"id": "GREGoR-NCH Heterozygous",
"results": [],
"resultsCount": 0,
"setType": "genomicVariant"
},
{
"exists": true,
"id": "GREGoR-NCH Hemizygous",
"results": [],
"resultsCount": 0,
"setType": "genomicVariant"
}
]
}
}
GA4GH Service Info
AnyVLM also supports the GA4GH Service Info Specification. A GET request to /service-info returns GA4GH-compliant service metadata.