diff --git a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/tools/FastqSync.scala b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/tools/FastqSync.scala index c01ddf38893aeb4c2fddc05a2a54c7e40b65e718..5096bdea802ae32da3e66665368b2e13085c6145 100644 --- a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/tools/FastqSync.scala +++ b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/tools/FastqSync.scala @@ -165,8 +165,6 @@ object FastqSync extends ToolCommand { } syncIter(pre.iterator.asScala.toStream, seqA.iterator.asScala.toStream, seqB.iterator.asScala.toStream) - seqOutA.close() - seqOutB.close() (numDiscA, numDiscB, numKept) } @@ -252,15 +250,23 @@ object FastqSync extends ToolCommand { val commandArgs: Args = parseArgs(args) - val (numDiscA, numDiscB, numKept) = syncFastq( - new FastqReader(commandArgs.refFastq), - new FastqReader(commandArgs.inputFastq1), - new FastqReader(commandArgs.inputFastq2), - new AsyncFastqWriter(new BasicFastqWriter(commandArgs.outputFastq1), 3000), - new AsyncFastqWriter(new BasicFastqWriter(commandArgs.outputFastq2), 3000)) - - println(s"Filtered $numDiscA reads from first read file.") - println(s"Filtered $numDiscB reads from second read file.") - println(s"Synced files contain $numKept reads.") + val refReader = new FastqReader(commandArgs.refFastq) + val AReader = new FastqReader(commandArgs.inputFastq1) + val BReader = new FastqReader(commandArgs.inputFastq2) + val AWriter = new AsyncFastqWriter(new BasicFastqWriter(commandArgs.outputFastq1), 3000) + val BWriter = new AsyncFastqWriter(new BasicFastqWriter(commandArgs.outputFastq2), 3000) + + try { + val (numDiscA, numDiscB, numKept) = syncFastq(refReader, AReader, BReader, AWriter, BWriter) + println(s"Filtered $numDiscA reads from first read file.") + println(s"Filtered $numDiscB reads from second read file.") + println(s"Synced files contain $numKept reads.") + } finally { + refReader.close() + AReader.close() + BReader.close() + AWriter.close() + BWriter.close() + } } }