From f7ea04a735ea13d5a6ae7433dc74cefcfad9fb2b Mon Sep 17 00:00:00 2001 From: Peter van 't Hof <p.j.van_t_hof@lumc.nl> Date: Tue, 22 Sep 2015 12:40:47 +0200 Subject: [PATCH] Use piping after bwamem --- .../extensions/samtools/SamtoolsSort.scala | 6 +++--- .../biopet/pipelines/mapping/Mapping.scala | 18 +++++++++++++----- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/public/biopet-extentsions/src/main/scala/nl/lumc/sasc/biopet/extensions/samtools/SamtoolsSort.scala b/public/biopet-extentsions/src/main/scala/nl/lumc/sasc/biopet/extensions/samtools/SamtoolsSort.scala index d2f723f9e..fee7906d2 100644 --- a/public/biopet-extentsions/src/main/scala/nl/lumc/sasc/biopet/extensions/samtools/SamtoolsSort.scala +++ b/public/biopet-extentsions/src/main/scala/nl/lumc/sasc/biopet/extensions/samtools/SamtoolsSort.scala @@ -16,9 +16,9 @@ class SamtoolsSort(val root: Configurable) extends Samtools { @Output var output: File = _ - val compresion: Option[Int] = config("l") - val outputFormat: Option[String] = config("O") - val sortByName: Boolean = config("sort_by_name", default = false) + var compresion: Option[Int] = config("l") + var outputFormat: Option[String] = config("O") + var sortByName: Boolean = config("sort_by_name", default = false) val prefix: String = config("prefix", default = new File(qSettings.tempDirectory, output.getAbsolutePath)) def cmdLine = optional("-m", (coreMemeory + "G")) + diff --git a/public/mapping/src/main/scala/nl/lumc/sasc/biopet/pipelines/mapping/Mapping.scala b/public/mapping/src/main/scala/nl/lumc/sasc/biopet/pipelines/mapping/Mapping.scala index 9d508b12c..24ec2a2bb 100644 --- a/public/mapping/src/main/scala/nl/lumc/sasc/biopet/pipelines/mapping/Mapping.scala +++ b/public/mapping/src/main/scala/nl/lumc/sasc/biopet/pipelines/mapping/Mapping.scala @@ -19,6 +19,7 @@ import java.io.File import java.util.Date import nl.lumc.sasc.biopet.core._ +import nl.lumc.sasc.biopet.extensions.samtools.SamtoolsSort import nl.lumc.sasc.biopet.utils.config.Configurable import nl.lumc.sasc.biopet.core.summary.SummaryQScript import nl.lumc.sasc.biopet.extensions.bwa.{ BwaAln, BwaMem, BwaSampe, BwaSamse } @@ -331,11 +332,18 @@ class Mapping(val root: Configurable) extends QScript with SummaryQScript with S bwaCommand.R = Some(getReadGroupBwa) bwaCommand.output = swapExt(output.getParent, output, ".bam", ".sam") bwaCommand.isIntermediate = true - add(bwaCommand) - val sortSam = SortSam(this, bwaCommand.output, output) - if (chunking || !skipMarkduplicates) sortSam.isIntermediate = true - add(sortSam) - sortSam.output + if (config("use_pipes", default = true).asBoolean) { + val samtoolsSort = new SamtoolsSort(this) + samtoolsSort.outputFormat = Some("bam") + samtoolsSort.output = output + add(bwaCommand | samtoolsSort) + } else { + add(bwaCommand) + val sortSam = SortSam(this, bwaCommand.output, output) + if (chunking || !skipMarkduplicates) sortSam.isIntermediate = true + add(sortSam) + } + output } def addGsnap(R1: File, R2: Option[File], output: File, deps: List[File]): File = { -- GitLab