AnyVLM is an off-the-shelf solution for adding local aggregate-level variant information to a Variant-Level Matching (VLM) network. It provides a REST API service that integrates with GA4GH standards for genomic data exchange.
AnyVLM enables genomic research organizations to:
- Ingest VCF files containing variant and allele frequency data
- Register variants using the GA4GH Variant Representation Specification (VRS) via AnyVar
- Store cohort allele frequencies (CAF) with zygosity-stratified counts
- Serve VLM protocol-compliant responses with Beacon handover capabilities
This service is designed for rare disease variant frequency tracking in genomic research networks such as GREGoR.
A set of Docker Compose resources are provided as part of the AnyVLM project. See the Docker-based installation instructions.
Given an available AnyVLM node, submit a VCF which contains allele frequency data:
curl -X POST "http://localhost:8080/ingest_vcf?assembly=grch38" \
-F "file=@/path/to/variants.vcf.gz"Then, submit a query for allele frequency
curl "http://localhost:8080/variant_counts?assemblyId=GRCh38&referenceName=22&start=44389414&referenceBases=A&alternateBases=G"A successful query returns a response like the following:
{"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"}]}}See the usage page in the documentation for more information.
We welcome bug reports, feature requests, and code contributions from users and interested collaborators. The documentation contains guidance for submitting feedback and contributing new code.