Skip to content

Fix #151: max_assembly_sequences circuit breaker#156

Merged
iskandr merged 1 commit into
masterfrom
fix-151-max-sequences-circuit-breaker
Apr 16, 2026
Merged

Fix #151: max_assembly_sequences circuit breaker#156
iskandr merged 1 commit into
masterfrom
fix-151-max-sequences-circuit-breaker

Conversation

@iskandr

@iskandr iskandr commented Apr 16, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Added max_assembly_sequences parameter to iterative_overlap_assembly (default 1000).
  • When exceeded after substring collapse, skips the O(n^2)-per-round greedy merge and returns sequences sorted by read support, with a warning.
  • Set to None to disable.
  • Three new tests: triggers above threshold, disabled with None, normal merge below threshold.
  • Bumped version to 1.4.13.

Fixes #151

Test plan

  • ./test.sh passes (166 tests)
  • ./lint.sh passes

When the number of variant sequences after substring collapse exceeds
max_assembly_sequences (default 1000), skip the O(n^2)-per-round greedy
merge and return sequences sorted by read support. This prevents silent
hangs on high-coverage loci.

Three new tests: breaker triggers above threshold, disabled with None,
normal merge below threshold.

Fixes #151
@iskandr iskandr merged commit ba1c9c0 into master Apr 16, 2026
4 of 6 checks passed
@coveralls

coveralls commented Apr 16, 2026

Copy link
Copy Markdown

Coverage Status

coverage: 93.077% (+0.009%) from 93.068% — fix-151-max-sequences-circuit-breaker into master

@iskandr iskandr deleted the fix-151-max-sequences-circuit-breaker branch April 16, 2026 03:45
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.

Add max_sequences circuit breaker to greedy_merge

2 participants