From 922b3949afc188644776b70acb8a1363f640f610 Mon Sep 17 00:00:00 2001 From: bow <bow@bow.web.id> Date: Mon, 16 Feb 2015 10:18:40 +0100 Subject: [PATCH] Open and close handlers properly --- .../nl/lumc/sasc/biopet/tools/FastqSync.scala | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) 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 c01ddf388..5096bdea8 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() + } } } -- GitLab