From 9d86b1ed467937070103fe85d169b693965c3128 Mon Sep 17 00:00:00 2001
From: Sander Bollen <a.h.b.bollen@lumc.nl>
Date: Thu, 12 Mar 2015 14:12:26 +0100
Subject: [PATCH] Fix BamMetrics to use file in stead of directory Fix
 markduplicates to not overwrite bam file with metrics file

---
 .../sasc/biopet/pipelines/bammetrics/BamMetrics.scala     | 5 +++--
 .../scala/nl/lumc/sasc/biopet/tools/BedToInterval.scala   | 8 --------
 .../nl/lumc/sasc/biopet/pipelines/shiva/ShivaTrait.scala  | 2 +-
 3 files changed, 4 insertions(+), 11 deletions(-)

diff --git a/public/bammetrics/src/main/scala/nl/lumc/sasc/biopet/pipelines/bammetrics/BamMetrics.scala b/public/bammetrics/src/main/scala/nl/lumc/sasc/biopet/pipelines/bammetrics/BamMetrics.scala
index 86519c398..6d2f519aa 100644
--- a/public/bammetrics/src/main/scala/nl/lumc/sasc/biopet/pipelines/bammetrics/BamMetrics.scala
+++ b/public/bammetrics/src/main/scala/nl/lumc/sasc/biopet/pipelines/bammetrics/BamMetrics.scala
@@ -88,8 +88,9 @@ class BamMetrics(val root: Configurable) extends QScript with SummaryQScript wit
 
     for (bedFile <- bedFiles) {
       //TODO: Add target jobs to summary
-      val targetDir = new File(outputDir, bedFile.getName.stripSuffix(".bed"))
-      val targetInterval = BedToInterval(this, bedFile, inputBam, targetDir)
+      val targetDir = bedFile.getParentFile
+      val targetFile = new File(outputDir, bedFile.getName.stripSuffix(".bed") + ".interval")
+      val targetInterval = BedToInterval(this, bedFile, inputBam, targetFile)
       add(targetInterval, true)
       add(CalculateHsMetrics(this, inputBam, if (baitIntervalFile != null) baitIntervalFile
       else targetInterval.output, targetInterval.output, targetDir))
diff --git a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/tools/BedToInterval.scala b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/tools/BedToInterval.scala
index 187c8e816..55b13c542 100644
--- a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/tools/BedToInterval.scala
+++ b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/tools/BedToInterval.scala
@@ -43,14 +43,6 @@ class BedToInterval(val root: Configurable) extends BiopetJavaCommandLineFunctio
 }
 
 object BedToInterval extends ToolCommand {
-  def apply(root: Configurable, inputBed: File, inputBam: File, outputDir: String): BedToInterval = {
-    val bedToInterval = new BedToInterval(root)
-    bedToInterval.input = inputBed
-    bedToInterval.bamFile = inputBam
-    bedToInterval.output = new File(outputDir, inputBed.getName.stripSuffix(".bed") + ".interval")
-    return bedToInterval
-  }
-
   def apply(root: Configurable, inputBed: File, inputBam: File, output: File): BedToInterval = {
     val bedToInterval = new BedToInterval(root)
     bedToInterval.input = inputBed
diff --git a/public/shiva/src/main/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaTrait.scala b/public/shiva/src/main/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaTrait.scala
index f0f2c69af..d98b01157 100644
--- a/public/shiva/src/main/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaTrait.scala
+++ b/public/shiva/src/main/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaTrait.scala
@@ -219,7 +219,7 @@ trait ShivaTrait extends MultiSampleQScript with SummaryQScript {
         val md = new MarkDuplicates(qscript)
         md.input = input
         md.output = new File(sampleDir, sampleId + ".dedup.bam")
-        md.outputMetrics = new File(sampleDir, sampleId + ".dedup.bam")
+        md.outputMetrics = new File(sampleDir, sampleId + ".dedup.metrics")
         md.isIntermediate = isIntermediate
         add(md)
         addSummarizable(md, "mark_duplicates")
-- 
GitLab