Ahmed Doghri Logo Image
Ahmed Doghri

vrsbridge

Two VCF rows can describe one molecular change and still miss each other downstream. Normalize the allele and make the equivalence computable.

vrsbridge genomic variant equivalence workbench
vrsbridge workbench translating four VCF records into two normalized alleles

The String Is Not The Variant

Variant callers preserve different amounts of surrounding sequence. Two VCF rows can look different while describing the same molecular edit, which breaks joins across cohorts, annotations, and knowledge bases.

vrsbridge parses sequence-resolved SNVs and indels, expands multiallelic records, removes redundant prefix and suffix context, and converts the result from one-based VCF positions into inter-residue coordinates.

Bridge VCF To A Shared Model

Each normalized record becomes a GA4GH VRS 1.3 Allele with a SequenceLocation and LiteralSequenceExpression. A deterministic local digest groups equivalent structures for inspection in the CLI, JSON API, and browser workbench.

The repository ships the translator, equivalence engine, responsive workbench, API, CLI, Docker image, four regression tests, and a two-version GitHub Actions matrix.

The Demo

Four VCF records encode two molecular changes. One context-rich substitution and its minimal form collapse into one allele; two valid deletion encodings collapse into the other. Four strings become two computable representations.

The scope is explicit. Minimal normalization removes shared context, while full justification across repeats needs a reference-sequence service. The local digest is an equivalence key, not a GA4GH computed identifier.

Standards Basis

Built against the GA4GH VRS 1.3 model and its normalization guidance.

Tools Used

Python
GA4GH VRS 1.3
VCF
Genomics
Variant Normalization
Docker
unittest
GitHub Actions CI