Skip to content

Move to sample ids - #428

Merged
jeromekelleher merged 4 commits into
sgkit-dev:mainfrom
jeromekelleher:move-to-sample-ids
Jun 5, 2026
Merged

Move to sample ids#428
jeromekelleher merged 4 commits into
sgkit-dev:mainfrom
jeromekelleher:move-to-sample-ids

Conversation

@jeromekelleher

Copy link
Copy Markdown
Member

No description provided.

Replace the index-centric sample-selection surface with a
sample-ID-centric one. VczReader.set_samples now takes sample IDs:

    set_samples(sample_ids, *, complement=False, ignore_missing_samples=False)

resolving names to indexes internally (the reader already owns
raw_sample_ids). A lower-level set_sample_indexes keeps the raw-index
entry point for callers that work in indexes.

This lets vcztools/samples.py be removed: SampleChunkPlan and the
chunk-plan builder move into retrieval.py (build_sample_chunk_plan,
renamed to avoid colliding with regions.build_chunk_plan), the
name-to-index resolver becomes retrieval._resolve_sample_names, and the
samples-file reader moves to cli._read_samples_file. The CLI now calls
set_samples directly and rejects an empty resolved set via
reader.sample_ids.

Tests for the relocated helpers move to test_retrieval.py /
test_cli.py; index-based set_samples calls become set_sample_indexes.
The non-null sample index array is internal machinery (num_null_samples,
the bcftools-view output-column remap, and the full-sample filter plan)
rather than part of the reader's selection API, which is now ID-centric.
Rename it to a private cached property and drop the public docs that
illustrated building index selections from it.
Match the "indexes" spelling used elsewhere (set_sample_indexes,
sample_indexes).
@jeromekelleher
jeromekelleher merged commit 853110b into sgkit-dev:main Jun 5, 2026
13 checks passed
@jeromekelleher
jeromekelleher deleted the move-to-sample-ids branch June 5, 2026 15:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant