Variantcaller.scala 1.7 KB
Newer Older
Peter van 't Hof's avatar
Peter van 't Hof committed
1
2
3
4
5
6
7
8
9
10
/**
 * 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
 *
11
 * A dual licensing mode is applied. The source code within this project is freely available for non-commercial use under an AGPL
Peter van 't Hof's avatar
Peter van 't Hof committed
12
13
14
 * license; For commercial users or users who do not want to follow the AGPL
 * license, please contact us to obtain a separate license.
 */
15
16
package nl.lumc.sasc.biopet.pipelines.shiva.variantcallers

17
import nl.lumc.sasc.biopet.core.MultiSampleQScript.Gender
18
19
20
21
22
23
24
25
26
27
28
29
30
import nl.lumc.sasc.biopet.core.{ BiopetQScript, Reference }
import org.broadinstitute.gatk.queue.QScript

/**
 * Created by pjvan_thof on 11/19/15.
 */
trait Variantcaller extends QScript with BiopetQScript with Reference {

  /** Name of mode, this should also be used in the config */
  def name: String

  var namePrefix: String = _

31
32
  var genders: Map[String, Gender.Value] = _

Peter van 't Hof's avatar
Peter van 't Hof committed
33
34
  val mergeVcfResults: Boolean = config("merge_vcf_results", default = true)

Sander Bollen's avatar
Sander Bollen committed
35
  /**
Sander Bollen's avatar
Sander Bollen committed
36
37
   * Map of samplename -> (preprocessed) bam file
   */
38
  var inputBams: Map[String, File] = _
Peter van 't Hof's avatar
Peter van 't Hof committed
39
  var inputBqsrFiles: Map[String, File] = Map()
40
41
42
43
44
45
46
47
48
49
50
51
52

  def init() = {}

  /** Prio in merging  in the final file */
  protected def defaultPrio: Int

  /** Prio from the config */
  lazy val prio: Int = config("prio_" + name, default = defaultPrio)

  /** Final output file of this mode */
  def outputFile: File = new File(outputDir, namePrefix + s".$name.vcf.gz")
}