From 5f8a8375d905949ac74c304c7aa3c387e3329030 Mon Sep 17 00:00:00 2001 From: Peter van 't Hof <p.j.van_t_hof@lumc.nl> Date: Tue, 3 Feb 2015 11:51:58 +0100 Subject: [PATCH] Implemented addMultisampleJobs method --- .../nl/lumc/sasc/biopet/pipelines/basty/Basty.scala | 9 ++++++--- .../lumc/sasc/biopet/pipelines/gatk/GatkPipeline.scala | 9 +++++---- .../biopet/pipelines/MultisamplePipelineTemplate.scala | 3 +++ .../scala/nl/lumc/sasc/biopet/pipelines/carp/Carp.scala | 6 ++++-- .../scala/nl/lumc/sasc/biopet/pipelines/sage/Sage.scala | 7 +++++-- 5 files changed, 23 insertions(+), 11 deletions(-) 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 0f2eed5d1..6ee6e73f6 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 8ea6f9706..c9b18c1be 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 1ccf16f42..271c06085 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 cd883186a..26b070704 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 851e8481c..6c65e21bd 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) { -- GitLab