Skip to content

Error improvements#274

Merged
joshfactorial merged 7 commits into
developfrom
error_improvements
May 3, 2026
Merged

Error improvements#274
joshfactorial merged 7 commits into
developfrom
error_improvements

Conversation

@joshfactorial
Copy link
Copy Markdown
Collaborator

No description provided.

joshfactorial and others added 7 commits May 3, 2026 08:39
…to implement avg_seq_error in such a way that actually affects the output.
The main loop used <= instead of < causing num_errors+1 errors to be
collected. The fallback loop called rng.choice(quality_scores) which
returns a score value, not an index, making quality_scores[index] wrong;
replaced with rng.integers(len(quality_scores)).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ures

- Add num_errors argument to all get_sequencing_errors() calls
- Change reference_segment from SeqRecord to Seq in error model tests
- Add errors_per_read argument to generate_reads() calls
- Add num_errors argument to finalize_read_and_write() calls
- Add errors_per_read argument to read_simulator_single() calls
- Remove now-unused SeqRecord imports from test_error_and_mut_models and test_seq_error

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Fix fallback loop in get_sequencing_errors: use <= median so uniform
quality arrays (all scores equal) always make progress.

New tests:
- test_sem_num_errors_zero_produces_no_errors
- test_sem_num_errors_caps_output
- test_sem_fallback_loop_fills_errors_with_uniform_high_quality
- test_finalize_read_and_write_returns_error_count
- test_errors_per_contig_proportional_to_contig_length
- test_errors_per_contig_zero_for_zero_coverage

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Fix blacklist range to exclude the deletion anchor so deletions
  don't remove themselves during the cleanup pass
- Fix quality array concatenation to use dtype=int so deletion errors
  (which produce an empty quality slice) don't promote the array to
  float64 and break the chr() call in finalize_read_and_write
- Remove dead num_errors capture from finalize_read_and_write return value
- Add tests for indel error paths, errors_per_read gate logic, and
  score clamping in TraditionalQualityModel

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@joshfactorial joshfactorial merged commit b96f85c into develop May 3, 2026
1 check passed
@joshfactorial joshfactorial deleted the error_improvements branch May 3, 2026 15:12
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