github teaguesterling/plinking_duck v0.13.0
v0.13.0 — shared selection handler + composable selection:=

4 hours ago

Composable selection + a shared selection handler

  • selection := <struct> on the analysis functions (plink_freq/plink_hardy/plink_missing/plink_score/plink_glm/plink_pca/plink_ld): compose a selection once — samples / region / variant_range — and pass it to many functions, with individual named params overriding per field.
  • variant_range now filters on the stat functions (a contiguous variant window). Arbitrary variant-set selection (variants) on the stat functions raises a clear "not supported here" error (Tier-C, deferred).
  • Internally, selection parsing (samples/region) is unified behind a shared axis Selection handler across all these functions — the reference implementation of the axis-Selection primitive for a nascent shared cross-extension convention for axis/array data in DuckDB.
  • All existing calls are byte-identical (the handler wraps the same primitives; the pre-refactor full-suite baseline is unchanged). The parameter is selection, not the reserved SQL keyword select.

Deferred: the read_pfile migration onto the handler, arbitrary variant-set scans on the stat functions, and a named-arg plink_selection() scalar (not expressible in this DuckDB version).

Full suite: 11162 assertions / 186 test cases.

🤖 Generated with Claude Code

https://claude.ai/code/session_011csELQ5cVyHrxMbvgBfC6o

Don't miss a new plinking_duck release

NewReleases is sending notifications on new releases.