diff --git a/public/basty/src/main/scala/nl/lumc/sasc/biopet/pipelines/basty/BastyTrait.scala b/public/basty/src/main/scala/nl/lumc/sasc/biopet/pipelines/basty/BastyTrait.scala index d9085369f0316b6a0474fe02cd15ef07c683713a..7da7f9c3ce26248867468bb59398533a87cd007e 100644 --- a/public/basty/src/main/scala/nl/lumc/sasc/biopet/pipelines/basty/BastyTrait.scala +++ b/public/basty/src/main/scala/nl/lumc/sasc/biopet/pipelines/basty/BastyTrait.scala @@ -180,7 +180,7 @@ trait BastyTrait extends MultiSampleQScript { snpsOnly: Boolean = false): FastaOutput = { val bastyGenerateFasta = new BastyGenerateFasta(this) bastyGenerateFasta.outputName = if (outputName != null) outputName else sampleName - bastyGenerateFasta.inputVcf = shiva.variantCalling.get.finalFile + bastyGenerateFasta.inputVcf = shiva.multisampleVariantCalling.get.finalFile if (shiva.samples.contains(sampleName)) { bastyGenerateFasta.bamFile = shiva.samples(sampleName).preProcessBam.get } diff --git a/public/shiva/src/main/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaTrait.scala b/public/shiva/src/main/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaTrait.scala index a396bb2e15bcf81adb5489b69bab541a8f181794..8a0cdb4396dcd6f3306c2df3f45988f9b8860d04 100644 --- a/public/shiva/src/main/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaTrait.scala +++ b/public/shiva/src/main/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaTrait.scala @@ -84,6 +84,9 @@ trait ShivaTrait extends MultiSampleQScript with Reference { /** Method to make a library */ def makeLibrary(id: String) = new Library(id) + /** Sample specific settings */ + override def summarySettings = Map("single_sample_variantcalling" -> variantcalling.isDefined) + /** Class to generate jobs for a library */ class Library(libId: String) extends AbstractLibrary(libId) { /** Library specific files to add to the summary */ @@ -101,6 +104,9 @@ trait ShivaTrait extends MultiSampleQScript with Reference { /** Method to execute library preprocess */ def preProcess(input: File): Option[File] = None + /** Library specific settings */ + override def summarySettings = Map("library_variantcalling" -> variantcalling.isDefined) + /** Method to make the mapping submodule */ def makeMapping = { val mapping = new Mapping(qscript) @@ -280,7 +286,7 @@ trait ShivaTrait extends MultiSampleQScript with Reference { } } - lazy val variantCalling = if (config("multisample_variantcalling", default = true).asBoolean) { + lazy val multisampleVariantCalling = if (config("multisample_variantcalling", default = true).asBoolean) { Some(makeVariantcalling(multisample = true)) } else None @@ -288,9 +294,14 @@ trait ShivaTrait extends MultiSampleQScript with Reference { Some(new ShivaSvCalling(this)) } else None + lazy val annotation = if (multisampleVariantCalling.isDefined && + config("annotation", default = false).asBoolean) { + Some(new Toucan(this)) + } else None + /** This will add the mutisample variantcalling */ def addMultiSampleJobs(): Unit = { - variantCalling.foreach(vc => { + multisampleVariantCalling.foreach(vc => { vc.outputDir = new File(outputDir, "variantcalling") vc.inputBams = samples.flatMap(_._2.preProcessBam).toList vc.init() @@ -298,8 +309,7 @@ trait ShivaTrait extends MultiSampleQScript with Reference { addAll(vc.functions) addSummaryQScript(vc) - if (config("annotation", default = false).asBoolean) { - val toucan = new Toucan(this) + annotation.foreach { toucan => toucan.outputDir = new File(outputDir, "annotation") toucan.inputVCF = vc.finalFile toucan.init() @@ -330,7 +340,10 @@ trait ShivaTrait extends MultiSampleQScript with Reference { Map( "reference" -> referenceSummary, "regions_of_interest" -> roiBedFiles.map(_.getName.stripSuffix(".bed")), - "amplicon_bed" -> ampliconBedFile.map(_.getName.stripSuffix(".bed")) + "amplicon_bed" -> ampliconBedFile.map(_.getName.stripSuffix(".bed")), + "annotation" -> annotation.isDefined, + "multisample_variantcalling" -> multisampleVariantCalling.isDefined, + "sv_calling" -> svCalling.isDefined ) }