Breaking Changes
Default behavior for invalid alignments has changed:
- Previous versions: Invalid alignments (duplicates, failed QC, non-primary, supplementary) were kept by default, but was possible to skip them with
--discard-invalid-alignments - v1.4.0: Invalid alignments are now discarded by default for cleaner coverage analysis
New Features
--keep-invalid-alignments: Restore legacy behavior to include invalid alignments in coverage calculation--discard-invalid-alignments: Still valid but does not change the behaviour- Better handling of edge cases in alignment processing
- Expanded test suite (integration)
CMakeand Unit Tests
If your pipeline depends on the previous behaviour of including invalid alignments:
# Old command (v1.3.x and earlier):
covtobed input.bam > output.bed
# New equivalent command (v1.4.0+):
covtobed --keep-invalid-alignments input.bam > output.bedFor new workflows, the default behavior provides cleaner coverage tracks by excluding low-quality alignments.
Technical Details
Invalid alignments include:
- Duplicate reads (SAM flag 0x400)
- Failed quality control (SAM flag 0x200)
- Non-primary alignments (SAM flag 0x100)
- Supplementary alignments (SAM flag 0x800)