VcfStatsForSv.scala 1.7 KB
Newer Older
akaljuvee's avatar
akaljuvee committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/**
 * Biopet is built on top of GATK Queue for building bioinformatic
 * pipelines. It is mainly intended to support LUMC SHARK cluster which is running
 * SGE. But other types of HPC that are supported by GATK Queue (such as PBS)
 * should also be able to execute Biopet tools and pipelines.
 *
 * Copyright 2014 Sequencing Analysis Support Core - Leiden University Medical Center
 *
 * Contact us at: sasc@lumc.nl
 *
 * A dual licensing mode is applied. The source code within this project is freely available for non-commercial use under an AGPL
 * license; For commercial users or users who do not want to follow the AGPL
 * license, please contact us to obtain a separate license.
 */
package nl.lumc.sasc.biopet.extensions.tools

import java.io.File

import nl.lumc.sasc.biopet.core.summary.Summarizable
import nl.lumc.sasc.biopet.core.ToolCommandFunction
import nl.lumc.sasc.biopet.utils.config.Configurable
import nl.lumc.sasc.biopet.utils.ConfigUtils
akaljuvee's avatar
-    
akaljuvee committed
23
import org.broadinstitute.gatk.utils.commandline.{ Argument, Input, Output }
akaljuvee's avatar
akaljuvee committed
24
25
26
27
28
29
30
31
32

class VcfStatsForSv(val parent: Configurable) extends ToolCommandFunction with Summarizable {
  def toolObject = nl.lumc.sasc.biopet.tools.vcfstats.VcfStatsForSv

  mainFunction = false

  @Input(required = true)
  var inputFile: File = _

akaljuvee's avatar
-    
akaljuvee committed
33
  @Argument(required = true)
akaljuvee's avatar
akaljuvee committed
34
35
36
37
38
  var histogramBinBoundaries: Array[Int] = _

  @Output(required = true)
  var outputFile: File = _

akaljuvee's avatar
-    
akaljuvee committed
39
40
  override def defaultCoreMemory = 1.0

akaljuvee's avatar
akaljuvee committed
41
42
43
44
45
  override def cmdLine = super.cmdLine +
    required("-i", inputFile) +
    required("-o", outputFile) +
    repeat("--histBinBoundaries", histogramBinBoundaries)

akaljuvee's avatar
-    
akaljuvee committed
46
  def summaryStats: Map[String, Any] = ConfigUtils.yamlToMap(outputFile)
akaljuvee's avatar
akaljuvee committed
47
48
49
50

  def summaryFiles: Map[String, File] = Map.empty

}