diff --git a/public/flexiprep/src/main/scala/nl/lumc/sasc/biopet/pipelines/flexiprep/Flexiprep.scala b/public/flexiprep/src/main/scala/nl/lumc/sasc/biopet/pipelines/flexiprep/Flexiprep.scala index 1f1f2510cc600544c95d8db117bad3c3e888be01..7c2b9ace137c347e9f78d99543eb56ebf28ef5b4 100644 --- a/public/flexiprep/src/main/scala/nl/lumc/sasc/biopet/pipelines/flexiprep/Flexiprep.scala +++ b/public/flexiprep/src/main/scala/nl/lumc/sasc/biopet/pipelines/flexiprep/Flexiprep.scala @@ -195,6 +195,7 @@ class Flexiprep(val root: Configurable) extends QScript with SummaryQScript with override def beforeGraph(): Unit = { fqSync.beforeGraph() + commands = qcCmdR1.jobs ::: qcCmdR2.jobs ::: fqSync :: Nil super.beforeGraph() } diff --git a/public/flexiprep/src/main/scala/nl/lumc/sasc/biopet/pipelines/flexiprep/QcCommand.scala b/public/flexiprep/src/main/scala/nl/lumc/sasc/biopet/pipelines/flexiprep/QcCommand.scala index 4cb06039b07e2bbe33fa4396aebc98a022189952..8eb65f074ea17561d45f66511c1fda343a235617 100644 --- a/public/flexiprep/src/main/scala/nl/lumc/sasc/biopet/pipelines/flexiprep/QcCommand.scala +++ b/public/flexiprep/src/main/scala/nl/lumc/sasc/biopet/pipelines/flexiprep/QcCommand.scala @@ -50,7 +50,15 @@ class QcCommand(val root: Configurable, val fastqc: Fastqc) extends BiopetComman val seqtk = new SeqtkSeq(root) var clip: Option[Cutadapt] = None var trim: Option[Sickle] = None - var outputCommand: BiopetCommandLineFunction = null + lazy val outputCommand: BiopetCommandLineFunction = if (compress) { + val gzip = Gzip(root) + gzip.output = output + gzip + } else { + val cat = Cat(root) + cat.output = output + cat + } def jobs = (Some(seqtk) :: clip :: trim :: Some(outputCommand) :: Nil).flatten @@ -123,16 +131,9 @@ class QcCommand(val root: Configurable, val fastqc: Fastqc) extends BiopetComman case _ => seqtk.output } - if (compress) outputCommand = { - val gzip = new Gzip(root) - gzip.output = output - outputFile :<: gzip - } - else outputCommand = { - val cat = new Cat(root) - cat.input = outputFile :: Nil - cat.output = output - cat + outputCommand match { + case gzip: Gzip => outputFile :<: gzip + case cat: Cat => cat.input = outputFile :: Nil } seqtk.beforeGraph()