diff --git a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/tools/ExtractAlignedFastq.scala b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/tools/ExtractAlignedFastq.scala index 9620e6bc6daad3f16b32745267f571348c743a22..501c406c7dd3d68cb2b263aa7e522b240cd2bf44 100644 --- a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/tools/ExtractAlignedFastq.scala +++ b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/tools/ExtractAlignedFastq.scala @@ -261,17 +261,25 @@ object ExtractAlignedFastq extends ToolCommand { logger.info("Writing to output file(s) ...") (commandArgs.inputFastq2, commandArgs.outputFastq2) match { - case (None, None) => extractReads(memFunc, - new FastqReader(commandArgs.inputFastq1), - new BasicFastqWriter(commandArgs.outputFastq1)) - - case (Some(i2), Some(o2)) => extractReads(memFunc, - new FastqReader(commandArgs.inputFastq1), - new BasicFastqWriter(commandArgs.outputFastq1), - new FastqReader(i2), - new BasicFastqWriter(o2)) - - case _ => // handled by the command line config check above + case (None, None) => + val in = new FastqReader(commandArgs.inputFastq1) + val out = new BasicFastqWriter(commandArgs.outputFastq1) + extractReads(memFunc, in, out) + in.close() + out.close() + + case (Some(i2), Some(o2)) => + val in1 = new FastqReader(commandArgs.inputFastq1) + val in2 = new FastqReader(i2) + val out1 = new BasicFastqWriter(commandArgs.outputFastq1) + val out2 = new BasicFastqWriter(o2) + extractReads(memFunc, in1, out1, in2, out2) + in1.close() + in2.close() + out1.close() + out2.close() + + case _ => ; // handled by the command line config check above } } }