Develop#273
Merged
Merged
Conversation
…pend sample_trinucs returns the center (mutated) position, but the trinuc slice was starting at that position rather than one before it, so trinuc[1] was the 3' context base instead of the ref base. generate_snv uses trinuc[1] as the ref base for transition-matrix lookup and REF==ALT zeroing, so the wrong base was being consulted — Keshav's zeroing fix in #267 only worked when reference[pos] == reference[pos+1]. Fix: shift the slice to reference[local_location-1: local_location+2] so trinuc[0]=5' flank, trinuc[1]=ref base, trinuc[2]=3' flank. Also remove the dead self.all_ins.append(temp_snv) in generate_snv; SNVs were being accumulated in MutationModel.all_ins (a list that is never read) rather than nowhere, a copy-paste artifact from generate_deletion. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
These lists were never read anywhere; ContigVariants has its own independent all_ins/all_dels used for overlap detection. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Fix for memory leak
…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>
Error improvements
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…rective Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
keshav-gandhi
approved these changes
May 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes to be included in NEAT 4.4.1 (bug fixes and opitimizations for NEAT 4.4)