Skip to content
Snippets Groups Projects
Commit 03c15ef3 authored by Peter van 't Hof's avatar Peter van 't Hof
Browse files

Added combine reads for GearsSingle

parent ca7bba56
No related branches found
No related tags found
No related merge requests found
...@@ -2,7 +2,8 @@ package nl.lumc.sasc.biopet.pipelines.gears ...@@ -2,7 +2,8 @@ package nl.lumc.sasc.biopet.pipelines.gears
import nl.lumc.sasc.biopet.core.SampleLibraryTag import nl.lumc.sasc.biopet.core.SampleLibraryTag
import nl.lumc.sasc.biopet.core.summary.SummaryQScript import nl.lumc.sasc.biopet.core.summary.SummaryQScript
import nl.lumc.sasc.biopet.extensions.Flash import nl.lumc.sasc.biopet.extensions.{Cutadapt, Flash}
import nl.lumc.sasc.biopet.pipelines.flexiprep.Fastqc
import nl.lumc.sasc.biopet.utils.config.Configurable import nl.lumc.sasc.biopet.utils.config.Configurable
import org.broadinstitute.gatk.queue.QScript import org.broadinstitute.gatk.queue.QScript
...@@ -15,18 +16,59 @@ class CombineReads(val root: Configurable) extends QScript with SummaryQScript w ...@@ -15,18 +16,59 @@ class CombineReads(val root: Configurable) extends QScript with SummaryQScript w
@Input(doc = "R2 reads in FastQ format", shortName = "R2", required = false) @Input(doc = "R2 reads in FastQ format", shortName = "R2", required = false)
var fastqR2: File = _ var fastqR2: File = _
override def fixedValues = Map("flash" -> Map("compress" -> true))
/** Init for pipeline */ /** Init for pipeline */
def init(): Unit = { def init(): Unit = {
} }
private lazy val flash = new Flash(this)
private lazy val forwardPrimers: List[String] = config("forward_primers")
private lazy val reversePrimers: List[String] = config("reverse_primers")
def combinedFastq: File = if ((forwardPrimers :: reversePrimers).nonEmpty)
swapExt(outputDir, flash.combinedFastq, ".fastq.gz", ".clip.fastq.gz")
else flash.combinedFastq
def notCombinedR1Fastq: File = if ((forwardPrimers :: reversePrimers).nonEmpty)
swapExt(outputDir, flash.notCombinedR1, ".fastq.gz", ".clip.fastq.gz")
else flash.notCombinedR1
def notCombinedR2Fastq: File = if ((forwardPrimers :: reversePrimers).nonEmpty)
swapExt(outputDir, flash.notCombinedR2, ".fastq.gz", ".clip.fastq.gz")
else flash.notCombinedR2
/** Pipeline itself */ /** Pipeline itself */
def biopetScript(): Unit = { def biopetScript(): Unit = {
val flash = new Flash(this)
flash.outputDirectory = new File(outputDir, "flash") flash.outputDirectory = new File(outputDir, "flash")
flash.fastqR1 = fastqR1 flash.fastqR1 = fastqR1
flash.fastqR2 = fastqR2 flash.fastqR2 = fastqR2
flash.isIntermediate = (forwardPrimers ::: reversePrimers).nonEmpty
add(flash) add(flash)
if ((forwardPrimers ::: reversePrimers).nonEmpty) {
val cutadapt = new Cutadapt(this)
cutadapt.fastq_input = flash.combinedFastq
cutadapt.fastq_output = this.combinedFastq
cutadapt.stats_output = swapExt(outputDir, cutadapt.fastq_output, ".fastq.gz", ".stats")
cutadapt.opt_anywhere ++= (forwardPrimers ::: reversePrimers)
add(cutadapt)
addSummarizable(cutadapt, "cutadapt")
}
val combinedFastqc = Fastqc(this, this.combinedFastq, new File(outputDir, "combined_fastqc"))
add(combinedFastqc)
addSummarizable(combinedFastqc, "fastqc_combined")
val notCombinedR1Fastqc = Fastqc(this, this.combinedFastq, new File(outputDir, "not_combined_R1_fastqc"))
add(notCombinedR1Fastqc)
addSummarizable(notCombinedR1Fastqc, "fastqc_not_combined_R1")
val notCombinedR2Fastqc = Fastqc(this, this.combinedFastq, new File(outputDir, "not_combined_R2_fastqc"))
add(notCombinedR2Fastqc)
addSummarizable(notCombinedR2Fastqc, "fastqc_not_combined_R2")
} }
/** Must return a map with used settings for this pipeline */ /** Must return a map with used settings for this pipeline */
......
...@@ -104,12 +104,12 @@ class GearsSingle(val root: Configurable) extends QScript with SummaryQScript wi ...@@ -104,12 +104,12 @@ class GearsSingle(val root: Configurable) extends QScript with SummaryQScript wi
lazy val combinedFastq = { lazy val combinedFastq = {
r2 match { r2 match {
case Some(r2) => case Some(r2) =>
val flash = new Flash(this) val combineReads = new CombineReads(this)
flash.outputDirectory = new File(outputDir, "combine_reads_flash") combineReads.outputDir = new File(outputDir, "combine_reads")
flash.fastqR1 = r1 combineReads.fastqR1 = r1
flash.fastqR2 = r2 combineReads.fastqR2 = r2
add(flash) add(combineReads)
flash.combinedFastq combineReads.combinedFastq
case _ => r1 case _ => r1
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment