Skip to content

Add grouped parallel I/O for graph placements of interleaved reads - #95

Draft
Sagorikanag wants to merge 4 commits into
vgteam:masterfrom
Sagorikanag:diploid-map-interleaved-io
Draft

Add grouped parallel I/O for graph placements of interleaved reads#95
Sagorikanag wants to merge 4 commits into
vgteam:masterfrom
Sagorikanag:diploid-map-interleaved-io

Conversation

@Sagorikanag

@Sagorikanag Sagorikanag commented Aug 12, 2026

Copy link
Copy Markdown

Changelog Entry

  • libvgio can now group consecutive alternative placements for interleaved GAM and GAF read pairs while supporting an initial single-threaded processing phase.

Description

This adds grouped interleaved input helpers for callers that need all alternative paired placements of a fragment together.

For GAM and GAF input, consecutive interleaved pairs with the same fragment identity are collected into:

vector<pair<Alignment, Alignment>>

and passed to the caller as one unit. An unmatched final alignment in interleaved input is reported as an error.

The grouped iterator also supports processing groups serially until a caller-provided readiness condition becomes true, after which processing continues in parallel. This allows callers to safely learn shared state, such as a fragment-length distribution, before dispatching groups across worker threads.

Existing unpaired, paired, and grouped APIs retain their previous behavior through compatibility wrappers.

@Sagorikanag
Sagorikanag marked this pull request as draft August 12, 2026 17:40
@Sagorikanag Sagorikanag changed the title Diploid map interleaved io Add grouped parallel I/O for graph placements of interleaved reads Aug 12, 2026
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