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 8b721d36ae3125e416c1ecc53905d5ec8d70760d..329ea4a656cd6a45d995109d0d99f7b0b3154f05 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 0000000000000000000000000000000000000000..3a6fb6978cfb63deae159ad620ef472a28cdd7c2 --- /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 365d4e638524c1a2d10b320328134b50e8f2524d..1e49e4c38e3ce0938b07fddcd81cb1440db029f8 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)) } }