From 663eb71d6b111872005259b542a092c6fee5afd2 Mon Sep 17 00:00:00 2001 From: Nils Homer Date: Thu, 17 Aug 2023 13:45:02 -0700 Subject: [PATCH] bugfix: ZipperBams should consume any remaining mapped reads So that pipes do not cause failure when unread data exists in bash strict mode --- src/main/scala/com/fulcrumgenomics/bam/ZipperBams.scala | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/scala/com/fulcrumgenomics/bam/ZipperBams.scala b/src/main/scala/com/fulcrumgenomics/bam/ZipperBams.scala index 6910e50cc..a93cf216e 100644 --- a/src/main/scala/com/fulcrumgenomics/bam/ZipperBams.scala +++ b/src/main/scala/com/fulcrumgenomics/bam/ZipperBams.scala @@ -240,6 +240,13 @@ class ZipperBams } } + // There really should be no more reads, but lets continue on if so + if (mappedIter.hasNext) { + logger.warning("Processed all unmapped reads but mapped reads remaining, continuing") + // consume the remaining so piping in strict mode does not fail + mappedIter.foreach { _ => } + } + out.close() unmappedSource.safelyClose() mappedSource.safelyClose()