Skip to content

Add phase 2 streaming PLINK mount via vcztools.BedEncoder - #3

Merged
jeromekelleher merged 6 commits into
sgkit-dev:mainfrom
jeromekelleher:use-vcztools-api
May 4, 2026
Merged

jeromekelleher merged 6 commits into
sgkit-dev:mainfrom
jeromekelleher:use-vcztools-api

Conversation

@jeromekelleher

Copy link
Copy Markdown
Member

Serves .bed on demand from a per-FUSE-handle BedEncoder over a shared VczReader, with .bim/.fam precomputed once into in-memory bytes. Multiple processes opening the mount each get an independent encoder; iterators do not interfere across handles.

Mount is refactored to accept a pyfuse3.Operations directly so phase-1 and phase-2 share the mount-loop machinery, and a new mount-plink-streaming CLI command is added. The fx_mounted_plink fixture is parametrised over passthrough/streaming so the plink1.9 / plink2 byte-identity assertions run in both modes.

Serves .bed on demand from a per-FUSE-handle BedEncoder over a shared
VczReader, with .bim/.fam precomputed once into in-memory bytes. Multiple
processes opening the mount each get an independent encoder; iterators do
not interfere across handles.

Mount is refactored to accept a pyfuse3.Operations directly so phase-1
and phase-2 share the mount-loop machinery, and a new
mount-plink-streaming CLI command is added. The fx_mounted_plink fixture
is parametrised over passthrough/streaming so the plink1.9 / plink2
byte-identity assertions run in both modes.
@jeromekelleher
jeromekelleher force-pushed the use-vcztools-api branch 3 times, most recently from 83d7c59 to f854093 Compare May 3, 2026 20:17
Update ci.yml to mirror bio2zarr conventions: weekly cron run, action
SHA version comments, fetch-depth: 0 in test job checkout, --locked and
--no-default-groups flags throughout, biofuse --help smoke test, and
Coveralls coverage upload. Rewrite the packaging job to install the
built wheel into a fresh venv and exercise the CLI; drop the
unnecessary libfuse3-dev/pkg-config install (biofuse is pure-Python).

Add .github/dependabot.yml for monthly github-actions updates, and a
new cd.yml that builds sdist+wheel and publishes to PyPI on release
and TestPyPI on tag pushes via trusted publishing.
@jeromekelleher
jeromekelleher merged commit 244b57d into sgkit-dev:main May 4, 2026
5 checks passed
@jeromekelleher
jeromekelleher deleted the use-vcztools-api branch May 4, 2026 14:39
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