Bug: https://github.com/pysam-developers/pysam/issues/1128
Applied-Upstream:
56b1624c21b02762fdcea3aa5f657a4152ca178e
Reviewed-by: Étienne Mollier <emollier@debian.org>
Last-Update: 2022-10-02
The Makefile also builds ex2.bam from ex2.sam via `samtools view`.
Samtools as traditionally built using zlib typically generates a
124703-byte file, whereas when built using libdeflate it typically
generates a 122804-byte file -- but `head -c 124000` leaves that unchanged
and the test cases fail because ex2_truncated.bam is unexpectedly valid.
Rewrite the truncation rule to remove the final 512 bytes, irrespective
of ex2.bam's length. (No practical compression will reduce it to less
than 512 bytes in total, so this is safe.) Fixes #1128.
Last-Update: 2022-10-02
Gbp-Pq: Name test-truncated-bam.patch
samtools mpileup -f ex1.fa ex1.bam | gzip > ex1.pileup.gz
ex2_truncated.bam: ex2.bam
- head -c 124000 ex2.bam > ex2_truncated.bam
+ dd if=ex2.bam of=ex2_truncated.bam bs=$$((`wc -c < ex2.bam`-512)) count=1
# Append a corrupt read with block_size < sizeof(bam_core_t fields)
ex2_corrupt.bam: ex2.bam