diff --git a/bam-metrics/src/main/scala/nl/lumc/sasc/biopet/pipelines/bammetrics/BamMetrics.scala b/bam-metrics/src/main/scala/nl/lumc/sasc/biopet/pipelines/bammetrics/BamMetrics.scala index 0c4619259b231540b585fb3d028b482ebaf4945d..930c8b73b8c96ed7a8e12c738c6d59aad5357def 100644 --- a/bam-metrics/src/main/scala/nl/lumc/sasc/biopet/pipelines/bammetrics/BamMetrics.scala +++ b/bam-metrics/src/main/scala/nl/lumc/sasc/biopet/pipelines/bammetrics/BamMetrics.scala @@ -7,7 +7,7 @@ import java.io.File import nl.lumc.sasc.biopet.core.apps.{BedToInterval, BiopetFlagstat} import nl.lumc.sasc.biopet.core.config.Configurable import nl.lumc.sasc.biopet.function.bedtools.{BedtoolsCoverage, BedtoolsIntersect} -import nl.lumc.sasc.biopet.function.picard.{CollectInsertSizeMetrics, CollectGcBiasMetrics, CalculateHsMetrics} +import nl.lumc.sasc.biopet.function.picard.{CollectInsertSizeMetrics, CollectGcBiasMetrics, CalculateHsMetrics, CollectAlignmentSummaryMetrics} import nl.lumc.sasc.biopet.function.samtools.SamtoolsFlagstat class BamMetrics(val root:Configurable) extends QScript with BiopetQScript { @@ -36,6 +36,7 @@ class BamMetrics(val root:Configurable) extends QScript with BiopetQScript { add(BiopetFlagstat(this, inputBam, outputDir)) add(CollectGcBiasMetrics(this, inputBam, outputDir)) add(CollectInsertSizeMetrics(this, inputBam, outputDir)) + add(CollectAlignmentSummaryMetrics(this, inputBam, outputDir)) val baitIntervalFile = if (baitBedFile != null) new File(outputDir, baitBedFile.getName.stripSuffix(".bed") + ".interval") else null if (baitIntervalFile != null) diff --git a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/BiopetCommandLineFunctionTrait.scala b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/BiopetCommandLineFunctionTrait.scala index 5dd12235104741a8bef43ded1f40520d6bc966f2..1444720854e34cc459a458bab1185e359c42b4fc 100644 --- a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/BiopetCommandLineFunctionTrait.scala +++ b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/BiopetCommandLineFunctionTrait.scala @@ -22,8 +22,8 @@ trait BiopetCommandLineFunctionTrait extends CommandLineFunction with Configurab var vmem: String = _ val defaultVmem: String = "" - @Argument(doc="Executeble") - var executeble: String = _ + @Argument(doc="Executable") + var executable: String = _ protected def beforeCmd { } @@ -32,7 +32,7 @@ trait BiopetCommandLineFunctionTrait extends CommandLineFunction with Configurab } override def freezeFieldValues() { - checkExecuteble + checkExecutable afterGraph jobOutputFile = new File(firstOutput.getParent + "/." + firstOutput.getName + "." + analysisName + ".out") @@ -49,26 +49,26 @@ trait BiopetCommandLineFunctionTrait extends CommandLineFunction with Configurab super.freezeFieldValues() } - protected def checkExecuteble { - try if (executeble != null) { + protected def checkExecutable { + try if (executable != null) { val buffer = new StringBuffer() - val cmd = Seq("which", executeble) + val cmd = Seq("which", executable) val process = Process(cmd).run(ProcessLogger(buffer.append(_))) if (process.exitValue == 0) { - executeble = buffer.toString - val file = new File(executeble) - executeble = file.getCanonicalPath + executable = buffer.toString + val file = new File(executable) + executable = file.getCanonicalPath } else { - logger.error("executeble: '" + executeble + "' not found, please check config") - throw new QException("executeble: '" + executeble + "' not found, please check config") + logger.error("executable: '" + executable + "' not found, please check config") + throw new QException("executable: '" + executable + "' not found, please check config") } } catch { - case ioe: java.io.IOException => logger.warn("Could not use 'which', check on executeble skipped: " + ioe) + case ioe: java.io.IOException => logger.warn("Could not use 'which', check on executable skipped: " + ioe) } } final protected def preCmdInternal { - checkExecuteble + checkExecutable //for (input <- this.inputs) if (!input.exists) throw new IllegalStateException("Input: " + input + " for " + analysisName + " is missing") //logger.debug("Config for " + analysisName + ": " + localConfig) @@ -96,7 +96,7 @@ trait BiopetCommandLineFunctionTrait extends CommandLineFunction with Configurab case _ => } } - logger.warn("Version command: '" + versionCommand + "' give a exit code " + process.exitValue + " but no version was found, executeble oke?") + logger.warn("Version command: '" + versionCommand + "' give a exit code " + process.exitValue + " but no version was found, executable oke?") return "N/A" } diff --git a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/BiopetJavaCommandLineFunction.scala b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/BiopetJavaCommandLineFunction.scala index 1109bbb009d6a6e08fca248d85f969907ad21093..543d9450474b4eace2b36b737315fa02b7f6e3c9 100644 --- a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/BiopetJavaCommandLineFunction.scala +++ b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/BiopetJavaCommandLineFunction.scala @@ -3,12 +3,12 @@ package nl.lumc.sasc.biopet.core import org.broadinstitute.gatk.queue.function.JavaCommandLineFunction abstract class BiopetJavaCommandLineFunction extends JavaCommandLineFunction with BiopetCommandLineFunctionTrait { - executeble = "java" + executable = "java" override def commandLine: String = { preCmdInternal val cmd = super.commandLine - val finalCmd = executeble + cmd.substring(cmd.indexOf(" ")) + val finalCmd = executable + cmd.substring(cmd.indexOf(" ")) // addJobReportBinding("command", cmd) return cmd } diff --git a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/Cat.scala b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/Cat.scala index bcdcc040f9ac470c82bcbf6964818b04b497016d..497085b543ec309857ba8baec4a50cb2365277fb 100644 --- a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/Cat.scala +++ b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/Cat.scala @@ -12,9 +12,9 @@ class Cat(val root:Configurable) extends BiopetCommandLineFunction { @Output(doc="Unzipped file", required=true) var output: File = _ - executeble = config("exe", "cat") + executable = config("exe", "cat") - def cmdLine = required(executeble) + repeat(input) + " > " + required(output) + def cmdLine = required(executable) + repeat(input) + " > " + required(output) } object Cat { diff --git a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/Pbzip2.scala b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/Pbzip2.scala index 424b3109bdaeff85c1419f6aa1fe297f75d1c0ee..52fa44c875921d35c0b25396ab7f84924da94b0b 100644 --- a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/Pbzip2.scala +++ b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/Pbzip2.scala @@ -13,7 +13,7 @@ class Pbzip2(val root:Configurable) extends BiopetCommandLineFunction { @Output(doc="Unzipped file") var output: File = _ - executeble = config("exe", "pbzip2") + executable = config("exe", "pbzip2") var decomrpess = true var memory: Int = config("memory", 1000) @@ -25,7 +25,7 @@ class Pbzip2(val root:Configurable) extends BiopetCommandLineFunction { memory = memory * threads } - def cmdLine = required(executeble) + + def cmdLine = required(executable) + conditional(decomrpess, "-d") + conditional(!decomrpess, "-z") + optional("-p", threads, spaceSeparated=false) + diff --git a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/PythonCommandLineFunction.scala b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/PythonCommandLineFunction.scala index 5eac0f3183ef4489709d520e8c8eec24f9ab8b48..dc347be64d084fdac342afd69a8a1f78ab68d1ec 100644 --- a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/PythonCommandLineFunction.scala +++ b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/PythonCommandLineFunction.scala @@ -10,7 +10,7 @@ trait PythonCommandLineFunction extends BiopetCommandLineFunction { @Input(doc="Python script", required=false) var python_script: File = _ - executeble = config("python_exe", "python") + executable = config("python_exe", "python") protected var python_script_name : String = _ def setPythonScript(script:String) { setPythonScript(script,"") } @@ -25,6 +25,6 @@ trait PythonCommandLineFunction extends BiopetCommandLineFunction { } def getPythonCommand() : String = { - required(executeble) + required(python_script) + required(executable) + required(python_script) } } diff --git a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/Sha1sum.scala b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/Sha1sum.scala index 136a6919ea85685658cf871cb181b2c010346ea6..b8c8a03712d0a5d9fef7f6fa7c90774183b9b4a5 100644 --- a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/Sha1sum.scala +++ b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/Sha1sum.scala @@ -12,7 +12,7 @@ class Sha1sum(val root:Configurable) extends BiopetCommandLineFunction { @Output(doc="Unzipped file") var output: File = _ - executeble = config("exe","sha1sum") + executable = config("exe","sha1sum") - def cmdLine = required(executeble) + required(input) + " > " + required(output) + def cmdLine = required(executable) + required(input) + " > " + required(output) } \ No newline at end of file diff --git a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/Zcat.scala b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/Zcat.scala index 282aff06fd57de22d9023c3bd5ae426c1fc061fc..931b7183b0af80ed8cb677afbcea87c533bd3894 100644 --- a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/Zcat.scala +++ b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/Zcat.scala @@ -12,9 +12,9 @@ class Zcat(val root:Configurable) extends BiopetCommandLineFunction { @Output(doc="Unzipped file") var output: File = _ - executeble = config("exe", "zcat") + executable = config("exe", "zcat") - def cmdLine = required(executeble) + required(input) + " > " + required(output) + def cmdLine = required(executable) + required(input) + " > " + required(output) } object Zcat { diff --git a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/bedtools/Bedtools.scala b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/bedtools/Bedtools.scala index 0f3d8c206037142c2ae72eb0bc21d716f0649421..522bbc1a1e51812cb7d63823b2fb43b58def6372 100644 --- a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/bedtools/Bedtools.scala +++ b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/bedtools/Bedtools.scala @@ -3,7 +3,7 @@ package nl.lumc.sasc.biopet.function.bedtools import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction abstract class Bedtools extends BiopetCommandLineFunction { - executeble = config("exe", "bedtools", "bedtools") - override def versionCommand = executeble + " --version" + executable = config("exe", "bedtools", "bedtools") + override def versionCommand = executable + " --version" override val versionRegex = """bedtools (.*)""".r } \ No newline at end of file diff --git a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/bedtools/BedtoolsCoverage.scala b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/bedtools/BedtoolsCoverage.scala index d1e9bef388e6ff2adba04fdc5d58c873b15aa5ea..a6f57ea0edbb0fff73aa2cbcf4e91d4a1f21f3df 100644 --- a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/bedtools/BedtoolsCoverage.scala +++ b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/bedtools/BedtoolsCoverage.scala @@ -23,7 +23,7 @@ class BedtoolsCoverage(val root:Configurable) extends Bedtools { if (input.getName.endsWith(".bam")) inputTag = "-abam" } - def cmdLine = required(executeble) + required("coverage") + + def cmdLine = required(executable) + required("coverage") + required(inputTag, input) + required("-b", intersectFile) + conditional(depth, "-d") + diff --git a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/bedtools/BedtoolsIntersect.scala b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/bedtools/BedtoolsIntersect.scala index 5cdc9fa1472f3f8821a8e41d1ac2bee1d100e471..8ffa3993db0b4e21c3af6ab6428d72f152fd290e 100644 --- a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/bedtools/BedtoolsIntersect.scala +++ b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/bedtools/BedtoolsIntersect.scala @@ -26,7 +26,7 @@ class BedtoolsIntersect(val root:Configurable) extends Bedtools { if (input.getName.endsWith(".bam")) inputTag = "-abam" } - def cmdLine = required(executeble) + required("intersect") + + def cmdLine = required(executable) + required("intersect") + required(inputTag, input) + required("-b", intersectFile) + required("-f", minOverlap) + diff --git a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/picard/Picard.scala b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/picard/Picard.scala index 8e2c4717d2cb8203754459908eafec49fe65d92b..8016282f14426f40cec125682610be11ca329bb5 100644 --- a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/picard/Picard.scala +++ b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/picard/Picard.scala @@ -25,7 +25,7 @@ trait Picard extends BiopetJavaCommandLineFunction { @Argument(doc="CREATE_MD5_FILE", required = false) var createMd5: Boolean = config("createmd5", false, "picard") - override def versionCommand = executeble + " " + javaOpts + " " + javaExecutable + " -h" + override def versionCommand = executable + " " + javaOpts + " " + javaExecutable + " -h" override val versionRegex = """Version: (.*)""".r override val versionExitcode = List(0,1) diff --git a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/samtools/Samtools.scala b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/samtools/Samtools.scala index 816f28304437434e60f4cc6e95c918aa6691e6e1..f362babf20b0018369c7bce9da10e260ff22fd89 100644 --- a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/samtools/Samtools.scala +++ b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/samtools/Samtools.scala @@ -3,8 +3,8 @@ package nl.lumc.sasc.biopet.function.samtools import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction abstract class Samtools extends BiopetCommandLineFunction { - executeble = config("exe", "samtools", "samtools") - override def versionCommand = executeble + executable = config("exe", "samtools", "samtools") + override def versionCommand = executable override val versionRegex = """Version: (.*)""".r override val versionExitcode = List(0,1) } \ No newline at end of file diff --git a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/samtools/SamtoolsFlagstat.scala b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/samtools/SamtoolsFlagstat.scala index a469f69ff4cdedfbf2faaf8fc7ab7002ec30e037..53f1eb6e16aafc9f9a48afb216f76faf87a7b872 100644 --- a/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/samtools/SamtoolsFlagstat.scala +++ b/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/function/samtools/SamtoolsFlagstat.scala @@ -11,7 +11,7 @@ class SamtoolsFlagstat(val root:Configurable) extends Samtools { @Output(doc="output File") var output: File = _ - def cmdLine = required(executeble) + required("flagstat") + required(input) + " > " + required(output) + def cmdLine = required(executable) + required("flagstat") + required(input) + " > " + required(output) } object SamtoolsFlagstat { diff --git a/flexiprep/src/main/scala/nl/lumc/sasc/biopet/function/fastq/Cutadapt.scala b/flexiprep/src/main/scala/nl/lumc/sasc/biopet/function/fastq/Cutadapt.scala index 7081e36e21d91a0f5b249ff1dcf65cf441f356c1..f00b0c78a0cb3f6bd638aa733c02c069e8bd73aa 100644 --- a/flexiprep/src/main/scala/nl/lumc/sasc/biopet/function/fastq/Cutadapt.scala +++ b/flexiprep/src/main/scala/nl/lumc/sasc/biopet/function/fastq/Cutadapt.scala @@ -17,8 +17,8 @@ class Cutadapt(val root:Configurable) extends BiopetCommandLineFunction { @Output(doc="Output fastq file") var fastq_output: File = _ - executeble = config("exe","cutadapt") - override def versionCommand = executeble + " --version" + executable = config("exe","cutadapt") + override def versionCommand = executable + " --version" override val versionRegex = """(.*)""".r var default_clip_mode:String = config("default_clip_mode", "3") @@ -37,7 +37,7 @@ class Cutadapt(val root:Configurable) extends BiopetCommandLineFunction { def cmdLine = { if (!opt_adapter.isEmpty || !opt_anywhere.isEmpty || !opt_front.isEmpty) { analysisName = getClass.getName - required(executeble) + + required(executable) + // options repeat("-a", opt_adapter) + repeat("-b", opt_anywhere) + diff --git a/flexiprep/src/main/scala/nl/lumc/sasc/biopet/function/fastq/Fastqc.scala b/flexiprep/src/main/scala/nl/lumc/sasc/biopet/function/fastq/Fastqc.scala index 30d01566f36e51b1be9cdda734a1f0560dd2b71a..630a27de9071d460e6099cd66397f1bf1ad02038 100644 --- a/flexiprep/src/main/scala/nl/lumc/sasc/biopet/function/fastq/Fastqc.scala +++ b/flexiprep/src/main/scala/nl/lumc/sasc/biopet/function/fastq/Fastqc.scala @@ -17,7 +17,7 @@ class Fastqc(val root:Configurable) extends BiopetCommandLineFunction { @Output(doc="Output", shortName="out") var output: File = _ - executeble = config("exe","fastqc") + executable = config("exe","fastqc") var java_exe: String = config("exe", "java", "java") var kmers: Int = config("kmers", 5) var quiet: Boolean = config("quiet", false) @@ -28,15 +28,15 @@ class Fastqc(val root:Configurable) extends BiopetCommandLineFunction { override val defaultThreads = 4 override def afterGraph { - this.checkExecuteble - val fastqcDir = executeble.substring(0, executeble.lastIndexOf("/")) + this.checkExecutable + val fastqcDir = executable.substring(0, executable.lastIndexOf("/")) if (contaminants == null) contaminants = new File(fastqcDir + "/Contaminants/contaminant_list.txt") } - override def versionCommand = executeble + " --version" + override def versionCommand = executable + " --version" def cmdLine = { - required(executeble) + + required(executable) + optional("--java", java_exe) + optional("--threads",threads) + optional("--contaminants",contaminants) + diff --git a/flexiprep/src/main/scala/nl/lumc/sasc/biopet/function/fastq/Sickle.scala b/flexiprep/src/main/scala/nl/lumc/sasc/biopet/function/fastq/Sickle.scala index ed0b44608a8a7cfcfead2266edb7878a59d53fca..79af73b5b0a35a9e83cc03f6ef1d0f47c281a9b2 100644 --- a/flexiprep/src/main/scala/nl/lumc/sasc/biopet/function/fastq/Sickle.scala +++ b/flexiprep/src/main/scala/nl/lumc/sasc/biopet/function/fastq/Sickle.scala @@ -29,7 +29,7 @@ class Sickle(val root:Configurable) extends BiopetCommandLineFunction { @Output(doc="stats output") var output_stats: File = null - executeble = config("exe", "sickle") + executable = config("exe", "sickle") var qualityType: String = config("qualitytype", null) var defaultQualityType: String = _ @@ -40,14 +40,14 @@ class Sickle(val root:Configurable) extends BiopetCommandLineFunction { if (qualityType == null && defaultQualityType != null) qualityType = defaultQualityType } - override def versionCommand = executeble + " --version" + override def versionCommand = executable + " --version" override def beforeCmd { qualityType = getQualityTypeFromFile } def cmdLine = { - var cmd: String = required(executeble) + var cmd: String = required(executable) if (input_R2 != null) { cmd += required("pe") + required("-r", input_R2) + diff --git a/mapping/src/main/scala/nl/lumc/sasc/biopet/function/aligners/Bwa.scala b/mapping/src/main/scala/nl/lumc/sasc/biopet/function/aligners/Bwa.scala index 45705fa97347c188ebc3a9b93acaa004202663e4..8cda591336827de338aba571fa3a3265bafdf189 100644 --- a/mapping/src/main/scala/nl/lumc/sasc/biopet/function/aligners/Bwa.scala +++ b/mapping/src/main/scala/nl/lumc/sasc/biopet/function/aligners/Bwa.scala @@ -22,17 +22,17 @@ class Bwa(val root:Configurable) extends BiopetCommandLineFunction { var RG: String = _ var M: Boolean = config("M", true) - executeble = config("exe", "bwa") + executable = config("exe", "bwa") override val versionRegex = """Version: (.*)""".r override val versionExitcode = List(0,1) override val defaultVmem = "6G" override val defaultThreads = 8 - override def versionCommand = executeble + override def versionCommand = executable def cmdLine = { - required(executeble) + + required(executable) + required("mem") + optional("-t", nCoresRequest) + optional("-R", RG) + diff --git a/mapping/src/main/scala/nl/lumc/sasc/biopet/function/aligners/Star.scala b/mapping/src/main/scala/nl/lumc/sasc/biopet/function/aligners/Star.scala index c7ef295d56090204449ff7df8871c22cb85d56c3..cf116fbb390c16d1adc8b27ce75f5dadad003244 100644 --- a/mapping/src/main/scala/nl/lumc/sasc/biopet/function/aligners/Star.scala +++ b/mapping/src/main/scala/nl/lumc/sasc/biopet/function/aligners/Star.scala @@ -34,7 +34,7 @@ class Star(val root:Configurable) extends BiopetCommandLineFunction { @Output(doc="Output SAindex file", required=false) var outputSAindex: File = _ - executeble = config("exe", "STAR") + executable = config("exe", "STAR") @Argument(doc="Output Directory") var outputDir: String = _ @@ -64,7 +64,7 @@ class Star(val root:Configurable) extends BiopetCommandLineFunction { } def cmdLine : String = { - var cmd: String = required("cd",outputDir) + "&&" + required(executeble) + var cmd: String = required("cd",outputDir) + "&&" + required(executable) if (runmode != null && runmode == "genomeGenerate") { // Create index cmd += required("--runMode", runmode) + required("--genomeFastaFiles", referenceFile)