Skip to content

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

Open
jeromekelleher wants to merge 3 commits intosgkit-dev:mainfrom
jeromekelleher:use-vcztools-api
Open

Add phase 2 streaming PLINK mount via vcztools.BedEncoder#3
jeromekelleher wants to merge 3 commits intosgkit-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.
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