From 34024cc5dff54ce40583d17b9e517686dc815d27 Mon Sep 17 00:00:00 2001 From: sajvanderzeeuw <s.a.j.van_der_zeeuw@lumc.nl> Date: Fri, 16 Oct 2015 16:55:59 +0200 Subject: [PATCH] add bcf merge to shiva and create wrapper --- .../extensions/bcftools/BcftoolsCall.scala | 4 +- .../extensions/bcftools/BcftoolsMerge.scala | 49 +++++++++++++++++++ .../shiva/ShivaVariantcallingTrait.scala | 13 ++--- 3 files changed, 58 insertions(+), 8 deletions(-) create mode 100644 public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/bcftools/BcftoolsMerge.scala diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/bcftools/BcftoolsCall.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/bcftools/BcftoolsCall.scala index 8b721d36a..329ea4a65 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/bcftools/BcftoolsCall.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/bcftools/BcftoolsCall.scala @@ -34,13 +34,13 @@ class BcftoolsCall(val root: Configurable) extends Bcftools { var m: Boolean = config("m", default = false) var r: Option[String] = config("r") @Input(required = false) - var R: Option[String] = config("R") + var R: Option[File] = config("R") var s: Option[String] = config("s") @Input(required = false) var S: Option[File] = config("S") var t: Option[String] = config("t") @Input(required = false) - var T: Option[String] = config("T") + var T: Option[File] = config("T") var A: Boolean = config("A", default = false) var f: List[String] = config("f", default = Nil) var g: Option[Int] = config("g") diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/bcftools/BcftoolsMerge.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/bcftools/BcftoolsMerge.scala new file mode 100644 index 000000000..3a6fb6978 --- /dev/null +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/bcftools/BcftoolsMerge.scala @@ -0,0 +1,49 @@ +package nl.lumc.sasc.biopet.extensions.bcftools + +import java.io.File + +import nl.lumc.sasc.biopet.utils.config.Configurable +import org.broadinstitute.gatk.utils.commandline.{ Output, Input } + +/** + * Created by sajvanderzeeuw on 16-10-15. + */ +class BcftoolsMerge(val root: Configurable) extends Bcftools { + @Input(doc = "Input File", required = true) + var input: List[File] = Nil + + @Output(doc = "output File", required = false) + var output: File = _ + + @Input(required = false) + var R: Option[File] = config("R") + + @Input(required = false) + var useheader: Option[File] = config("useheader") + + @Input(required = false) + var l: Option[File] = config("l") + + var forcesamples: Boolean = config("forcesamples", default = false) + var printheader: Boolean = config("printheader", default = false) + var f: List[String] = config("f", default = Nil) + var i: List[String] = config("i", default = Nil) + var m: Option[String] = config("m") + var O: Option[String] = config("O") + var r: List[String] = config("r", default = Nil) + + def cmdLine = required(executable) + + required("merge") + + (if (outputAsStsout) "" else required("-o", output)) + + conditional(forcesamples, "--force-samples") + + conditional(printheader, "--print-header") + + optional("--use-header", useheader) + + optional("-f", f) + + optional("-i", i) + + optional("-l", l) + + optional("-m", m) + + optional("-O", O) + + optional("-r", r) + + optional("-R", R) + + repeat(input) +} diff --git a/public/shiva/src/main/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaVariantcallingTrait.scala b/public/shiva/src/main/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaVariantcallingTrait.scala index 365d4e638..1e49e4c38 100644 --- a/public/shiva/src/main/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaVariantcallingTrait.scala +++ b/public/shiva/src/main/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaVariantcallingTrait.scala @@ -19,7 +19,7 @@ import java.io.File import nl.lumc.sasc.biopet.core.summary.SummaryQScript import nl.lumc.sasc.biopet.core.{ Reference, SampleLibraryTag } -import nl.lumc.sasc.biopet.extensions.bcftools.BcftoolsCall +import nl.lumc.sasc.biopet.extensions.bcftools.{ BcftoolsMerge, BcftoolsCall } import nl.lumc.sasc.biopet.extensions.gatk.CombineVariants import nl.lumc.sasc.biopet.extensions.samtools.SamtoolsMpileup import nl.lumc.sasc.biopet.extensions.tools.{ MpileupToVcf, VcfFilter, VcfStats } @@ -201,11 +201,12 @@ trait ShivaVariantcallingTrait extends SummaryQScript with SampleLibraryTag with bt.output } - val cv = new CombineVariants(qscript) - cv.inputFiles = sampleVcfs - cv.outputFile = outputFile - cv.setKey = "null" - add(cv) + val bcfmerge = new BcftoolsMerge(qscript) + bcfmerge.input = sampleVcfs + bcfmerge.output = outputFile + bcfmerge.O = Some("z") + add(bcfmerge) + add(Tabix(qscript, outputFile)) } } -- GitLab