Skip to content

resolution.csv

Identity

Row model ResolutionRow (just_dna_format.resolution)
Becomes no parquet — see the prose above for where its content goes
Authored or derived derived — an enricher pass writes it; an author corrects it via overrides.csv
Draftable no
Written and checked by just-dna-enricher enrich (enrich) from ensembl, clinvar, gnomad, checking reference_allele, rsid_currency, clinical_significance, rsid_coordinate_agreement, genome_build_agreement, dataset_currency
Natural key variant_key
Fact signature no
In the attestation binding no

Columns

Column Type Required Values Meaning
variant_key str required Frozen authored identity this row resolves (rsid, else chrom:start:ref)
rsid str | None optional Resolved dbSNP identifier
chrom str | None optional Chromosome without 'chr' prefix
start int | None optional 1-based genomic position (VCF POS convention; matches the Ensembl and ClinVar snapshots)
ref str | None optional Reference allele
alts str | None optional Alt allele(s), comma-separated
genome_build str defaulted Assembly the coordinate is in (the RM15 forward hook; GRCh38 today)
locus_index int defaulted 0 for a 1:1 resolution; 0..N-1 for a one-to-many rsid expansion
vrs_id str | None optional GA4GH VRS allele id (ga4gh:VA.…) — one per ALT, comma-joined and positionally aligned with alts, so a single-alt row carries a bare id and a multi-allelic one names each of its alleles in the same order. An empty member is a hole: that allele's id could not be minted (an indel in an offline run, an off-assembly contig). Minted locally by vrs.derive_vrs_allele_id for a substitution, by the enricher's normalization path for an indel, and cross-checked against a source's own id (gnomAD serves one) where available.
vrs_spec str | None optional VRS spec version the id was minted under ('2.0'). Recorded to disambiguate an embedded location id, not because the allele id drifts — a substitution's VA is identical under 1.x and 2.0.
caid str | None optional ClinGen Allele Registry canonical allele id (CA<digits>)
source str | None optional Which link filled this: cache|ensembl-graphql|ensembl-rest|manual|reversed (open)
authority str | None optional The licensed data source the link speaks for — ensembl for ensembl-rest/ensembl-graphql/cache, clinvar for the snapshot, gnomad for the last-resort link. Joins sources.csv.source. Empty when there is no external authority to declare (authored, reversed, manual: the module's own bytes or a human).
status str | None optional one of: ambiguous, not_found, resolved Resolution outcome: resolved|not_found|ambiguous
rsid_alternates str | None optional When a reverse (position→rsid) back-fill hit several candidate rsIDs for the same exact allele (a genuine dbSNP merge), the full sorted candidate list (comma-separated); rsid carries the deterministic pick (lowest id) and status is 'ambiguous'. Empty otherwise. Provenance — EXCLUDED from resolution_signature (0.5, provisional).
rsid_current str | None optional The rsID dbSNP serves today when the authored one has been merged away (e.g. rs3051860 for an authored rs3216883). Recorded, never substituted — weights.parquet carries the rsID as identity, so writing the new label into the artifact would migrate variant_key by network lookup and break the round-trip fixed point (Principle 7).
rsid_status str | None optional one of: absent, live, merged, withdrawn What dbSNP currently says about rsid: live|merged|absent|withdrawn. The automated check never emits withdrawn — a retracted rsID is byte-identical to a never-assigned one through every live endpoint — so it reports absent and names both readings. withdrawn is for a curator who has established the retraction by hand, and it refuses in BOTH modes where absent refuses only under strict, because a retracted variant may invalidate the annotation rather than merely dating it. Provenance — EXCLUDED from resolution_signature (time-varying external state).
fetched_at str | None optional ISO-8601 UTC timestamp, second resolution (e.g. '2026-08-03T02:03:23Z'). Canonicalized on load; records when this row was last written by a pass, not when the source published anything

Generated from the row model at build time — reference.authoring_reference(), the same answer describe_table gives an authoring tool. Nothing on this page is hand-kept.