From 33f6e6d7951d8f5aebdf11f43f0b70741cb4b4bd Mon Sep 17 00:00:00 2001 From: bow <bow@bow.web.id> Date: Fri, 30 Jan 2015 12:51:56 +0100 Subject: [PATCH] Use AsyncFastqWriter instead of BasicFastqWriter --- .../scala/nl/lumc/sasc/biopet/tools/FastqSync.scala | 11 ++++++----- .../nl/lumc/sasc/biopet/tools/FastqSyncTest.scala | 6 +++--- 2 files changed, 9 insertions(+), 8 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 089efa171..382b59925 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 @@ -17,7 +17,7 @@ import scala.collection.JavaConverters._ import argonaut._, Argonaut._ import scalaz._, Scalaz._ -import htsjdk.samtools.fastq.{ BasicFastqWriter, FastqReader, FastqRecord } +import htsjdk.samtools.fastq.{ AsyncFastqWriter, BasicFastqWriter, FastqReader, FastqRecord } import org.broadinstitute.gatk.utils.commandline.{ Input, Output } import nl.lumc.sasc.biopet.core.BiopetJavaCommandLineFunction @@ -185,8 +185,8 @@ object FastqSync extends ToolCommand { def writeSyncedFastq(sync: Stream[(FastqRecord, FastqRecord)], counts: SyncCounts, - outputFastq1: BasicFastqWriter, - outputFastq2: BasicFastqWriter): Unit = { + outputFastq1: AsyncFastqWriter, + outputFastq2: AsyncFastqWriter): Unit = { sync.foreach { case (rec1, rec2) => outputFastq1.write(rec1) @@ -281,8 +281,9 @@ object FastqSync extends ToolCommand { new FastqReader(commandArgs.inputFastq2)) writeSyncedFastq(synced, counts, - new BasicFastqWriter(commandArgs.outputFastq1), - new BasicFastqWriter(commandArgs.outputFastq2) + // using 3000 for queue size to approximate NFS buffer + new AsyncFastqWriter(new BasicFastqWriter(commandArgs.outputFastq1), 3000), + new AsyncFastqWriter(new BasicFastqWriter(commandArgs.outputFastq2), 3000) ) } } diff --git a/public/biopet-framework/src/test/scala/nl/lumc/sasc/biopet/tools/FastqSyncTest.scala b/public/biopet-framework/src/test/scala/nl/lumc/sasc/biopet/tools/FastqSyncTest.scala index 1c4a02b05..1c98a36f2 100644 --- a/public/biopet-framework/src/test/scala/nl/lumc/sasc/biopet/tools/FastqSyncTest.scala +++ b/public/biopet-framework/src/test/scala/nl/lumc/sasc/biopet/tools/FastqSyncTest.scala @@ -8,7 +8,7 @@ import java.io.File import java.nio.file.Paths import scala.collection.JavaConverters._ -import htsjdk.samtools.fastq.{ BasicFastqWriter, FastqReader, FastqRecord } +import htsjdk.samtools.fastq.{ AsyncFastqWriter, FastqReader, FastqRecord } import org.mockito.Mockito.{ inOrder => inOrd, when } import org.scalatest.Matchers import org.scalatest.mock.MockitoSugar @@ -191,8 +191,8 @@ class FastqSyncTest extends TestNGSuite with MockitoSugar with Matchers { } @Test def testWriteSynced() = { - val aMock = mock[BasicFastqWriter] - val bMock = mock[BasicFastqWriter] + val aMock = mock[AsyncFastqWriter] + val bMock = mock[AsyncFastqWriter] val sync = Stream( (new FastqRecord("1", "A", "", "H"), new FastqRecord("1", "T", "", "E")), (new FastqRecord("2", "A", "", "H"), new FastqRecord("2", "T", "", "E"))) -- GitLab