diff --git a/protected/basty/src/main/scala/nl/lumc/sasc/biopet/pipelines/basty/Basty.scala b/protected/basty/src/main/scala/nl/lumc/sasc/biopet/pipelines/basty/Basty.scala index 0f2eed5d1b30e96cb36d9cc6f3936e93a87364f2..6ee6e73f6dc05c15bbf9efc16e566fb98874c997 100644 --- a/protected/basty/src/main/scala/nl/lumc/sasc/biopet/pipelines/basty/Basty.scala +++ b/protected/basty/src/main/scala/nl/lumc/sasc/biopet/pipelines/basty/Basty.scala @@ -41,7 +41,7 @@ class Basty(val root: Configurable) extends QScript with MultiSampleQScript { var outputSnps: FastaOutput = _ protected def addJobs(): Unit = { - addLibsJobs() + addPerLibJobs() output = addGenerateFasta(sampleId, sampleDir) outputSnps = addGenerateFasta(sampleId, sampleDir, snpsOnly = true) } @@ -56,11 +56,13 @@ class Basty(val root: Configurable) extends QScript with MultiSampleQScript { gatkPipeline.biopetScript addAll(gatkPipeline.functions) + addPerSampleJobs() + } + + def addMultiSampleJobs(): Unit = { val refVariants = addGenerateFasta(null, outputDir + "reference/", outputName = "reference") val refVariantSnps = addGenerateFasta(null, outputDir + "reference/", outputName = "reference", snpsOnly = true) - addSamplesJobs() - val catVariants = Cat(this, refVariants.variants :: samples.map(_._2.output.variants).toList, outputDir + "fastas/variant.fasta") add(catVariants) val catVariantsSnps = Cat(this, refVariantSnps.variants :: samples.map(_._2.outputSnps.variants).toList, outputDir + "fastas/variant.snps_only.fasta") @@ -129,6 +131,7 @@ class Basty(val root: Configurable) extends QScript with MultiSampleQScript { addTreeJobs(catVariantsSnps.output, catConsensusVariantsSnps.output, outputDir + "trees" + File.separator + "snps_only", "snps_only") addTreeJobs(catVariants.output, catConsensusVariants.output, outputDir + "trees" + File.separator + "snps_indels", "snps_indels") + } def addGenerateFasta(sampleName: String, outputDir: String, outputName: String = null, diff --git a/protected/biopet-gatk-pipelines/src/main/scala/nl/lumc/sasc/biopet/pipelines/gatk/GatkPipeline.scala b/protected/biopet-gatk-pipelines/src/main/scala/nl/lumc/sasc/biopet/pipelines/gatk/GatkPipeline.scala index 8ea6f9706b0e675b3f4fa1271c72038b1b2c3d6f..c9b18c1be120be870a101d7d454d0b0444fbc769 100644 --- a/protected/biopet-gatk-pipelines/src/main/scala/nl/lumc/sasc/biopet/pipelines/gatk/GatkPipeline.scala +++ b/protected/biopet-gatk-pipelines/src/main/scala/nl/lumc/sasc/biopet/pipelines/gatk/GatkPipeline.scala @@ -127,7 +127,7 @@ class GatkPipeline(val root: Configurable) extends QScript with MultiSampleQScri gatkVariantcalling.outputDir = sampleDir + "/variantcalling/" protected def addJobs(): Unit = { - addLibsJobs() + addPerLibJobs() gatkVariantcalling.inputBams = libraries.map(_._2.mapping.finalBamFile).toList gatkVariantcalling.preProcesBams = false if (!singleSampleCalling) { @@ -150,10 +150,11 @@ class GatkPipeline(val root: Configurable) extends QScript with MultiSampleQScri override def configPath: List[String] = super.configPath ::: "multisample" :: Nil } - def biopetScript() { - addSamplesJobs + def biopetScript(): Unit = { + addPerSampleJobs + } - //SampleWide jobs + def addMultiSampleJobs(): Unit = { val gvcfFiles: List[File] = if (mergeGvcfs && externalGvcfs.size + samples.size > 1) { val newFile = outputDir + "merged.gvcf.vcf.gz" add(CombineGVCFs(this, externalGvcfs ++ samples.map(_._2.gatkVariantcalling.scriptOutput.gvcfFile), newFile)) diff --git a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/pipelines/MultisamplePipelineTemplate.scala b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/pipelines/MultisamplePipelineTemplate.scala index 1ccf16f428e6cd2482648f4e9f2cc030696c9799..271c06085ddd086a5f015c88d84e29a008272c89 100644 --- a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/pipelines/MultisamplePipelineTemplate.scala +++ b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/pipelines/MultisamplePipelineTemplate.scala @@ -37,6 +37,9 @@ class MultisamplePipelineTemplate(val root: Configurable) extends QScript with M } } + def addMultiSampleJobs(): Unit = { + } + def init(): Unit = { } diff --git a/public/carp/src/main/scala/nl/lumc/sasc/biopet/pipelines/carp/Carp.scala b/public/carp/src/main/scala/nl/lumc/sasc/biopet/pipelines/carp/Carp.scala index cd883186af6bc835ce278887f9beacda29acdf42..26b0707043ce11edf067eae0f9200d716f7dbb33 100644 --- a/public/carp/src/main/scala/nl/lumc/sasc/biopet/pipelines/carp/Carp.scala +++ b/public/carp/src/main/scala/nl/lumc/sasc/biopet/pipelines/carp/Carp.scala @@ -67,7 +67,7 @@ class Carp(val root: Configurable) extends QScript with MultiSampleQScript { val controls: List[String] = config("control", default = Nil) def addJobs(): Unit = { - addLibsJobs() + addPerLibJobs() val bamFiles = libraries.map(_._2.mapping.finalBamFile).toList if (bamFiles.length == 1) { add(Ln(qscript, bamFiles.head, bamFile)) @@ -102,8 +102,10 @@ class Carp(val root: Configurable) extends QScript with MultiSampleQScript { // Third step is calling peaks on the bam files produced with the mapping pipeline, this will be done with MACS2 logger.info("Starting CArP pipeline") - addSamplesJobs + addPerSampleJobs + } + def addMultiSampleJobs(): Unit = { for ((sampleId, sample) <- samples) { for (controlId <- sample.controls) { if (!samples.contains(controlId)) diff --git a/public/sage/src/main/scala/nl/lumc/sasc/biopet/pipelines/sage/Sage.scala b/public/sage/src/main/scala/nl/lumc/sasc/biopet/pipelines/sage/Sage.scala index 851e8481c5da2eff863760e1a9dfcaef180cc369..6c65e21bdf6eb22d0c38ea7737e0df222a85365d 100644 --- a/public/sage/src/main/scala/nl/lumc/sasc/biopet/pipelines/sage/Sage.scala +++ b/public/sage/src/main/scala/nl/lumc/sasc/biopet/pipelines/sage/Sage.scala @@ -103,7 +103,7 @@ class Sage(val root: Configurable) extends QScript with MultiSampleQScript { } protected def addJobs(): Unit = { - addLibsJobs() + addPerLibJobs() val libraryBamfiles = libraries.map(_._2.mapping.finalBamFile).toList val libraryFastqFiles = libraries.map(_._2.prefixFastq).toList @@ -151,7 +151,10 @@ class Sage(val root: Configurable) extends QScript with MultiSampleQScript { tagsLibrary = cdl.output } - addSamplesJobs + addPerSampleJobs + } + + def addMultiSampleJobs(): Unit = { } def addBedtoolsCounts(bamFile: File, outputPrefix: String, outputDir: String) {