From 5121ff2084f96371a1682a4e79ecb0064742b89e Mon Sep 17 00:00:00 2001
From: Peter van 't Hof <p.j.van_t_hof@lumc.nl>
Date: Wed, 4 Feb 2015 18:51:45 +0100
Subject: [PATCH] Added vcfstats to gatk pipeline

---
 .../biopet/pipelines/gatk/GatkVariantcalling.scala    |  8 +++++++-
 .../scala/nl/lumc/sasc/biopet/tools/VcfStats.scala    | 11 +++++++++--
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/protected/biopet-gatk-pipelines/src/main/scala/nl/lumc/sasc/biopet/pipelines/gatk/GatkVariantcalling.scala b/protected/biopet-gatk-pipelines/src/main/scala/nl/lumc/sasc/biopet/pipelines/gatk/GatkVariantcalling.scala
index 230eff772..10036b6bc 100644
--- a/protected/biopet-gatk-pipelines/src/main/scala/nl/lumc/sasc/biopet/pipelines/gatk/GatkVariantcalling.scala
+++ b/protected/biopet-gatk-pipelines/src/main/scala/nl/lumc/sasc/biopet/pipelines/gatk/GatkVariantcalling.scala
@@ -7,7 +7,7 @@ package nl.lumc.sasc.biopet.pipelines.gatk
 
 import nl.lumc.sasc.biopet.core.{ BiopetQScript, PipelineCommand }
 import java.io.File
-import nl.lumc.sasc.biopet.tools.{ MpileupToVcf, VcfFilter, MergeAlleles }
+import nl.lumc.sasc.biopet.tools.{ VcfStats, MpileupToVcf, VcfFilter, MergeAlleles }
 import nl.lumc.sasc.biopet.core.config.Configurable
 import nl.lumc.sasc.biopet.extensions.gatk.{ AnalyzeCovariates, BaseRecalibrator, GenotypeGVCFs, HaplotypeCaller, IndelRealigner, PrintReads, RealignerTargetCreator, SelectVariants, CombineVariants, UnifiedGenotyper }
 import nl.lumc.sasc.biopet.extensions.picard.MarkDuplicates
@@ -197,6 +197,12 @@ class GatkVariantcalling(val root: Configurable) extends QScript with BiopetQScr
       val cvFinal = CombineVariants(this, mergeList.toList, outputDir + outputName + ".final.vcf.gz")
       cvFinal.genotypemergeoption = org.broadinstitute.gatk.utils.variant.GATKVariantContextUtils.GenotypeMergeType.UNSORTED
       add(cvFinal)
+
+      val vcfStats = new VcfStats(this)
+      vcfStats.input = cvFinal.out
+      vcfStats.setOutputDir(outputDir + File.separator + "vcfstats")
+      add(vcfStats)
+
       scriptOutput.finalVcfFile = cvFinal.out
     }
   }
diff --git a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/tools/VcfStats.scala b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/tools/VcfStats.scala
index df32ef92d..d2ba5a337 100644
--- a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/tools/VcfStats.scala
+++ b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/tools/VcfStats.scala
@@ -22,7 +22,14 @@ class VcfStats(val root: Configurable) extends BiopetJavaCommandLineFunction {
   var input: File = _
 
   @Output(doc = "Output fastq", shortName = "o", required = true)
-  var output: File = _
+  protected var generalTsv: File = _
+
+  protected var outputDir: String = _
+
+  def setOutputDir(dir: String): Unit = {
+    outputDir = dir
+    generalTsv = new File(dir + File.separator + "genotype_general.tsv")
+  }
 
   /**
    * Creates command to execute extension
@@ -30,7 +37,7 @@ class VcfStats(val root: Configurable) extends BiopetJavaCommandLineFunction {
    */
   override def commandLine = super.commandLine +
     required("-I", input) +
-    required("-o", output)
+    required("-o", outputDir)
 }
 
 object VcfStats extends ToolCommand {
-- 
GitLab