diff --git a/protected/biopet-gatk-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/gatk/broad/GatkGeneral.scala b/protected/biopet-gatk-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/gatk/broad/GatkGeneral.scala index f0073f0116b99a92fcace99ec1979a907e29eb14..1c557e5223634fdc14d992313e006bca6b141c90 100644 --- a/protected/biopet-gatk-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/gatk/broad/GatkGeneral.scala +++ b/protected/biopet-gatk-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/gatk/broad/GatkGeneral.scala @@ -5,11 +5,11 @@ */ package nl.lumc.sasc.biopet.extensions.gatk.broad -import nl.lumc.sasc.biopet.core.{ CommandLineResources, Reference, BiopetJavaCommandLineFunction } +import nl.lumc.sasc.biopet.core.{ Version, CommandLineResources, Reference, BiopetJavaCommandLineFunction } import org.broadinstitute.gatk.engine.phonehome.GATKRunReport import org.broadinstitute.gatk.queue.extensions.gatk.CommandLineGATK -trait GatkGeneral extends CommandLineGATK with CommandLineResources with Reference { +trait GatkGeneral extends CommandLineGATK with CommandLineResources with Reference with Version { memoryLimit = Option(3) override def subPath = "gatk" :: super.subPath @@ -35,9 +35,9 @@ trait GatkGeneral extends CommandLineGATK with CommandLineResources with Referen if (config.contains("gatk_key")) gatk_key = config("gatk_key") if (config.contains("pedigree")) pedigree = config("pedigree") - //override def versionRegex = """(.*)""".r - //override def versionExitcode = List(0, 1) - //override def versionCommand = executable + " -jar " + jarFile + " -version" + def versionRegex = """(.*)""".r + override def versionExitcode = List(0, 1) + def versionCommand = "java" + " -jar " + jarFile + " -version" - //override def getVersion = super.getVersion.collect { case v => "Gatk " + v } + override def getVersion = super.getVersion.collect { case v => "Gatk " + v } } diff --git a/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/BiopetCommandLineFunction.scala b/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/BiopetCommandLineFunction.scala index 254e783cb9e31718a8b0759e7ce0d55c152d203d..45dbe227c72cd10243b38ea9865ed01f4ad493bc 100644 --- a/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/BiopetCommandLineFunction.scala +++ b/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/BiopetCommandLineFunction.scala @@ -146,59 +146,6 @@ trait BiopetCommandLineFunction extends CommandLineResources { biopetFunction => case Some(n) if n > 0 => n case _ => 1 }) - addJobReportBinding("version", getVersion) - } - - /** Command to get version of executable */ - protected[core] def versionCommand: String = null - - /** Regex to get version from version command output */ - protected[core] def versionRegex: Regex = null - - /** Allowed exit codes for the version command */ - protected[core] def versionExitcode = List(0) - - /** Executes the version command */ - private[core] def getVersionInternal: Option[String] = { - if (versionCommand == null || versionRegex == null) None - else getVersionInternal(versionCommand, versionRegex) - } - - /** Executes the version command */ - private[core] def getVersionInternal(versionCommand: String, versionRegex: Regex): Option[String] = { - if (versionCommand == null || versionRegex == null) return None - val exe = new File(versionCommand.trim.split(" ")(0)) - if (!exe.exists()) return None - val stdout = new StringBuffer() - val stderr = new StringBuffer() - def outputLog = "Version command: \n" + versionCommand + - "\n output log: \n stdout: \n" + stdout.toString + - "\n stderr: \n" + stderr.toString - val process = Process(versionCommand).run(ProcessLogger(stdout append _ + "\n", stderr append _ + "\n")) - if (!versionExitcode.contains(process.exitValue())) { - logger.warn("getVersion give exit code " + process.exitValue + ", version not found \n" + outputLog) - return None - } - for (line <- stdout.toString.split("\n") ++ stderr.toString.split("\n")) { - line match { - case versionRegex(m) => return Some(m) - case _ => - } - } - logger.warn("getVersion give a exit code " + process.exitValue + " but no version was found, executable correct? \n" + outputLog) - None - } - - /** Get version from cache otherwise execute the version command */ - def getVersion: Option[String] = { - if (!BiopetCommandLineFunction.executableCache.contains(executable)) - preProcessExecutable() - if (!BiopetCommandLineFunction.versionCache.contains(versionCommand)) - getVersionInternal match { - case Some(version) => BiopetCommandLineFunction.versionCache += versionCommand -> version - case _ => - } - BiopetCommandLineFunction.versionCache.get(versionCommand) } private[core] var _inputAsStdin = false @@ -284,7 +231,6 @@ trait BiopetCommandLineFunction extends CommandLineResources { biopetFunction => /** stores global caches */ object BiopetCommandLineFunction { - private[core] val versionCache: mutable.Map[String, String] = mutable.Map() private[core] val executableMd5Cache: mutable.Map[String, String] = mutable.Map() private[core] val executableCache: mutable.Map[String, String] = mutable.Map() } diff --git a/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/BiopetFifoPipe.scala b/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/BiopetFifoPipe.scala index ee06edb0a666a543c108c891092d5ac8ca7e23a6..7d38c60b2966c62e76e42c77922828ada9cbb897 100644 --- a/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/BiopetFifoPipe.scala +++ b/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/BiopetFifoPipe.scala @@ -51,6 +51,9 @@ class BiopetFifoPipe(val root: Configurable, deps :::= inputs.values.toList.flatten.filter(!fifoFiles.contains(_)) deps = deps.distinct + + pipesJobs :::= commands + pipesJobs = pipesJobs.distinct } override def beforeCmd(): Unit = { diff --git a/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/BiopetJavaCommandLineFunction.scala b/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/BiopetJavaCommandLineFunction.scala index 3f75cb92128b26bfb2681a2a25cfb5436c9ac5f6..86e97f4c7dff893869eb8d8c7eec94c4389b9146 100644 --- a/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/BiopetJavaCommandLineFunction.scala +++ b/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/BiopetJavaCommandLineFunction.scala @@ -55,12 +55,12 @@ trait BiopetJavaCommandLineFunction extends JavaCommandLineFunction with BiopetC def getJavaVersion: Option[String] = { if (!BiopetCommandLineFunction.executableCache.contains(executable)) preProcessExecutable() - if (!BiopetCommandLineFunction.versionCache.contains(javaVersionCommand)) - getVersionInternal(javaVersionCommand, """java version "(.*)"""".r) match { - case Some(version) => BiopetCommandLineFunction.versionCache += javaVersionCommand -> version + if (!Version.versionCache.contains(javaVersionCommand)) + Version.getVersionInternal(javaVersionCommand, """java version "(.*)"""".r) match { + case Some(version) => Version.versionCache += javaVersionCommand -> version case _ => } - BiopetCommandLineFunction.versionCache.get(javaVersionCommand) + Version.versionCache.get(javaVersionCommand) } override def setupRetry(): Unit = { diff --git a/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/MultiSampleQScript.scala b/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/MultiSampleQScript.scala index 17631709f12db8a3e3b25253afc49fadd3820e32..f60aeeca83c20ad810ad2183a8938137200a0ee3 100644 --- a/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/MultiSampleQScript.scala +++ b/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/MultiSampleQScript.scala @@ -18,7 +18,7 @@ package nl.lumc.sasc.biopet.core import java.io.File import nl.lumc.sasc.biopet.core.summary.{ Summarizable, SummaryQScript } -import nl.lumc.sasc.biopet.utils.ConfigUtils +import nl.lumc.sasc.biopet.utils.{ Logging, ConfigUtils } import org.broadinstitute.gatk.utils.commandline.Argument /** This trait creates a structured way of use multisample pipelines */ @@ -47,6 +47,8 @@ trait MultiSampleQScript extends SummaryQScript { /** Adds the library jobs */ final def addAndTrackJobs(): Unit = { + if (nameRegex.findFirstIn(libId) == None) + Logging.addError(s"Library '$libId' $nameError") currentSample = Some(sampleId) currentLib = Some(libId) addJobs() @@ -90,6 +92,8 @@ trait MultiSampleQScript extends SummaryQScript { /** Adds sample jobs */ final def addAndTrackJobs(): Unit = { + if (nameRegex.findFirstIn(sampleId) == None) + Logging.addError(s"Sample '$sampleId' $nameError") currentSample = Some(sampleId) addJobs() qscript.addSummarizable(this, "pipeline", Some(sampleId)) @@ -129,6 +133,12 @@ trait MultiSampleQScript extends SummaryQScript { /** Returns a list of all sampleIDs */ protected def sampleIds: Set[String] = ConfigUtils.any2map(globalConfig.map("samples")).keySet + protected lazy val nameRegex = """^[a-zA-Z0-9][a-zA-Z0-9-_]+[a-zA-Z0-9]$""".r + protected lazy val nameError = " name invalid." + + "Name must have at least 3 characters," + + "must begin and end with an alphanumeric character, " + + "and must not have whitespace." + /** Runs addAndTrackJobs method for each sample */ final def addSamplesJobs() { if (onlySamples.isEmpty || samples.forall(x => onlySamples.contains(x._1))) { diff --git a/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/ToolCommandFuntion.scala b/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/ToolCommandFunction.scala similarity index 78% rename from public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/ToolCommandFuntion.scala rename to public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/ToolCommandFunction.scala index 81220f9cb9d56703dfd7bebcddc0c14fa9966e0d..c29332656ca730eb91c84514f4d1e64c939b02a7 100644 --- a/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/ToolCommandFuntion.scala +++ b/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/ToolCommandFunction.scala @@ -5,9 +5,12 @@ import nl.lumc.sasc.biopet.FullVersion /** * Created by pjvanthof on 11/09/15. */ -trait ToolCommandFuntion extends BiopetJavaCommandLineFunction { +trait ToolCommandFunction extends BiopetJavaCommandLineFunction with Version { def toolObject: Object + def versionCommand = "" + def versionRegex = "".r + override def getVersion = Some("Biopet " + FullVersion) override def beforeGraph(): Unit = { diff --git a/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/Version.scala b/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/Version.scala new file mode 100644 index 0000000000000000000000000000000000000000..d283729b2c5a853461d7d75a56eb8d5cb8125c0f --- /dev/null +++ b/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/Version.scala @@ -0,0 +1,80 @@ +package nl.lumc.sasc.biopet.core + +import java.io.File + +import nl.lumc.sasc.biopet.utils.Logging +import org.broadinstitute.gatk.queue.function.QFunction + +import scala.collection.mutable +import scala.sys.process.{ Process, ProcessLogger } +import scala.util.matching.Regex + +/** + * Created by pjvan_thof on 10/13/15. + */ +trait Version extends QFunction { + /** Command to get version of executable */ + def versionCommand: String + + /** Regex to get version from version command output */ + def versionRegex: Regex + + /** Allowed exit codes for the version command */ + protected[core] def versionExitcode = List(0) + + /** Executes the version command */ + private[core] def getVersionInternal: Option[String] = { + if (versionCommand == null || versionRegex == null) None + else Version.getVersionInternal(versionCommand, versionRegex, versionExitcode) + } + + /** Get version from cache otherwise execute the version command */ + def getVersion: Option[String] = { + if (!Version.versionCache.contains(versionCommand)) + getVersionInternal match { + case Some(version) => Version.versionCache += versionCommand -> version + case _ => + } + Version.versionCache.get(versionCommand) + } + + override def freezeFieldValues(): Unit = { + super.freezeFieldValues() + addJobReportBinding("version", getVersion.getOrElse("NA")) + } +} + +object Version extends Logging { + private[core] val versionCache: mutable.Map[String, String] = mutable.Map() + + /** Executes the version command */ + private[core] def getVersionInternal(versionCommand: String, + versionRegex: Regex, + versionExitcode: List[Int] = List(0)): Option[String] = { + if (versionCache.contains(versionCommand)) return versionCache.get(versionCommand) + else if (versionCommand == null || versionRegex == null) return None + else { + val exe = new File(versionCommand.trim.split(" ")(0)) + if (!exe.exists()) return None + val stdout = new StringBuffer() + val stderr = new StringBuffer() + def outputLog = "Version command: \n" + versionCommand + + "\n output log: \n stdout: \n" + stdout.toString + + "\n stderr: \n" + stderr.toString + val process = Process(versionCommand).run(ProcessLogger(stdout append _ + "\n", stderr append _ + "\n")) + if (!versionExitcode.contains(process.exitValue())) { + logger.warn("getVersion give exit code " + process.exitValue + ", version not found \n" + outputLog) + return None + } + for (line <- stdout.toString.split("\n") ++ stderr.toString.split("\n")) { + line match { + case versionRegex(m) => return Some(m) + case _ => + } + } + logger.warn("getVersion give a exit code " + process.exitValue + " but no version was found, executable correct? \n" + outputLog) + None + } + } + +} \ No newline at end of file diff --git a/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/extensions/Md5sum.scala b/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/extensions/Md5sum.scala index 90e577e01804ac1884d71de9613e3416d837fc92..c3af260a84733c1c90fda13353b7391b7893d136 100644 --- a/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/extensions/Md5sum.scala +++ b/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/extensions/Md5sum.scala @@ -17,12 +17,12 @@ package nl.lumc.sasc.biopet.core.extensions import java.io.File -import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction +import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction } import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } /** Extension for md5sum */ -class Md5sum(val root: Configurable) extends BiopetCommandLineFunction { +class Md5sum(val root: Configurable) extends BiopetCommandLineFunction with Version { @Input(doc = "Input") var input: File = _ @@ -31,8 +31,8 @@ class Md5sum(val root: Configurable) extends BiopetCommandLineFunction { executable = config("exe", default = "md5sum") - override def versionRegex = """md5sum \(GNU coreutils\) (.*)""".r - override def versionCommand = executable + " --version" + def versionRegex = """md5sum \(GNU coreutils\) (.*)""".r + def versionCommand = executable + " --version" /** return commandline to execute */ def cmdLine = required(executable) + required(input) + " > " + required(output) diff --git a/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/report/ReportBuilder.scala b/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/report/ReportBuilder.scala index b4f7b3c31c48a8d8a52d3128d4ea5eb6b825dbca..311e3e928ba2919ff15ce0cee5529b9f0d28c9e8 100644 --- a/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/report/ReportBuilder.scala +++ b/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/report/ReportBuilder.scala @@ -16,7 +16,7 @@ package nl.lumc.sasc.biopet.core.report import java.io._ -import nl.lumc.sasc.biopet.core.ToolCommandFuntion +import nl.lumc.sasc.biopet.core.ToolCommandFunction import nl.lumc.sasc.biopet.utils.summary.Summary import nl.lumc.sasc.biopet.utils.{ ToolCommand, Logging, IoUtils } import org.broadinstitute.gatk.utils.commandline.Input @@ -28,7 +28,7 @@ import scala.collection.mutable * * @author pjvan_thof */ -trait ReportBuilderExtension extends ToolCommandFuntion { +trait ReportBuilderExtension extends ToolCommandFunction { /** Report builder object */ val builder: ReportBuilder diff --git a/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/summary/WriteSummary.scala b/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/summary/WriteSummary.scala index 6e7f8248c0693ed0df4c3a372b8885e1908187a7..7b8f34ecbb8108d53c342df2f4112df973f702c3 100644 --- a/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/summary/WriteSummary.scala +++ b/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/summary/WriteSummary.scala @@ -18,7 +18,7 @@ package nl.lumc.sasc.biopet.core.summary import java.io.{ File, PrintWriter } import nl.lumc.sasc.biopet.utils.config.Configurable -import nl.lumc.sasc.biopet.core.{ BiopetCommandLineFunction, BiopetJavaCommandLineFunction, SampleLibraryTag } +import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction, BiopetJavaCommandLineFunction, SampleLibraryTag } import nl.lumc.sasc.biopet.utils.ConfigUtils import nl.lumc.sasc.biopet.{ LastCommitHash, Version } import org.broadinstitute.gatk.queue.function.{ InProcessFunction, QFunction } @@ -71,21 +71,32 @@ class WriteSummary(val root: Configurable) extends InProcessFunction with Config val files = parseFiles(qscript.summaryFiles) val settings = qscript.summarySettings val executables: Map[String, Any] = { - (for (f <- qscript.functions if f.isInstanceOf[BiopetCommandLineFunction]) yield { + + def fetchVersion(f: QFunction): Option[(String, Any)] = { f match { - case f: BiopetJavaCommandLineFunction => - f.configName -> Map("version" -> f.getVersion.getOrElse(None), + case f: BiopetJavaCommandLineFunction with Version => + Some(f.configName -> Map("version" -> f.getVersion.getOrElse(None), "java_md5" -> BiopetCommandLineFunction.executableMd5Cache.getOrElse(f.executable, None), "java_version" -> f.getJavaVersion, - "jar_path" -> f.jarFile) - case f: BiopetCommandLineFunction => - f.configName -> Map("version" -> f.getVersion.getOrElse(None), + "jar_path" -> f.jarFile)) + case f: BiopetCommandLineFunction with Version => + Some(f.configName -> Map("version" -> f.getVersion.getOrElse(None), "md5" -> BiopetCommandLineFunction.executableMd5Cache.getOrElse(f.executable, None), - "path" -> f.executable) - case _ => throw new IllegalStateException("This should not be possible") + "path" -> f.executable)) + case f: Configurable with Version => + Some(f.configName -> Map("version" -> f.getVersion.getOrElse(None))) + case _ => None } - - }).toMap + } + + ( + qscript.functions.flatMap(fetchVersion(_)) ++ + qscript.functions + .flatMap { + case f: BiopetCommandLineFunction => f.pipesJobs + case _ => Nil + }.flatMap(fetchVersion(_)) + ).toMap } val map = Map(qscript.summaryName -> ((if (settings.isEmpty) Map[String, Any]() else Map("settings" -> settings)) ++ @@ -113,7 +124,7 @@ class WriteSummary(val root: Configurable) extends InProcessFunction with Config }).foldRight(jobsMap)((a, b) => ConfigUtils.mergeMaps(a, b)) ++ Map("meta" -> Map( "last_commit_hash" -> LastCommitHash, - "pipeline_version" -> Version, + "pipeline_version" -> nl.lumc.sasc.biopet.Version, "pipeline_name" -> qscript.summaryName, "output_dir" -> qscript.outputDir, "run_name" -> config("run_name", default = qSettings.runName).asString, diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Bowtie.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Bowtie.scala index fc2f95e4e33f54dca689568bb48cb8489ed3e65d..21dcc313ce1e4ff0f20b253d81651cf1369f3cab 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Bowtie.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Bowtie.scala @@ -18,7 +18,7 @@ package nl.lumc.sasc.biopet.extensions import java.io.File import nl.lumc.sasc.biopet.utils.config.Configurable -import nl.lumc.sasc.biopet.core.{ BiopetCommandLineFunction, Reference } +import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction, Reference } import org.broadinstitute.gatk.utils.commandline.{ Input, Output } /** @@ -26,7 +26,7 @@ import org.broadinstitute.gatk.utils.commandline.{ Input, Output } * * Based on version 1.1.1 */ -class Bowtie(val root: Configurable) extends BiopetCommandLineFunction with Reference { +class Bowtie(val root: Configurable) extends BiopetCommandLineFunction with Reference with Version { @Input(doc = "Fastq file R1", shortName = "R1") var R1: File = null @@ -40,9 +40,9 @@ class Bowtie(val root: Configurable) extends BiopetCommandLineFunction with Refe var output: File = null executable = config("exe", default = "bowtie", freeVar = false) - override def versionRegex = """.*[Vv]ersion:? (.*)""".r + def versionRegex = """.*[Vv]ersion:? (.*)""".r override def versionExitcode = List(0, 1) - override def versionCommand = executable + " --version" + def versionCommand = executable + " --version" override def defaultCoreMemory = 4.0 override def defaultThreads = 8 diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Cufflinks.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Cufflinks.scala index 30a1ca0f418ac0e5f3495ef75ba7478a28f5adc7..9177b7a6b8a7c6828c574d3d88b2d4610137e998 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Cufflinks.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Cufflinks.scala @@ -17,7 +17,7 @@ package nl.lumc.sasc.biopet.extensions import java.io.File -import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction +import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction } import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } @@ -25,7 +25,7 @@ import org.broadinstitute.gatk.utils.commandline.{ Input, Output } * Wrapper for the cufflinks command line tool. * Written based on cufflinks version v2.2.1 (md5: 07c831c4f8b4e161882731ea5694ff80) */ -class Cufflinks(val root: Configurable) extends BiopetCommandLineFunction { +class Cufflinks(val root: Configurable) extends BiopetCommandLineFunction with Version { /** default executable */ executable = config("exe", default = "cufflinks") @@ -185,8 +185,8 @@ class Cufflinks(val root: Configurable) extends BiopetCommandLineFunction { /** do not contact server to check for update availability [FALSE] */ var no_update_check: Boolean = config("no_update_check", default = false) - override def versionRegex = """cufflinks v(.*)""".r - override def versionCommand = executable + def versionRegex = """cufflinks v(.*)""".r + def versionCommand = executable override def versionExitcode = List(0, 1) def cmdLine = diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Cuffquant.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Cuffquant.scala index ffadc5d2dfc6fd8bbb4c22ea099d96be344b8cdf..d7ead689a92b19dbb38dccee1eb8b96312736923 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Cuffquant.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Cuffquant.scala @@ -17,7 +17,7 @@ package nl.lumc.sasc.biopet.extensions import java.io.File -import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction +import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction } import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } @@ -25,7 +25,7 @@ import org.broadinstitute.gatk.utils.commandline.{ Input, Output } * Wrapper for the cuffquant command line tool. * Written based on cuffquant version v2.2.1 (md5: 0765b82b11db9256f5be341a7da884d6) */ -class Cuffquant(val root: Configurable) extends BiopetCommandLineFunction { +class Cuffquant(val root: Configurable) extends BiopetCommandLineFunction with Version { /** default executable */ executable = config("exe", default = "cuffquant") @@ -117,8 +117,8 @@ class Cuffquant(val root: Configurable) extends BiopetCommandLineFunction { /** Disable SCV correction */ var no_scv_correction: Boolean = config("no_scv_correction", default = false) - override def versionRegex = """cuffquant v(.*)""".r - override def versionCommand = executable + def versionRegex = """cuffquant v(.*)""".r + def versionCommand = executable override def versionExitcode = List(0, 1) def cmdLine = diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Cutadapt.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Cutadapt.scala index 43dd6826912c4390f0ac30148081536ac3ac7d05..e8f9c2caf43ff1163218a5814bfa0ba45f0b6ceb 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Cutadapt.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Cutadapt.scala @@ -17,7 +17,7 @@ package nl.lumc.sasc.biopet.extensions import java.io.File -import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction +import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction } import nl.lumc.sasc.biopet.utils.config.Configurable import nl.lumc.sasc.biopet.core.summary.Summarizable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } @@ -29,7 +29,7 @@ import scala.io.Source * Extension for cutadept * Based on version 1.5 */ -class Cutadapt(val root: Configurable) extends BiopetCommandLineFunction with Summarizable { +class Cutadapt(val root: Configurable) extends BiopetCommandLineFunction with Summarizable with Version { @Input(doc = "Input fastq file") var fastq_input: File = _ @@ -40,8 +40,8 @@ class Cutadapt(val root: Configurable) extends BiopetCommandLineFunction with Su var stats_output: File = _ executable = config("exe", default = "cutadapt") - override def versionCommand = executable + " --version" - override def versionRegex = """(.*)""".r + def versionCommand = executable + " --version" + def versionRegex = """(.*)""".r var default_clip_mode: String = config("default_clip_mode", default = "3") var opt_adapter: Set[String] = config("adapter", default = Nil) diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Fastqc.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Fastqc.scala index 6f0eea34bde472b7be68ba275244681974776b64..8906bf134cfef63df8aa86620eea51ab9e918893 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Fastqc.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Fastqc.scala @@ -17,7 +17,7 @@ package nl.lumc.sasc.biopet.extensions import java.io.File -import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction +import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction } import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } @@ -25,7 +25,7 @@ import org.broadinstitute.gatk.utils.commandline.{ Input, Output } * Extension for fastqc * Based on version 0.10.1 and 0.11.2 */ -class Fastqc(val root: Configurable) extends BiopetCommandLineFunction { +class Fastqc(val root: Configurable) extends BiopetCommandLineFunction with Version { @Input(doc = "Contaminants", required = false) var contaminants: Option[File] = None @@ -47,8 +47,8 @@ class Fastqc(val root: Configurable) extends BiopetCommandLineFunction { var nogroup: Boolean = config("nogroup", default = false) var extract: Boolean = config("extract", default = true) - override def versionRegex = """FastQC (.*)""".r - override def versionCommand = executable + " --version" + def versionRegex = """FastQC (.*)""".r + def versionCommand = executable + " --version" override def defaultThreads = 4 /** Sets contaminants and adapters when not yet set */ diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Freebayes.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Freebayes.scala index 0e7cc1077a5a14f6ce8f829f6fb9009bd8930e40..f2a387a08b50e37f44dcb21911acff65bab808c3 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Freebayes.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Freebayes.scala @@ -18,7 +18,7 @@ package nl.lumc.sasc.biopet.extensions import java.io.File import nl.lumc.sasc.biopet.utils.config.Configurable -import nl.lumc.sasc.biopet.core.{ BiopetCommandLineFunction, Reference } +import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction, Reference } import org.broadinstitute.gatk.utils.commandline.{ Input, Output } /** @@ -26,7 +26,7 @@ import org.broadinstitute.gatk.utils.commandline.{ Input, Output } * * Created by pjvan_thof on 3/3/15. */ -class Freebayes(val root: Configurable) extends BiopetCommandLineFunction with Reference { +class Freebayes(val root: Configurable) extends BiopetCommandLineFunction with Reference with Version { @Input(required = true) var bamfiles: List[File] = Nil @@ -41,8 +41,8 @@ class Freebayes(val root: Configurable) extends BiopetCommandLineFunction with R var haplotypeLength: Option[Int] = config("haplotype_length") executable = config("exe", default = "freebayes") - override def versionRegex = """version: (.*)""".r - override def versionCommand = executable + " --version" + def versionRegex = """version: (.*)""".r + def versionCommand = executable + " --version" override def beforeGraph(): Unit = { super.beforeGraph() diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Gsnap.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Gsnap.scala index 8604639800a0bf93620c9fe790a1cbccd5b32874..721ba8575bc8c7edff7854163fba57a0afe3e474 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Gsnap.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Gsnap.scala @@ -18,14 +18,14 @@ package nl.lumc.sasc.biopet.extensions import java.io.File import nl.lumc.sasc.biopet.utils.config.Configurable -import nl.lumc.sasc.biopet.core.{ BiopetCommandLineFunction, Reference } +import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction, Reference } import org.broadinstitute.gatk.utils.commandline.{ Argument, Input, Output } /** * Wrapper for the gsnap command line tool * Written based on gsnap version 2014-05-15 */ -class Gsnap(val root: Configurable) extends BiopetCommandLineFunction with Reference { +class Gsnap(val root: Configurable) extends BiopetCommandLineFunction with Reference with Version { /** default executable */ executable = config("exe", default = "gsnap", freeVar = false) @@ -328,8 +328,8 @@ class Gsnap(val root: Configurable) extends BiopetCommandLineFunction with Refer /** value to put into read-group library (rg-pl) field */ var read_group_platform: Option[String] = config("read_group_platform") - override def versionRegex = """.* version (.*)""".r - override def versionCommand = executable + " --version" + def versionRegex = """.* version (.*)""".r + def versionCommand = executable + " --version" def cmdLine = { required(executable) + diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Gzip.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Gzip.scala index 98bd00339c83e2a955372da3344c7a1f5debb257..7969ae1bc18210fab5a36658b8fb93ac7ff9a712 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Gzip.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Gzip.scala @@ -17,11 +17,11 @@ package nl.lumc.sasc.biopet.extensions import java.io.File -import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction +import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction } import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } -class Gzip(val root: Configurable) extends BiopetCommandLineFunction { +class Gzip(val root: Configurable) extends BiopetCommandLineFunction with Version { @Input(doc = "Input file", required = true) var input: List[File] = Nil @@ -30,8 +30,8 @@ class Gzip(val root: Configurable) extends BiopetCommandLineFunction { executable = config("exe", default = "gzip", freeVar = false) - override def versionRegex = """gzip (.*)""".r - override def versionCommand = executable + " --version" + def versionRegex = """gzip (.*)""".r + def versionCommand = executable + " --version" def cmdLine = required(executable) + " -c " + (if (inputAsStdin) "" else repeat(input)) + diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/HtseqCount.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/HtseqCount.scala index adf25ba3cf1caf2b159950c0457c85d2ac4c71f0..9e632272c1b1d28a29bd535783be00722922847d 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/HtseqCount.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/HtseqCount.scala @@ -17,7 +17,7 @@ package nl.lumc.sasc.biopet.extensions import java.io.File -import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction +import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction } import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } @@ -25,7 +25,7 @@ import org.broadinstitute.gatk.utils.commandline.{ Input, Output } * Wrapper for the htseq-count command line tool * Written based on htseq-count version 0.6.1p1 */ -class HtseqCount(val root: Configurable) extends BiopetCommandLineFunction { +class HtseqCount(val root: Configurable) extends BiopetCommandLineFunction with Version { /** default executable */ executable = config("exe", default = "htseq-count") @@ -70,8 +70,8 @@ class HtseqCount(val root: Configurable) extends BiopetCommandLineFunction { /** suppress progress report */ var quiet: Boolean = config("quiet", default = false) - override def versionRegex = """.*, version (.*)\.""".r - override def versionCommand = executable + " --help" + def versionRegex = """.*, version (.*)\.""".r + def versionCommand = executable + " --help" def cmdLine = { required(executable) + diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Raxml.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Raxml.scala index f2f6eb21b9eaa2dc9956429906723f72f4400ee4..94fe47c338a366b126fb4c7a5dacccec93e047a5 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Raxml.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Raxml.scala @@ -17,7 +17,7 @@ package nl.lumc.sasc.biopet.extensions import java.io.File -import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction +import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction } import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Argument, Input, Output } @@ -27,11 +27,11 @@ import scalaz.std.boolean.option * extension for raxml * based on version 8.1.3 */ -class Raxml(val root: Configurable) extends BiopetCommandLineFunction { +class Raxml(val root: Configurable) extends BiopetCommandLineFunction with Version { override def defaultThreads = 1 - override def versionCommand = executable + " -v" - override def versionRegex = """.*version ([\w\.]*) .*""".r + def versionCommand = executable + " -v" + def versionRegex = """.*version ([\w\.]*) .*""".r @Input(doc = "Input phy/fasta file", required = true) var input: File = _ diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Sickle.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Sickle.scala index fe88be1adc2bda814157a0578ff9e4bfa622fb0a..f6571f22065809adacdee46f345997b344897018 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Sickle.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Sickle.scala @@ -17,7 +17,7 @@ package nl.lumc.sasc.biopet.extensions import java.io.File -import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction +import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction } import nl.lumc.sasc.biopet.utils.config.Configurable import nl.lumc.sasc.biopet.core.summary.Summarizable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } @@ -29,7 +29,7 @@ import scala.io.Source * Extension for sickle * Based on version 1.33 */ -class Sickle(val root: Configurable) extends BiopetCommandLineFunction with Summarizable { +class Sickle(val root: Configurable) extends BiopetCommandLineFunction with Summarizable with Version { @Input(doc = "R1 input") var input_R1: File = _ @@ -56,8 +56,8 @@ class Sickle(val root: Configurable) extends BiopetCommandLineFunction with Summ var discardN: Boolean = config("discardN", default = false) var quiet: Boolean = config("quiet", default = false) var defaultQualityType: String = config("defaultqualitytype", default = "sanger") - override def versionRegex = """sickle version (.*)""".r - override def versionCommand = executable + " --version" + def versionRegex = """sickle version (.*)""".r + def versionCommand = executable + " --version" /** Sets qualityType is still empty */ override def beforeGraph() { diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Stampy.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Stampy.scala index 0ae011df060922f88fd22c22e20c45bdcee13801..8f18001f7acd4acbae269f1fcebaf0c97b6b2bd0 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Stampy.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Stampy.scala @@ -18,11 +18,11 @@ package nl.lumc.sasc.biopet.extensions import java.io.File import nl.lumc.sasc.biopet.utils.config.Configurable -import nl.lumc.sasc.biopet.core.{ BiopetCommandLineFunction, Reference } +import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction, Reference } import org.broadinstitute.gatk.utils.commandline.{ Input, Output } /** Extension for stampy */ -class Stampy(val root: Configurable) extends BiopetCommandLineFunction with Reference { +class Stampy(val root: Configurable) extends BiopetCommandLineFunction with Reference with Version { @Input(doc = "FastQ file R1", shortName = "R1") var R1: File = _ @@ -60,14 +60,14 @@ class Stampy(val root: Configurable) extends BiopetCommandLineFunction with Refe var logfile: Option[String] = config("logfile") executable = config("exe", default = "stampy.py", freeVar = false) - override def versionRegex = """stampy v(.*) \(.*\), .*""".r + def versionRegex = """stampy v(.*) \(.*\), .*""".r override def versionExitcode = List(0, 1) /// Stampy uses approx factor 1.1 times the size of the genome in memory. override def defaultCoreMemory = 4.0 override def defaultThreads = 8 - override def versionCommand = executable + " --help" + def versionCommand = executable + " --help" /** Sets readgroup when not set yet */ override def beforeGraph(): Unit = { diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Tabix.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Tabix.scala index 4a80600c52cb602c579c5b09ba27931c09f2c338..4b9bf4a37779ed6f3390c6890d43136809c6cb6f 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Tabix.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Tabix.scala @@ -17,7 +17,7 @@ package nl.lumc.sasc.biopet.extensions import java.io.File -import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction +import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction } import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Argument, Input, Output } @@ -27,7 +27,7 @@ import org.broadinstitute.gatk.utils.commandline.{ Argument, Input, Output } * Note that tabix can either index a file (no stdout stream) or retrieve regions from an indexed file (stdout stream) * */ -class Tabix(val root: Configurable) extends BiopetCommandLineFunction { +class Tabix(val root: Configurable) extends BiopetCommandLineFunction with Version { @Input(doc = "Input bgzipped file", required = true) var input: File = null @@ -59,8 +59,8 @@ class Tabix(val root: Configurable) extends BiopetCommandLineFunction { executable = config("exe", default = "tabix") - override def versionCommand = executable - override def versionRegex = """Version: (.*)""".r + def versionCommand = executable + def versionRegex = """Version: (.*)""".r override def versionExitcode = List(0, 1) /** Formats that tabix can handle */ diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Tophat.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Tophat.scala index 98379193eec3008a2545bd2dc3001713b1df0083..495049da762dee0509e4f8ecb4e208ac0c3dfe3a 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Tophat.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Tophat.scala @@ -17,20 +17,20 @@ package nl.lumc.sasc.biopet.extensions import java.io.File -import nl.lumc.sasc.biopet.core.{ Reference, BiopetCommandLineFunction } +import nl.lumc.sasc.biopet.core.{ Version, Reference, BiopetCommandLineFunction } import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Argument, Input, Output } /** * Extension for Tophat */ -class Tophat(val root: Configurable) extends BiopetCommandLineFunction with Reference { +class Tophat(val root: Configurable) extends BiopetCommandLineFunction with Reference with Version { executable = config("exe", default = "tophat", freeVar = false) - override def versionRegex = """TopHat v(.*)""".r + def versionRegex = """TopHat v(.*)""".r override def versionExitcode = List(0, 1) - override def versionCommand = executable + " --version" + def versionCommand = executable + " --version" override def defaultCoreMemory = 4.0 override def defaultThreads = 8 diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/VariantEffectPredictor.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/VariantEffectPredictor.scala index 7a9efb0ff7087fcca7462dd6efc9d0ac7432f1b4..e9878f9808abb1f6a875e9c35412db6c2ac38d23 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/VariantEffectPredictor.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/VariantEffectPredictor.scala @@ -18,14 +18,14 @@ package nl.lumc.sasc.biopet.extensions import java.io.File import nl.lumc.sasc.biopet.utils.config.Configurable -import nl.lumc.sasc.biopet.core.{ BiopetCommandLineFunction, Reference } +import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction, Reference } import org.broadinstitute.gatk.utils.commandline.{ Input, Output } /** * Extension for VariantEffectPredictor * Created by ahbbollen on 15-1-15. */ -class VariantEffectPredictor(val root: Configurable) extends BiopetCommandLineFunction with Reference { +class VariantEffectPredictor(val root: Configurable) extends BiopetCommandLineFunction with Reference with Version { executable = config("exe", submodule = "perl", default = "perl") var vepScript: String = config("vep_script") @@ -36,8 +36,8 @@ class VariantEffectPredictor(val root: Configurable) extends BiopetCommandLineFu @Output(doc = "output file", required = true) var output: File = null - override def versionRegex = """version (\d*)""".r - override def versionCommand = executable + " " + vepScript + " --help" + def versionRegex = """version (\d*)""".r + def versionCommand = executable + " " + vepScript + " --help" //Boolean vars var v: Boolean = config("v", default = true) diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Zcat.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Zcat.scala index be5eb6700c6c1610c33c0e1f0fa132089db81bfc..a72b7a84aa7083293e505b4dd975bfcf35f6374a 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Zcat.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Zcat.scala @@ -17,12 +17,12 @@ package nl.lumc.sasc.biopet.extensions import java.io.File -import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction +import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction } import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } /** Extension for zcat */ -class Zcat(val root: Configurable) extends BiopetCommandLineFunction { +class Zcat(val root: Configurable) extends BiopetCommandLineFunction with Version { @Input(doc = "Zipped file", required = true) var input: List[File] = _ @@ -31,8 +31,8 @@ class Zcat(val root: Configurable) extends BiopetCommandLineFunction { executable = config("exe", default = "zcat") - override def versionRegex = """zcat \(gzip\) (.*)""".r - override def versionCommand = executable + " --version" + def versionRegex = """zcat \(gzip\) (.*)""".r + def versionCommand = executable + " --version" /** Returns command to execute */ def cmdLine = required(executable) + diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/bcftools/Bcftools.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/bcftools/Bcftools.scala index 5071c3aefe7092e2660ac9051ff34c8d90435e74..6e7bf4146464e9c6f69e7759569985fce7204e23 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/bcftools/Bcftools.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/bcftools/Bcftools.scala @@ -15,12 +15,12 @@ */ package nl.lumc.sasc.biopet.extensions.bcftools -import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction +import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction } -abstract class Bcftools extends BiopetCommandLineFunction { +abstract class Bcftools extends BiopetCommandLineFunction with Version { override def subPath = "bcftools" :: super.subPath executable = config("exe", default = "bcftools") - override def versionCommand = executable - override def versionRegex = """Version: (.*)""".r + def versionCommand = executable + def versionRegex = """Version: (.*)""".r override def versionExitcode = List(0, 1) } \ No newline at end of file diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/bedtools/Bedtools.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/bedtools/Bedtools.scala index 96b073ffe9390e9802e59eb42095546ef79c7344..1933cbea798a11c314f267df611aa09bccb5f92c 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/bedtools/Bedtools.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/bedtools/Bedtools.scala @@ -15,12 +15,12 @@ */ package nl.lumc.sasc.biopet.extensions.bedtools -import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction +import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction } /** General abstract class for bedtools extensions */ -abstract class Bedtools extends BiopetCommandLineFunction { +abstract class Bedtools extends BiopetCommandLineFunction with Version { override def subPath = "bedtools" :: super.subPath executable = config("exe", default = "bedtools", submodule = "bedtools") - override def versionCommand = executable + " --version" - override def versionRegex = """bedtools (.*)""".r + def versionCommand = executable + " --version" + def versionRegex = """bedtools (.*)""".r } \ No newline at end of file diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/breakdancer/BreakdancerCaller.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/breakdancer/BreakdancerCaller.scala index a760c10b1be47f7e5414dee9a2cf7f7aa9e4a416..8247686aeea0eca56d0aae9b7716c0367c2ab2b9 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/breakdancer/BreakdancerCaller.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/breakdancer/BreakdancerCaller.scala @@ -17,18 +17,18 @@ package nl.lumc.sasc.biopet.extensions.breakdancer import java.io.File -import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction +import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction } import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } -class BreakdancerCaller(val root: Configurable) extends BiopetCommandLineFunction { +class BreakdancerCaller(val root: Configurable) extends BiopetCommandLineFunction with Version { executable = config("exe", default = "breakdancer-max", freeVar = false) override def defaultThreads = 1 // breakdancer can only work on 1 single thread - override def versionRegex = """.*[Vv]ersion:? (.*)""".r + def versionRegex = """.*[Vv]ersion:? (.*)""".r override def versionExitcode = List(1) - override def versionCommand = executable + def versionCommand = executable @Input(doc = "The breakdancer configuration file") var input: File = _ diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/bwa/Bwa.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/bwa/Bwa.scala index a2cc17fae2c565dc8674a644afa3934423ef4378..7454020b508b143e36dce4aa30cc770938e3a501 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/bwa/Bwa.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/bwa/Bwa.scala @@ -15,17 +15,17 @@ */ package nl.lumc.sasc.biopet.extensions.bwa -import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction +import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction } /** * General bwa extension * * Created by pjvan_thof on 1/16/15. */ -abstract class Bwa extends BiopetCommandLineFunction { +abstract class Bwa extends BiopetCommandLineFunction with Version { override def subPath = "bwa" :: super.subPath executable = config("exe", default = "bwa") - override def versionRegex = """Version: (.*)""".r + def versionRegex = """Version: (.*)""".r override def versionExitcode = List(0, 1) - override def versionCommand = executable + def versionCommand = executable } diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/clever/CleverCaller.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/clever/CleverCaller.scala index 02a0afec29287b3cda576842b36db9316ad0b401..ff670a33138847c3bb28b1c36d40cd3568e18364 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/clever/CleverCaller.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/clever/CleverCaller.scala @@ -17,11 +17,11 @@ package nl.lumc.sasc.biopet.extensions.clever import java.io.File -import nl.lumc.sasc.biopet.core.{ Reference, BiopetCommandLineFunction } +import nl.lumc.sasc.biopet.core.{ Version, Reference, BiopetCommandLineFunction } import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Argument, Input, Output } -class CleverCaller(val root: Configurable) extends BiopetCommandLineFunction with Reference { +class CleverCaller(val root: Configurable) extends BiopetCommandLineFunction with Reference with Version { executable = config("exe", default = "clever") private lazy val versionExecutable: File = config("version_exe", default = new File(executable).getParent + "/ctk-version") @@ -29,8 +29,8 @@ class CleverCaller(val root: Configurable) extends BiopetCommandLineFunction wit override def defaultThreads = 8 override def defaultCoreMemory = 3.0 - override def versionCommand = versionExecutable.getAbsolutePath - override def versionRegex = """(.*)""".r + def versionCommand = versionExecutable.getAbsolutePath + def versionRegex = """(.*)""".r override def versionExitcode = List(0, 1) @Input(doc = "Input file (bam)") diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/conifer/Conifer.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/conifer/Conifer.scala index 1488cabc468071702f4b2c748e2a2363dac9d810..5f517d7b338f0236fe051edd320ea9e4d4775fdb 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/conifer/Conifer.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/conifer/Conifer.scala @@ -15,15 +15,16 @@ */ package nl.lumc.sasc.biopet.extensions.conifer +import nl.lumc.sasc.biopet.core.Version import nl.lumc.sasc.biopet.core.extensions.PythonCommandLineFunction -abstract class Conifer extends PythonCommandLineFunction { +abstract class Conifer extends PythonCommandLineFunction with Version { override def subPath = "conifer" :: super.subPath // executable = config("exe", default = "conifer") setPythonScript(config("script", default = "conifer")) - override def versionRegex = """(.*)""".r + def versionRegex = """(.*)""".r override def versionExitcode = List(0) - override def versionCommand = executable + " " + python_script + " --version" + def versionCommand = executable + " " + python_script + " --version" override def defaultCoreMemory = 5.0 override def defaultThreads = 1 diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/delly/DellyCaller.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/delly/DellyCaller.scala index 8863baa50114a0c33c8d4e1d3df5c07101168284..137165f2bbe8d755240a95b1a84cf639110c4b79 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/delly/DellyCaller.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/delly/DellyCaller.scala @@ -17,11 +17,11 @@ package nl.lumc.sasc.biopet.extensions.delly import java.io.File -import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction +import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction } import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Argument, Input, Output } -class DellyCaller(val root: Configurable) extends BiopetCommandLineFunction { +class DellyCaller(val root: Configurable) extends BiopetCommandLineFunction with Version { executable = config("exe", default = "delly") private lazy val versionexecutable: File = new File(executable) @@ -29,8 +29,8 @@ class DellyCaller(val root: Configurable) extends BiopetCommandLineFunction { override def defaultThreads = 1 override def defaultCoreMemory = 4.0 - override def versionCommand = versionexecutable.getAbsolutePath - override def versionRegex = """DELLY \(Version: (.*)\)""".r + def versionCommand = versionexecutable.getAbsolutePath + def versionRegex = """DELLY \(Version: (.*)\)""".r override def versionExitcode = List(0, 1) @Input(doc = "Input file (bam)") diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/gatk/Gatk.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/gatk/Gatk.scala index 108253762bab534ab7740512da5ec692158dd0d4..4bffa97fe173c113697803257e7cd1f206e97027 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/gatk/Gatk.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/gatk/Gatk.scala @@ -17,7 +17,7 @@ package nl.lumc.sasc.biopet.extensions.gatk import java.io.File -import nl.lumc.sasc.biopet.core.{ BiopetJavaCommandLineFunction, Reference } +import nl.lumc.sasc.biopet.core.{ Version, BiopetJavaCommandLineFunction, Reference } import org.broadinstitute.gatk.utils.commandline.Input /** @@ -25,7 +25,7 @@ import org.broadinstitute.gatk.utils.commandline.Input * * Created by pjvan_thof on 2/26/15. */ -abstract class Gatk extends BiopetJavaCommandLineFunction with Reference { +abstract class Gatk extends BiopetJavaCommandLineFunction with Reference with Version { override def subPath = "gatk" :: super.subPath jarFile = config("gatk_jar") @@ -51,9 +51,9 @@ abstract class Gatk extends BiopetJavaCommandLineFunction with Reference { var et: Option[String] = config("et") - override def versionRegex = """(.*)""".r + def versionRegex = """(.*)""".r override def versionExitcode = List(0, 1) - override def versionCommand = executable + " -jar " + jarFile + " -version" + def versionCommand = executable + " -jar " + jarFile + " -version" override def getVersion = super.getVersion.collect { case version => "Gatk " + version } override def dictRequired = true diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/igvtools/IGVTools.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/igvtools/IGVTools.scala index 81ce9868bcbbc8a64b4af04bb82c58fe01b18974..a509f2e7b77149501091170b36087ed067971797 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/igvtools/IGVTools.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/igvtools/IGVTools.scala @@ -16,16 +16,16 @@ package nl.lumc.sasc.biopet.extensions.igvtools -import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction +import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction } /** * General igvtools extension * * Created by wyleung on 5-1-15 */ -abstract class IGVTools extends BiopetCommandLineFunction { +abstract class IGVTools extends BiopetCommandLineFunction with Version { executable = config("exe", default = "igvtools", submodule = "igvtools", freeVar = false) - override def versionCommand = executable + " version" - override def versionRegex = """IGV Version:? ([\w\.]*) .*""".r + def versionCommand = executable + " version" + def versionRegex = """IGV Version:? ([\w\.]*) .*""".r override def versionExitcode = List(0) } \ No newline at end of file diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/kraken/KrakenReport.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/kraken/KrakenReport.scala index e7f0426c1d0e496ca99ba3ccad0f64caf2ad2b9e..0919728a08ccbd466f7dc1ae1d3f385e49294162 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/kraken/KrakenReport.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/kraken/KrakenReport.scala @@ -18,21 +18,21 @@ package nl.lumc.sasc.biopet.extensions.kraken import java.io.File -import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction +import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction } import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } /** Extension for Kraken */ -class KrakenReport(val root: Configurable) extends BiopetCommandLineFunction { +class KrakenReport(val root: Configurable) extends BiopetCommandLineFunction with Version { executable = config("exe", default = "kraken-report") - override def versionRegex = """Kraken version (.*)""".r + def versionRegex = """Kraken version (.*)""".r override def versionExitcode = List(0, 1) override def defaultCoreMemory = 4.0 override def defaultThreads = 1 - override def versionCommand = new File(new File(executable).getParent, "kraken").getAbsolutePath + " --version" + def versionCommand = new File(new File(executable).getParent, "kraken").getAbsolutePath + " --version" var db: File = config("db") var show_zeros: Boolean = config("show_zeros", default = false) diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/macs2/Macs2.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/macs2/Macs2.scala index 7a95d648d3deb549a5206eb71820898773279db2..5f8365efc793ca1903ee6eba609d6b87f3ebbf65 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/macs2/Macs2.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/macs2/Macs2.scala @@ -15,16 +15,16 @@ */ package nl.lumc.sasc.biopet.extensions.macs2 -import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction +import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction } /** * General igvtools extension * * Created by sajvanderzeeuw on 12/19/14. */ -abstract class Macs2 extends BiopetCommandLineFunction { +abstract class Macs2 extends BiopetCommandLineFunction with Version { executable = config("exe", default = "macs2", submodule = "macs2", freeVar = false) - override def versionCommand = executable + " --version" - override def versionRegex = """macs2 (.*)""".r + def versionCommand = executable + " --version" + def versionRegex = """macs2 (.*)""".r override def versionExitcode = List(0, 1) } diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/picard/Picard.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/picard/Picard.scala index 02678aac229d0113b19b8e2d3dfbb4eca53793ad..1517e3d936afff135d0747b1d5ceb1f2df2cf897 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/picard/Picard.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/picard/Picard.scala @@ -17,7 +17,7 @@ package nl.lumc.sasc.biopet.extensions.picard import java.io.File -import nl.lumc.sasc.biopet.core.BiopetJavaCommandLineFunction +import nl.lumc.sasc.biopet.core.{ Version, BiopetJavaCommandLineFunction } import nl.lumc.sasc.biopet.utils.{ Logging, tryToParseNumber } import org.broadinstitute.gatk.utils.commandline.Argument @@ -28,7 +28,7 @@ import scala.io.Source * * This is based on using class files directly from the jar, if needed other picard jar can be used */ -abstract class Picard extends BiopetJavaCommandLineFunction { +abstract class Picard extends BiopetJavaCommandLineFunction with Version { override def subPath = "picard" :: super.subPath if (config.contains("picard_jar")) jarFile = config("picard_jar") @@ -54,11 +54,11 @@ abstract class Picard extends BiopetJavaCommandLineFunction { @Argument(doc = "CREATE_MD5_FILE", required = false) var createMd5: Boolean = config("createmd5", default = false) - override def versionCommand = { + def versionCommand = { if (jarFile != null) executable + " -cp " + jarFile + " " + javaMainClass + " -h" else null } - override def versionRegex = """Version: (.*)""".r + def versionRegex = """Version: (.*)""".r override def versionExitcode = List(0, 1) override def defaultCoreMemory = 3.0 @@ -95,15 +95,15 @@ object Picard extends Logging { logger.debug("dependencies: " + dependencies) - val htsjdk = dependencies.find(dep => dep("groupId") == "samtools" && dep("artifactId") == "htsjdk").collect { - case dep => - "samtools htsjdk " + dep("version") - } + val htsjdk = dependencies.find(dep => + (dep("groupId") == "com.github.samtools" || dep("groupId") == "samtools") && + dep("artifactId") == "htsjdk") + .collect { case dep => "samtools htsjdk " + dep("version") } - dependencies.find(dep => dep("groupId") == "picard" && dep("artifactId") == "picard").collect { - case dep => - "Picard " + dep("version") + " using " + htsjdk.getOrElse("unknown htsjdk") - } + dependencies.find(dep => + (dep("groupId") == "com.github.broadinstitute" || dep("groupId") == "picard") && + dep("artifactId") == "picard") + .collect { case dep => "Picard " + dep("version") + " using " + htsjdk.getOrElse("unknown htsjdk") } case otherwise => None } } diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/samtools/Samtools.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/samtools/Samtools.scala index a00f08718e40634e4da7e9173b4870ead9f8f72e..b1f545fb321f79ab2b5605a6e454dee0586ff2eb 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/samtools/Samtools.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/samtools/Samtools.scala @@ -15,13 +15,13 @@ */ package nl.lumc.sasc.biopet.extensions.samtools -import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction +import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction } /** General class for samtools extensions */ -abstract class Samtools extends BiopetCommandLineFunction { +abstract class Samtools extends BiopetCommandLineFunction with Version { override def subPath = "samtools" :: super.subPath executable = config("exe", default = "samtools") - override def versionCommand = executable - override def versionRegex = """Version: (.*)""".r + def versionCommand = executable + def versionRegex = """Version: (.*)""".r override def versionExitcode = List(0, 1) } \ No newline at end of file diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/seqtk/Seqtk.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/seqtk/Seqtk.scala index dfdf82ae466348aa188d4f59ab8b39916837293d..d145cbe3cb85c7f80d6b5fefcabe1c043e8a9ecf 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/seqtk/Seqtk.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/seqtk/Seqtk.scala @@ -15,13 +15,13 @@ */ package nl.lumc.sasc.biopet.extensions.seqtk -import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction +import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction } /** Abstract class for all seqtk wrappers. */ -abstract class Seqtk extends BiopetCommandLineFunction { +abstract class Seqtk extends BiopetCommandLineFunction with Version { override def subPath = "seqtk" :: super.subPath executable = config("exe", default = "seqtk", freeVar = true) - override def versionCommand = executable - override def versionRegex = """Version: (.*)""".r + def versionCommand = executable + def versionRegex = """Version: (.*)""".r override def versionExitcode = List(0, 1) } diff --git a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/BastyGenerateFasta.scala b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/BastyGenerateFasta.scala index bc1d672269421ce7be6d64d15d0f8841c81332a1..32749f119664c9f76a634cdb9c722373acc28fc3 100644 --- a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/BastyGenerateFasta.scala +++ b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/BastyGenerateFasta.scala @@ -18,10 +18,10 @@ package nl.lumc.sasc.biopet.extensions.tools import java.io.File import nl.lumc.sasc.biopet.utils.config.Configurable -import nl.lumc.sasc.biopet.core.{ Reference, ToolCommandFuntion } +import nl.lumc.sasc.biopet.core.{ Reference, ToolCommandFunction } import org.broadinstitute.gatk.utils.commandline.{ Input, Output } -class BastyGenerateFasta(val root: Configurable) extends ToolCommandFuntion with Reference { +class BastyGenerateFasta(val root: Configurable) extends ToolCommandFunction with Reference { def toolObject = nl.lumc.sasc.biopet.tools.BastyGenerateFasta @Input(doc = "Input vcf file", required = false) diff --git a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/BedToInterval.scala b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/BedToInterval.scala index f7f00d0f94d43dcc45724c3ed4b61715072b88c1..99a9d2d3dddf30f1909de53e3dd85afb71793de7 100644 --- a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/BedToInterval.scala +++ b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/BedToInterval.scala @@ -17,14 +17,14 @@ package nl.lumc.sasc.biopet.extensions.tools import java.io.File -import nl.lumc.sasc.biopet.core.ToolCommandFuntion +import nl.lumc.sasc.biopet.core.ToolCommandFunction import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } /** * @deprecated Use picard.util.BedToIntervalList instead */ -class BedToInterval(val root: Configurable) extends ToolCommandFuntion { +class BedToInterval(val root: Configurable) extends ToolCommandFunction { def toolObject = nl.lumc.sasc.biopet.tools.BedToInterval @Input(doc = "Input Bed file", required = true) diff --git a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/BedtoolsCoverageToCounts.scala b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/BedtoolsCoverageToCounts.scala index 00a77a5e9d9ac4ec1e5c2d02ed350cdf53b10d5d..23ff81605b11a4b084801c0db6556149e9916f91 100644 --- a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/BedtoolsCoverageToCounts.scala +++ b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/BedtoolsCoverageToCounts.scala @@ -17,11 +17,11 @@ package nl.lumc.sasc.biopet.extensions.tools import java.io.File -import nl.lumc.sasc.biopet.core.ToolCommandFuntion +import nl.lumc.sasc.biopet.core.ToolCommandFunction import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } -class BedtoolsCoverageToCounts(val root: Configurable) extends ToolCommandFuntion { +class BedtoolsCoverageToCounts(val root: Configurable) extends ToolCommandFunction { def toolObject = nl.lumc.sasc.biopet.tools.BedtoolsCoverageToCounts @Input(doc = "Input fasta", shortName = "input", required = true) diff --git a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/BiopetFlagstat.scala b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/BiopetFlagstat.scala index 5dc69cb07a34f04ed2cc32e7069875649c3aa32b..39c2ea0ca3fc0ac2c83678363c7d5d7ddeace3e3 100644 --- a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/BiopetFlagstat.scala +++ b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/BiopetFlagstat.scala @@ -17,13 +17,13 @@ package nl.lumc.sasc.biopet.extensions.tools import java.io.File -import nl.lumc.sasc.biopet.core.ToolCommandFuntion +import nl.lumc.sasc.biopet.core.ToolCommandFunction import nl.lumc.sasc.biopet.core.summary.Summarizable import nl.lumc.sasc.biopet.utils.ConfigUtils import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } -class BiopetFlagstat(val root: Configurable) extends ToolCommandFuntion with Summarizable { +class BiopetFlagstat(val root: Configurable) extends ToolCommandFunction with Summarizable { def toolObject = nl.lumc.sasc.biopet.tools.BiopetFlagstat @Input(doc = "Input bam", shortName = "input", required = true) diff --git a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/FastqSplitter.scala b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/FastqSplitter.scala index 7348048447ca6c614b3b43ba915b228e042e9a37..bf759c9e8abb07d6442551d97b209798a06f7736 100644 --- a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/FastqSplitter.scala +++ b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/FastqSplitter.scala @@ -18,14 +18,14 @@ package nl.lumc.sasc.biopet.extensions.tools import java.io.File import nl.lumc.sasc.biopet.utils.config.Configurable -import nl.lumc.sasc.biopet.core.ToolCommandFuntion +import nl.lumc.sasc.biopet.core.ToolCommandFunction import org.broadinstitute.gatk.utils.commandline.{ Input, Output } /** * Queue extension for the FastqSplitter * @param root Parent object */ -class FastqSplitter(val root: Configurable) extends ToolCommandFuntion { +class FastqSplitter(val root: Configurable) extends ToolCommandFunction { def toolObject = nl.lumc.sasc.biopet.tools.FastqSplitter @Input(doc = "Input fastq", shortName = "input", required = true) diff --git a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/FastqSync.scala b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/FastqSync.scala index f7829bb8e96cf7f09c318f61a59695d5c11a3a47..e58ba3442c212e6976ed64d0f2f3c5ba1cb434e6 100644 --- a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/FastqSync.scala +++ b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/FastqSync.scala @@ -17,7 +17,7 @@ package nl.lumc.sasc.biopet.extensions.tools import java.io.File -import nl.lumc.sasc.biopet.core.{ BiopetCommandLineFunction, ToolCommandFuntion } +import nl.lumc.sasc.biopet.core.{ BiopetCommandLineFunction, ToolCommandFunction } import nl.lumc.sasc.biopet.core.summary.Summarizable import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } @@ -30,7 +30,7 @@ import scala.util.matching.Regex * * @param root Configuration object for the pipeline */ -class FastqSync(val root: Configurable) extends ToolCommandFuntion with Summarizable { +class FastqSync(val root: Configurable) extends ToolCommandFunction with Summarizable { def toolObject = nl.lumc.sasc.biopet.tools.FastqSync diff --git a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/MergeAlleles.scala b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/MergeAlleles.scala index 504c7cb7c830cf8d1fa067b9048e7f23f4e3fe06..138b1d16ba92d074cd12f6f8e0c6a274d7683c96 100644 --- a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/MergeAlleles.scala +++ b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/MergeAlleles.scala @@ -17,11 +17,11 @@ package nl.lumc.sasc.biopet.extensions.tools import java.io.File -import nl.lumc.sasc.biopet.core.ToolCommandFuntion +import nl.lumc.sasc.biopet.core.ToolCommandFunction import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } -class MergeAlleles(val root: Configurable) extends ToolCommandFuntion { +class MergeAlleles(val root: Configurable) extends ToolCommandFunction { def toolObject = nl.lumc.sasc.biopet.tools.MergeAlleles @Input(doc = "Input vcf files", shortName = "input", required = true) diff --git a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/MergeTables.scala b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/MergeTables.scala index 15ca55b6a524b283418ad67476d41b384541beb7..f4e0946588d94fed1b9829ce1f66935a0530c532 100644 --- a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/MergeTables.scala +++ b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/MergeTables.scala @@ -17,7 +17,7 @@ package nl.lumc.sasc.biopet.extensions.tools import java.io.File -import nl.lumc.sasc.biopet.core.ToolCommandFuntion +import nl.lumc.sasc.biopet.core.ToolCommandFunction import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } @@ -28,7 +28,7 @@ import scala.collection.mutable.{ Set => MutSet } * * @param root [[Configurable]] object */ -class MergeTables(val root: Configurable) extends ToolCommandFuntion { +class MergeTables(val root: Configurable) extends ToolCommandFunction { def toolObject = nl.lumc.sasc.biopet.tools.MergeTables diff --git a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/MpileupToVcf.scala b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/MpileupToVcf.scala index 60797ce9ca7f491a9dff0cf3a2379570cc6d91f5..3d77acdd67979a849c4bd59defdbe13bbe59e790 100644 --- a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/MpileupToVcf.scala +++ b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/MpileupToVcf.scala @@ -18,7 +18,7 @@ package nl.lumc.sasc.biopet.extensions.tools import java.io.File import htsjdk.samtools.SamReaderFactory -import nl.lumc.sasc.biopet.core.{ Reference, ToolCommandFuntion } +import nl.lumc.sasc.biopet.core.{ Reference, ToolCommandFunction } import nl.lumc.sasc.biopet.extensions.samtools.SamtoolsMpileup import nl.lumc.sasc.biopet.utils.ConfigUtils import nl.lumc.sasc.biopet.utils.config.Configurable @@ -26,7 +26,7 @@ import org.broadinstitute.gatk.utils.commandline.{ Input, Output } import scala.collection.JavaConversions._ -class MpileupToVcf(val root: Configurable) extends ToolCommandFuntion with Reference { +class MpileupToVcf(val root: Configurable) extends ToolCommandFunction with Reference { def toolObject = nl.lumc.sasc.biopet.tools.MpileupToVcf @Input(doc = "Input mpileup file", shortName = "mpileup", required = false) diff --git a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/PrefixFastq.scala b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/PrefixFastq.scala index dca36baf399c3f90725f61843ead5ed4416a08ab..407dadd18fe622b2716d151af6fee238712bf35c 100644 --- a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/PrefixFastq.scala +++ b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/PrefixFastq.scala @@ -18,7 +18,7 @@ package nl.lumc.sasc.biopet.extensions.tools import java.io.File import nl.lumc.sasc.biopet.utils.config.Configurable -import nl.lumc.sasc.biopet.core.ToolCommandFuntion +import nl.lumc.sasc.biopet.core.ToolCommandFunction import org.broadinstitute.gatk.utils.commandline.{ Argument, Input, Output } /** @@ -26,7 +26,7 @@ import org.broadinstitute.gatk.utils.commandline.{ Argument, Input, Output } * * Created by pjvan_thof on 1/13/15. */ -class PrefixFastq(val root: Configurable) extends ToolCommandFuntion { +class PrefixFastq(val root: Configurable) extends ToolCommandFunction { def toolObject = nl.lumc.sasc.biopet.tools.PrefixFastq override def defaultCoreMemory = 1.0 diff --git a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/SageCountFastq.scala b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/SageCountFastq.scala index 0e71324dba7091729f044ff6b0815c04d5c937dd..ff50716c6074e65282ac8d4458dce68de1e153bf 100644 --- a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/SageCountFastq.scala +++ b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/SageCountFastq.scala @@ -17,11 +17,11 @@ package nl.lumc.sasc.biopet.extensions.tools import java.io.File -import nl.lumc.sasc.biopet.core.ToolCommandFuntion +import nl.lumc.sasc.biopet.core.ToolCommandFunction import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } -class SageCountFastq(val root: Configurable) extends ToolCommandFuntion { +class SageCountFastq(val root: Configurable) extends ToolCommandFunction { def toolObject = nl.lumc.sasc.biopet.tools.SageCountFastq @Input(doc = "Input fasta", shortName = "input", required = true) diff --git a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/SageCreateLibrary.scala b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/SageCreateLibrary.scala index a2d79430f008d0a5818d98ae6ded6258ab74be0a..384a6268745600962a8ca61a32d608453b75cb6a 100644 --- a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/SageCreateLibrary.scala +++ b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/SageCreateLibrary.scala @@ -17,11 +17,11 @@ package nl.lumc.sasc.biopet.extensions.tools import java.io.File -import nl.lumc.sasc.biopet.core.ToolCommandFuntion +import nl.lumc.sasc.biopet.core.ToolCommandFunction import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } -class SageCreateLibrary(val root: Configurable) extends ToolCommandFuntion { +class SageCreateLibrary(val root: Configurable) extends ToolCommandFunction { def toolObject = nl.lumc.sasc.biopet.tools.SageCreateLibrary @Input(doc = "Input fasta", shortName = "input", required = true) diff --git a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/SageCreateTagCounts.scala b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/SageCreateTagCounts.scala index 30e7f524f65000789653085e4c6443a4e8a6d4a8..a8f6805e136ca290e70436840b36b488db8c87ce 100644 --- a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/SageCreateTagCounts.scala +++ b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/SageCreateTagCounts.scala @@ -17,11 +17,11 @@ package nl.lumc.sasc.biopet.extensions.tools import java.io.File -import nl.lumc.sasc.biopet.core.ToolCommandFuntion +import nl.lumc.sasc.biopet.core.ToolCommandFunction import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } -class SageCreateTagCounts(val root: Configurable) extends ToolCommandFuntion { +class SageCreateTagCounts(val root: Configurable) extends ToolCommandFunction { def toolObject = nl.lumc.sasc.biopet.tools.SageCreateTagCounts @Input(doc = "Raw count file", shortName = "input", required = true) diff --git a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/SeqStat.scala b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/SeqStat.scala index 3f1cf95a447f3f13827a27b82073fbf98e628495..f318a6861404c103ad5da426a1f7bbf662daedf3 100644 --- a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/SeqStat.scala +++ b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/SeqStat.scala @@ -2,7 +2,7 @@ package nl.lumc.sasc.biopet.extensions.tools import java.io.File -import nl.lumc.sasc.biopet.core.ToolCommandFuntion +import nl.lumc.sasc.biopet.core.ToolCommandFunction import nl.lumc.sasc.biopet.core.summary.Summarizable import nl.lumc.sasc.biopet.utils.ConfigUtils import nl.lumc.sasc.biopet.utils.config.Configurable @@ -13,7 +13,7 @@ import org.broadinstitute.gatk.utils.commandline.{ Output, Input } * * @param root Configuration object for the pipeline */ -class SeqStat(val root: Configurable) extends ToolCommandFuntion with Summarizable { +class SeqStat(val root: Configurable) extends ToolCommandFunction with Summarizable { def toolObject = nl.lumc.sasc.biopet.tools.SeqStat @Input(doc = "Input FASTQ", shortName = "input", required = true) diff --git a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/SquishBed.scala b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/SquishBed.scala index f42f635be866d88fd92c9991c93f93afb9e880cd..be50e38932bda4a6dca83983e715f8a313be70e0 100644 --- a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/SquishBed.scala +++ b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/SquishBed.scala @@ -2,14 +2,14 @@ package nl.lumc.sasc.biopet.extensions.tools import java.io.File -import nl.lumc.sasc.biopet.core.ToolCommandFuntion +import nl.lumc.sasc.biopet.core.ToolCommandFunction import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } /** * Created by pjvanthof on 22/08/15. */ -class SquishBed(val root: Configurable) extends ToolCommandFuntion { +class SquishBed(val root: Configurable) extends ToolCommandFunction { def toolObject = nl.lumc.sasc.biopet.tools.SquishBed @Input(doc = "Input Bed file", required = true) diff --git a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/VcfFilter.scala b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/VcfFilter.scala index 06af56f025692658ad19c4e8375e7b81fbe599fc..0c2639c7b1bc0e79cae7486a1775f1039d350a15 100644 --- a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/VcfFilter.scala +++ b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/VcfFilter.scala @@ -17,11 +17,11 @@ package nl.lumc.sasc.biopet.extensions.tools import java.io.File -import nl.lumc.sasc.biopet.core.ToolCommandFuntion +import nl.lumc.sasc.biopet.core.ToolCommandFunction import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } -class VcfFilter(val root: Configurable) extends ToolCommandFuntion { +class VcfFilter(val root: Configurable) extends ToolCommandFunction { def toolObject = nl.lumc.sasc.biopet.tools.VcfFilter @Input(doc = "Input vcf", shortName = "I", required = true) diff --git a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/VcfStats.scala b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/VcfStats.scala index d0024681b727e6f72fdc31da7483bb7b1c98b4f6..4db2b44745416068a95c0da190a541f9c25479ea 100644 --- a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/VcfStats.scala +++ b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/VcfStats.scala @@ -18,7 +18,7 @@ package nl.lumc.sasc.biopet.extensions.tools import java.io.File import nl.lumc.sasc.biopet.core.summary.{ Summarizable, SummaryQScript } -import nl.lumc.sasc.biopet.core.{ Reference, ToolCommandFuntion } +import nl.lumc.sasc.biopet.core.{ Reference, ToolCommandFunction } import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } @@ -29,7 +29,7 @@ import scala.io.Source * * Created by pjvan_thof on 1/10/15. */ -class VcfStats(val root: Configurable) extends ToolCommandFuntion with Summarizable with Reference { +class VcfStats(val root: Configurable) extends ToolCommandFunction with Summarizable with Reference { def toolObject = nl.lumc.sasc.biopet.tools.VcfStats @Input(doc = "Input fastq", shortName = "I", required = true) diff --git a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/VcfWithVcf.scala b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/VcfWithVcf.scala index e956f5c93f5de3d9243de7bb5c9c1684de8f3fa4..0f507ed21e13b6767b70c422fb3d5c71cb2dccc3 100644 --- a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/VcfWithVcf.scala +++ b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/VcfWithVcf.scala @@ -17,14 +17,14 @@ package nl.lumc.sasc.biopet.extensions.tools import java.io.File -import nl.lumc.sasc.biopet.core.ToolCommandFuntion +import nl.lumc.sasc.biopet.core.ToolCommandFunction import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } /** * Biopet extension for tool VcfWithVcf */ -class VcfWithVcf(val root: Configurable) extends ToolCommandFuntion { +class VcfWithVcf(val root: Configurable) extends ToolCommandFunction { def toolObject = nl.lumc.sasc.biopet.tools.VcfWithVcf @Input(doc = "Input vcf file", shortName = "input", required = true) diff --git a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/VepNormalizer.scala b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/VepNormalizer.scala index 229f39628c9d1f8f8e23400b96a4fea957028e71..9ff18d5b95c12b22fead74ad1e8e436745c19ab4 100644 --- a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/VepNormalizer.scala +++ b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/VepNormalizer.scala @@ -17,7 +17,7 @@ package nl.lumc.sasc.biopet.extensions.tools import java.io.File -import nl.lumc.sasc.biopet.core.ToolCommandFuntion +import nl.lumc.sasc.biopet.core.ToolCommandFunction import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } @@ -31,7 +31,7 @@ import org.broadinstitute.gatk.utils.commandline.{ Input, Output } * Created by ahbbollen on 10/27/14. */ -class VepNormalizer(val root: Configurable) extends ToolCommandFuntion { +class VepNormalizer(val root: Configurable) extends ToolCommandFunction { def toolObject = nl.lumc.sasc.biopet.tools.VepNormalizer @Input(doc = "Input VCF, may be indexed", shortName = "InputFile", required = true) diff --git a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/WipeReads.scala b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/WipeReads.scala index 1e468bd36ac52bed889ccc0871a092316def63f0..ba09cc7fe9f519cf86e466b35897392e27bd8849 100644 --- a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/WipeReads.scala +++ b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/WipeReads.scala @@ -17,7 +17,7 @@ package nl.lumc.sasc.biopet.extensions.tools import java.io.File -import nl.lumc.sasc.biopet.core.ToolCommandFuntion +import nl.lumc.sasc.biopet.core.ToolCommandFunction import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } @@ -27,7 +27,7 @@ import org.broadinstitute.gatk.utils.commandline.{ Input, Output } * * @param root Configuration object for the pipeline */ -class WipeReads(val root: Configurable) extends ToolCommandFuntion { +class WipeReads(val root: Configurable) extends ToolCommandFunction { def toolObject = nl.lumc.sasc.biopet.tools.WipeReads diff --git a/public/biopet-utils/src/main/scala/nl/lumc/sasc/biopet/utils/IoUtils.scala b/public/biopet-utils/src/main/scala/nl/lumc/sasc/biopet/utils/IoUtils.scala index b9392c40decdb3ce837e0d06e663fcd24fbb9be5..c046e951f9ab605cc3cecfc4f1775ad053a7472a 100644 --- a/public/biopet-utils/src/main/scala/nl/lumc/sasc/biopet/utils/IoUtils.scala +++ b/public/biopet-utils/src/main/scala/nl/lumc/sasc/biopet/utils/IoUtils.scala @@ -47,4 +47,26 @@ object IoUtils { } } } + + /** Possible compression extensions to trim from input files. */ + val zipExtensions = Set(".gz", ".gzip", ".bzip2", ".bz", ".xz", ".zip") + + /** + * Given a file object and a set of compression extensions, return the filename without any of the compression + * extensions. + * + * Examples: + * - my_file.fq.gz returns "my_file.fq" + * - my_other_file.fastq returns "my_file.fastq" + * + * @param f Input file object. + * @param exts Possible compression extensions to trim. + * @return Filename without compression extension. + */ + def getUncompressedFileName(f: File, exts: Set[String] = zipExtensions): String = + exts.foldLeft(f.getName) { + (fname, ext) => + if (fname.toLowerCase.endsWith(ext)) fname.dropRight(ext.length) + else fname + } } diff --git a/public/flexiprep/src/main/scala/nl/lumc/sasc/biopet/pipelines/flexiprep/Flexiprep.scala b/public/flexiprep/src/main/scala/nl/lumc/sasc/biopet/pipelines/flexiprep/Flexiprep.scala index e53c55cc53bd4cddab07de2d1fe7a1f5bc25feb9..1f1f2510cc600544c95d8db117bad3c3e888be01 100644 --- a/public/flexiprep/src/main/scala/nl/lumc/sasc/biopet/pipelines/flexiprep/Flexiprep.scala +++ b/public/flexiprep/src/main/scala/nl/lumc/sasc/biopet/pipelines/flexiprep/Flexiprep.scala @@ -19,7 +19,9 @@ import nl.lumc.sasc.biopet.core.summary.SummaryQScript import nl.lumc.sasc.biopet.core.{ BiopetFifoPipe, PipelineCommand, SampleLibraryTag } import nl.lumc.sasc.biopet.extensions.{ Zcat, Gzip } import nl.lumc.sasc.biopet.utils.config.Configurable +import nl.lumc.sasc.biopet.utils.IoUtils._ import nl.lumc.sasc.biopet.extensions.tools.{ SeqStat, FastqSync } + import org.broadinstitute.gatk.queue.QScript class Flexiprep(val root: Configurable) extends QScript with SummaryQScript with SampleLibraryTag { @@ -53,8 +55,6 @@ class Flexiprep(val root: Configurable) extends QScript with SummaryQScript with def summarySettings = Map("skip_trim" -> skipTrim, "skip_clip" -> skipClip, "paired" -> paired) var paired: Boolean = input_R2.isDefined - var R1_ext: String = _ - var R2_ext: String = _ var R1_name: String = _ var R2_name: String = _ @@ -85,21 +85,10 @@ class Flexiprep(val root: Configurable) extends QScript with SummaryQScript with inputFiles :+= new InputFile(input_R1) input_R2.foreach(inputFiles :+= new InputFile(_)) - if (input_R1.endsWith(".gz")) R1_name = input_R1.getName.substring(0, input_R1.getName.lastIndexOf(".gz")) - else if (input_R1.endsWith(".gzip")) R1_name = input_R1.getName.substring(0, input_R1.getName.lastIndexOf(".gzip")) - else R1_name = input_R1.getName - R1_ext = R1_name.substring(R1_name.lastIndexOf("."), R1_name.length) - R1_name = R1_name.substring(0, R1_name.lastIndexOf(R1_ext)) - - input_R2 match { - case Some(fileR2) => - paired = true - if (fileR2.endsWith(".gz")) R2_name = fileR2.getName.substring(0, fileR2.getName.lastIndexOf(".gz")) - else if (fileR2.endsWith(".gzip")) R2_name = fileR2.getName.substring(0, fileR2.getName.lastIndexOf(".gzip")) - else R2_name = fileR2.getName - R2_ext = R2_name.substring(R2_name.lastIndexOf("."), R2_name.length) - R2_name = R2_name.substring(0, R2_name.lastIndexOf(R2_ext)) - case _ => + R1_name = getUncompressedFileName(input_R1) + input_R2.foreach { fileR2 => + paired = true + R2_name = getUncompressedFileName(fileR2) } } @@ -214,6 +203,7 @@ class Flexiprep(val root: Configurable) extends QScript with SummaryQScript with qcCmdR2.beforeCmd() fqSync.beforeCmd() commands = qcCmdR1.jobs ::: qcCmdR2.jobs ::: fqSync :: Nil + commands.foreach(addPipeJob) super.beforeCmd() } } diff --git a/public/flexiprep/src/main/scala/nl/lumc/sasc/biopet/pipelines/flexiprep/QcCommand.scala b/public/flexiprep/src/main/scala/nl/lumc/sasc/biopet/pipelines/flexiprep/QcCommand.scala index 3e516b638398f008435c5c5a982e09efcc335a86..8509b78983f571302ed15265714a62bbb3ab24de 100644 --- a/public/flexiprep/src/main/scala/nl/lumc/sasc/biopet/pipelines/flexiprep/QcCommand.scala +++ b/public/flexiprep/src/main/scala/nl/lumc/sasc/biopet/pipelines/flexiprep/QcCommand.scala @@ -3,7 +3,7 @@ package nl.lumc.sasc.biopet.pipelines.flexiprep import java.io.File import nl.lumc.sasc.biopet.core.summary.{ SummaryQScript, Summarizable } -import nl.lumc.sasc.biopet.core.{ BiopetFifoPipe, BiopetCommandLineFunction, BiopetPipe } +import nl.lumc.sasc.biopet.core.{ BiopetFifoPipe, BiopetCommandLineFunction } import nl.lumc.sasc.biopet.extensions.{ Cat, Gzip, Sickle, Cutadapt } import nl.lumc.sasc.biopet.extensions.seqtk.SeqtkSeq import nl.lumc.sasc.biopet.utils.config.Configurable @@ -73,18 +73,20 @@ class QcCommand(val root: Configurable, val fastqc: Fastqc) extends BiopetComman case _ => None } if (seqtk.Q.isDefined) seqtk.V = true + addPipeJob(seqtk) clip = if (!flexiprep.skipClip) { val foundAdapters = fastqc.foundAdapters.map(_.seq) if (foundAdapters.nonEmpty) { - val cutadept = new Cutadapt(root) - cutadept.fastq_input = seqtk.output - cutadept.fastq_output = new File(output.getParentFile, input.getName + ".cutadept.fq") - cutadept.stats_output = new File(flexiprep.outputDir, s"${flexiprep.sampleId.getOrElse("x")}-${flexiprep.libId.getOrElse("x")}.$read.clip.stats") - if (cutadept.default_clip_mode == "3") cutadept.opt_adapter ++= foundAdapters - else if (cutadept.default_clip_mode == "5") cutadept.opt_front ++= foundAdapters - else if (cutadept.default_clip_mode == "both") cutadept.opt_anywhere ++= foundAdapters - Some(cutadept) + val cutadapt = new Cutadapt(root) + cutadapt.fastq_input = seqtk.output + cutadapt.fastq_output = new File(output.getParentFile, input.getName + ".cutadapt.fq") + cutadapt.stats_output = new File(flexiprep.outputDir, s"${flexiprep.sampleId.getOrElse("x")}-${flexiprep.libId.getOrElse("x")}.$read.clip.stats") + if (cutadapt.default_clip_mode == "3") cutadapt.opt_adapter ++= foundAdapters + else if (cutadapt.default_clip_mode == "5") cutadapt.opt_front ++= foundAdapters + else if (cutadapt.default_clip_mode == "both") cutadapt.opt_anywhere ++= foundAdapters + addPipeJob(cutadapt) + Some(cutadapt) } else None } else None @@ -92,17 +94,18 @@ class QcCommand(val root: Configurable, val fastqc: Fastqc) extends BiopetComman val sickle = new Sickle(root) sickle.output_stats = new File(flexiprep.outputDir, s"${flexiprep.sampleId.getOrElse("x")}-${flexiprep.libId.getOrElse("x")}.$read.trim.stats") sickle.input_R1 = clip match { - case Some(clip) => clip.fastq_output - case _ => seqtk.output + case Some(c) => c.fastq_output + case _ => seqtk.output } sickle.output_R1 = new File(output.getParentFile, input.getName + ".sickle.fq") + addPipeJob(sickle) Some(sickle) } else None val outputFile = (clip, trim) match { - case (_, Some(trim)) => trim.output_R1 - case (Some(clip), _) => clip.fastq_output - case _ => seqtk.output + case (_, Some(t)) => t.output_R1 + case (Some(c), _) => c.fastq_output + case _ => seqtk.output } if (compress) outputCommand = { @@ -131,10 +134,10 @@ class QcCommand(val root: Configurable, val fastqc: Fastqc) extends BiopetComman def cmdLine = { val cmd = (clip, trim) match { - case (Some(clip), Some(trim)) => new BiopetFifoPipe(root, seqtk :: clip :: trim :: outputCommand :: Nil) - case (Some(clip), _) => new BiopetFifoPipe(root, seqtk :: clip :: outputCommand :: Nil) - case (_, Some(trim)) => new BiopetFifoPipe(root, seqtk :: trim :: outputCommand :: Nil) - case _ => new BiopetFifoPipe(root, seqtk :: outputCommand :: Nil) + case (Some(c), Some(t)) => new BiopetFifoPipe(root, seqtk :: c :: t :: outputCommand :: Nil) + case (Some(c), _) => new BiopetFifoPipe(root, seqtk :: c :: outputCommand :: Nil) + case (_, Some(t)) => new BiopetFifoPipe(root, seqtk :: t :: outputCommand :: Nil) + case _ => new BiopetFifoPipe(root, seqtk :: outputCommand :: Nil) } //val cmds = (Some(seqtk) :: clip :: trim :: Some(new Gzip(root)) :: Nil).flatten