From 9cc925040f45fc026d9937e19bebd72ccc904f0a Mon Sep 17 00:00:00 2001
From: Peter van 't Hof <p.j.van_t_hof@lumc.nl>
Date: Mon, 3 Nov 2014 17:47:17 +0100
Subject: [PATCH] Added index as output file

---
 .../sasc/biopet/extensions/picard/MarkDuplicates.scala    | 8 ++++++++
 .../nl/lumc/sasc/biopet/extensions/picard/SortSam.scala   | 8 ++++++++
 2 files changed, 16 insertions(+)

diff --git a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/picard/MarkDuplicates.scala b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/picard/MarkDuplicates.scala
index 0b4169ab1..bb9575e1a 100644
--- a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/picard/MarkDuplicates.scala
+++ b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/picard/MarkDuplicates.scala
@@ -52,6 +52,14 @@ class MarkDuplicates(val root: Configurable) extends Picard {
   @Argument(doc = "OPTICAL_DUPLICATE_PIXEL_DISTANCE", required = false)
   var opticalDuplicatePixelDistance: Option[Int] = config("opticalDuplicatePixelDistance")
 
+  @Output(doc = "Bam Index", required = true)
+  private var outputIndex: File = _
+  
+  override def afterGraph {
+    super.afterGraph
+    if (createIndex) outputIndex = new File(output.getAbsolutePath.stripSuffix(".bam") + ".bai")
+  }
+  
   override def commandLine = super.commandLine +
     repeat("INPUT=", input, spaceSeparated = false) +
     required("OUTPUT=", output, spaceSeparated = false) +
diff --git a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/picard/SortSam.scala b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/picard/SortSam.scala
index 119d411e7..82f1fac3d 100644
--- a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/picard/SortSam.scala
+++ b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/picard/SortSam.scala
@@ -16,6 +16,14 @@ class SortSam(val root: Configurable) extends Picard {
   @Argument(doc = "Sort order of output file Required. Possible values: {unsorted, queryname, coordinate} ", required = true)
   var sortOrder: String = _
 
+  @Output(doc = "Bam Index", required = true)
+  private var outputIndex: File = _
+  
+  override def afterGraph {
+    super.afterGraph
+    if (createIndex) outputIndex = new File(output.getAbsolutePath.stripSuffix(".bam") + ".bai")
+  }
+  
   override def commandLine = super.commandLine +
     required("INPUT=", input, spaceSeparated = false) +
     required("OUTPUT=", output, spaceSeparated = false) +
-- 
GitLab