Skip to content

What are refget digests?

GA4GH refget digests are content-addressable identifiers for biological sequences and sequence collections, such as reference genomes. Instead of relying on arbitrary names like “chr1” or “GRCh38”, digests identify sequences by their actual content using cryptographic hashes.

  • Reproducibility: The same sequence always produces the same digest, regardless of where or when it’s computed
  • Interoperability: Different databases can identify the same sequences without coordinating naming conventions
  • Verification: Confirm that two files contain identical sequences by comparing their digests

The refget standards define two types of digests:

Individual sequences are identified with the SQ. prefix:

SQ.YBbVX0dLKG1ieEDCiMmkrTZFt_Z5Vdaj

This digest is computed by:

  1. Taking the uppercase sequence string (e.g., “ACGT…”)
  2. Computing a SHA-512 hash
  3. Truncating to 24 bytes
  4. Base64url encoding the result

Sequence collections (groups of sequences, like a genome assembly) use unprefixed digests:

XZlrcEGi6mlopZ2uD8ObHkQB1d0oDwKk

Collection digests are computed from the digests of their component attributes (names and sequences), making them a reflection of the entire collection’s content.

Sequence collections can be represented at different levels of detail:

LevelContentsUse case
Level 0Just the top-level digestQuick identification
Level 1Digests of each attribute arrayComparing what changed
Level 2Full arrays (names, lengths, sequences)Complete information