Skip to content

Harmonise identifier (e.g. RNAME/Contig, Sample) rules across formats and protocols #5

Description

@jmarshall

There are a number of short identifier-sized pieces of metadata that are used across many GA4GH products. For example:

  • Reference sequence names

    In SAM/BAM/CRAM, this is the @SQ-SN header field and RNAME/RNEXT/etc fields.
    In VCF/BCF, it's the ##contig ID.
    In htsget, it's referenceName.
    In refget, it may be returned as an alias.

  • Sample identifiers

    In SAM/BAM/CRAM, this is the @RG-SM header field.
    In VCF/BCF, it's the ##SAMPLE ID and it also appears on the #CHROM header line.
    In htsget, it forms the bulk of the path part of request URLs, and there is a proposal to encode samples in the query part as well (htsget: add samples query parameter, principally to select subset of VCF columns samtools/hts-specs#430).
    In Phenopackets, it's a Biosample's id field.

These items of metadata are embedded within the surrounding text using various delimiters in these various formats and protocols. So there are various restrictions on what characters may appear in them so as to avoid conflicting with the delimiter characters or otherwise requiring complicated escaping or encoding mechanisms. It would be good to harmonise these restrictions across GA4GH products, so that a value that was e.g. a valid Sample identifier in one product could be assumed to also be valid in other products.

Metadata

Metadata

Assignees

No one assigned

    Labels

    TASC-athonLabel an issue to flag for discussion at the 2025 TASC-athonpicked

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions