Skip to content

ID References

Overview

The ClinVar-GKM bundle uses typed identifiers and #/ JSON pointer references to link objects across bundle sections. This page documents all identifier formats, reference patterns, and how to resolve them.


Identifier Namespaces

All ClinVar-GKM identifiers use a prefix namespace to indicate the resource type:

Prefix Resource Type Format Example
clinvar: Variation clinvar:{variation_id} clinvar:12582
clinvar.submission: SCV submission clinvar.submission:SCV{id}.{version} clinvar.submission:SCV001571657.2
clinvar.submitter: Submitter organization clinvar.submitter:{submitter_id} clinvar.submitter:508027
clinvar.trait: Condition / trait clinvar.trait:{trait_id} clinvar.trait:9580
clinvar.traitset: Condition set clinvar.traitset:{trait_set_id} clinvar.traitset:1234
clinvar.conditionset: Condition set minted for a VCV aggregate clinvar.conditionset:vcv-{md5} clinvar.conditionset:vcv-c620785e2025efde81bdd15c814fa83d
clinvar.therapy: Therapy (drug/procedure) clinvar.therapy:{sha256} clinvar.therapy:ab221549…d1c2b
clinvar.therapygroup: Therapy group (combination) clinvar.therapygroup:{sha256} clinvar.therapygroup:df1d8467…9f05c
ncbigene: Gene ncbigene:{gene_id} ncbigene:3077
ga4gh: VRS identity ga4gh:{type}.{digest} ga4gh:VA.ELQCnIBGqaTl0AEE0Az18XZ2cgIHAQIY
SQ. Sequence reference SQ.{digest} SQ.0iKlIQk2oZLoeOG9P1riRU6hvL5Ux8TV

VCV and RCV aggregate statement IDs use a hierarchical format without a namespace prefix — see VCV Statement IDs and RCV Statement IDs.


JSON Pointer References

Objects reference each other using #/{section}/{key} strings. To resolve a reference:

  1. Split the string on / — the second segment is the bundle section name, the third is the key
  2. Look up the key in the named section of the bundle

Reference Patterns

Pattern Example Target Section
#/sequenceReference/{key} #/sequenceReference/SQ.0iKlIQk2oZLoeOG9P1riRU6hvL5Ux8TV sequenceReference
#/location/{key} #/location/ga4gh:SL.Eg_6kV6Bb4FMjm9kEolHZ_4NhU8lBEsZ location
#/allele/{key} #/allele/ga4gh:VA.ELQCnIBGqaTl0AEE0Az18XZ2cgIHAQIY allele
#/gene/{key} #/gene/ncbigene:3077 gene
#/variation/{key} #/variation/clinvar:10 variation
#/condition/{key} #/condition/clinvar.trait:9580 condition
#/conditionSet/{key} #/conditionSet/clinvar.traitset:1234 conditionSet
#/therapy/{key} #/therapy/clinvar.therapy:ab221549…d1c2b therapy
#/therapyGroup/{key} #/therapyGroup/clinvar.therapygroup:df1d8467…9f05c therapyGroup
#/submitter/{key} #/submitter/clinvar.submitter:500139 submitter
#/propositionPathogenicity/{key} #/propositionPathogenicity/SCV001234567-PATH propositionPathogenicity
#/propositionOncogenicity/{key} #/propositionOncogenicity/SCV002345678-ONCO propositionOncogenicity
#/propositionSomaticClinicalImpact/{key} #/propositionSomaticClinicalImpact/SCV003456789-TR propositionSomaticClinicalImpact
#/propositionClinvarCustom/{key} #/propositionClinvarCustom/SCV004567890-RF propositionClinvarCustom
#/scv/{key} #/scv/clinvar.submission:SCV001234567.1 scv
#/vcv/{key} #/vcv/VCV000012582.63-G-PATH-CP vcv
#/evidenceLine/{key} #/evidenceLine/VCV000012582.63-G-PATH-CP.contributing evidenceLine
#/rcv/{key} #/rcv/RCV000012345.8-G-PATH-CP rcv

Where References Appear

Object Type Field References
Location sequenceReference #/sequenceReference/
Allele location #/location/
Variation members[] #/allele/
Variation constraints[].allele #/allele/
Variation constraints[].location #/location/
Variation extensions[].clinvarGeneList[].gene #/gene/
Proposition (all types) subject #/variation/
Pathogenicity / Oncogenicity / Custom / Diagnostic / Prognostic object #/condition/ or #/conditionSet/
Therapeutic Response object #/therapy/ or #/therapyGroup/
Therapeutic Response conditionQualifier #/condition/ or #/conditionSet/
ConditionSet concepts[] #/condition/, or #/conditionSet/ for a TraitSet nested in a minted vcv- set
TherapyGroup concepts[] #/therapy/
SCV Statement proposition #/proposition{Pathogenicity,Oncogenicity,SomaticClinicalImpact,ClinvarCustom}/
SCV Statement contributions[].contributor #/submitter/
VCV Statement proposition #/proposition{Pathogenicity,Oncogenicity,SomaticClinicalImpact,ClinvarCustom}/
SCV Statement hasEvidenceLines[] #/evidenceLine/
VCV Statement hasEvidenceLines[] #/evidenceLine/
RCV Statement proposition #/proposition{Pathogenicity,Oncogenicity,SomaticClinicalImpact,ClinvarCustom}/
RCV Statement hasEvidenceLines[] #/evidenceLine/
EvidenceLine hasEvidenceItems[] #/scv/, #/vcv/, or #/rcv/

Releases before 1.1.0 had two bare-id references

From 1.1.0 every field above is a #/ pointer. Before, two condition references were bare ids: a VCV proposition's object when the VCV had a single condition (clinvar.trait:2478 rather than #/condition/clinvar.trait:2478; about 7.5 million propositions), and the concepts of the condition sets minted for VCV aggregates (clinvar.conditionset:vcv-…). A bare id names the same record: look up clinvar.trait: ids in condition and clinvar.traitset: ids in conditionSet. A bundle downloaded before the 1.1.0 republish still has the old form.

The condition, conditionSet, direct_match and normalized_match values in the submittedCondition and submittedConditionSet extensions are bare CURIEs by design. They record what was submitted and how it was matched; they are not references.

Resolution Example

import gzip
import json

# Load the bundle
with gzip.open("clinvar-gkm_00-latest.json.gz", "rt") as f:
    bundle = json.load(f)

def resolve(bundle, ref):
    """Resolve a #/section/key reference to the target object."""
    parts = ref.lstrip("#/").split("/", 1)
    return bundle[parts[0]][parts[1]]

# Look up a variation
variant = bundle["variation"]["clinvar:10"]

# Resolve its allele member
allele = resolve(bundle, variant["members"][0])

# Resolve the allele's location
location = resolve(bundle, allele["location"])

# Resolve the location's sequence reference
seq_ref = resolve(bundle, location["sequenceReference"])

From pointers to GA4GH models

Working in Python follows these pointers from a statement to its sequence reference and loads each record into the GA4GH model libraries. The GKM Toolkit resolves and exports pointers for the bundles its loader reads; the loader needs upstream updates before it reads ClinVar-GKM 1.1.0 bundles.


SCV Proposition IDs

SCV proposition IDs combine the SCV accession with an uppercase proposition type code:

{scv_id}-{PROP_CODE}
Component Description Examples
scv_id SCV accession (without version) SCV001234567
PROP_CODE Uppercase proposition type code PATH, ONCO, SCI, ASSOC, RF, DR, NP, OTH, PROTECT, AFF, CS, CDFS, UNDEF

Examples: SCV001234567-PATH, SCV004565358-PROG, SCV004565358-TR

Target (somatic evidence line) propositions use the clinical impact assertion type codes: PROG, DIAG, TR.


VCV Statement IDs

VCV aggregate statements use a hierarchical ID format reflecting the aggregation layer:

Layer Format Example
Classification {VCV}.{ver}-{group}-{PROP}-{level}[-{TIER}] VCV000012582.63-G-PATH-CP
Priority {VCV}.{ver}-{group}-{PROP}-{level} VCV000012582.63-S-SCI-CP
Aggregate {VCV}.{ver}-{group}-{PROP} VCV000012582.63-G-PATH

Components:

  • group — statement group: G (Germline), S (Somatic), O (Oncogenicity)
  • PROP — proposition type code (uppercase): PATH, ONCO, SCI, ASSOC, etc.
  • level — submission level: PG, EP, CP, NOCP, NOCL, FLAG
  • TIER — classification tier (somatic only, uppercase): TIER 1, TIER 2, etc.

RCV Statement IDs

RCV aggregate statements follow the same pattern as VCV but with an RCV accession:

Layer Format Example
Classification {RCV}.{ver}-{group}-{PROP}-{level}[-{TIER}] RCV000012345.10-G-PATH-CP
Priority {RCV}.{ver}-{group}-{PROP}-{level} RCV000012345.10-S-SCI-CP
Aggregate {RCV}.{ver}-{group}-{PROP} RCV000012345.10-G-PATH

The component abbreviations are the same as VCV.


VCV/RCV Proposition IDs

VCV and RCV proposition IDs use the accession (without version) in the same layered format:

Layer Format Example
Classification {accession}-{group}-{PROP}-{level}[-{TIER}] VCV000012582-G-PATH-CP
Priority {accession}-{group}-{PROP}-{level} VCV000012582-S-SCI-CP
Aggregate {accession}-{group}-{PROP} VCV000012582-G-PATH

External Cross-References

Variation records contain mappings to external databases using standardized URL formats:

Database URL Pattern
MedGen https://identifiers.org/medgen:{id}
OMIM http://www.omim.org/entry/{id}
HPO https://identifiers.org/{id}
MONDO https://identifiers.org/mondo:{id}
Orphanet http://www.orpha.net/ORDO/Orphanet_{id}
dbSNP https://identifiers.org/dbsnp:rs{id}
ClinGen https://reg.clinicalgenome.org/.../by_caid?caid={id}
UniProtKB https://www.uniprot.org/uniprot/{id}
GTR https://www.ncbi.nlm.nih.gov/gtr/tests/{id}
PubMed https://pubmed.ncbi.nlm.nih.gov/{id}

Condition records contain mappings to disease/phenotype databases (OMIM, MONDO, HPO, Orphanet, MeSH) and a primaryCoding from MedGen.