From d784dac495cf283809e0892a4df82c06ebc98246 Mon Sep 17 00:00:00 2001 From: kshakir Date: Wed, 8 Jun 2011 15:02:51 +0000 Subject: [PATCH] samtools merge requires indexed files, so added them as implicit inputs. git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@5962 348d0f76-0448-11de-a6fe-93d51630548a --- .../extensions/samtools/SamtoolsMergeFunction.scala | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/scala/src/org/broadinstitute/sting/queue/extensions/samtools/SamtoolsMergeFunction.scala b/scala/src/org/broadinstitute/sting/queue/extensions/samtools/SamtoolsMergeFunction.scala index d88484660..2b864def6 100644 --- a/scala/src/org/broadinstitute/sting/queue/extensions/samtools/SamtoolsMergeFunction.scala +++ b/scala/src/org/broadinstitute/sting/queue/extensions/samtools/SamtoolsMergeFunction.scala @@ -42,6 +42,19 @@ class SamtoolsMergeFunction extends SamtoolsCommandLineFunction { @Argument(doc="region", required=false) var region: String = _ + @Input(doc="BAM file input indexes") + var inputBamIndexes: List[File] = Nil + + override def freezeFieldValues = { + super.freezeFieldValues + inputBamIndexes ++= inputBams + .filter(orig => orig != null && orig.getName.endsWith(".bam")) + .flatMap(orig => Array( + new File(orig.getPath + ".bai"), + new File(orig.getPath.stripSuffix(".bam") + ".bai") + )) + } + def commandLine = "%s merge%s %s%s".format( samtools, optional(" -R ", region), outputBam, repeat(" ", inputBams))