diff --git a/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/igvtools/IGVTools.scala b/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/igvtools/IGVTools.scala index b411e02dba9f13ec9cf8a1db5f48deb3c882f021..3effdeea1d09f953d9d1759c3d4bfb696dcdb493 100644 --- a/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/igvtools/IGVTools.scala +++ b/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/igvtools/IGVTools.scala @@ -14,16 +14,17 @@ */ package nl.lumc.sasc.biopet.extensions.igvtools -import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction } +import nl.lumc.sasc.biopet.core.{ BiopetJavaCommandLineFunction, Version } /** * General igvtools extension * * Created by wyleung on 5-1-15 */ -abstract class IGVTools extends BiopetCommandLineFunction with Version { - executable = config("exe", default = "igvtools", namespace = "igvtools", freeVar = false) - def versionCommand = executable + " version" +abstract class IGVTools extends BiopetJavaCommandLineFunction with Version { + jarFile = config("igvtools_jar", namespace = "igvtools") + + def versionCommand = executable + s" -jar ${jarFile.getAbsolutePath} version" def versionRegex = """IGV Version:? ([\w\.]*) .*""".r override def versionExitcode = List(0) } \ No newline at end of file diff --git a/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/igvtools/IGVToolsCount.scala b/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/igvtools/IGVToolsCount.scala index bf466099d3b652320cf8fae3355158fbb2b17354..c7c09c28aee2c00e6aa033e8b8a35dc7b0f24935 100644 --- a/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/igvtools/IGVToolsCount.scala +++ b/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/igvtools/IGVToolsCount.scala @@ -76,25 +76,23 @@ class IGVToolsCount(val root: Configurable) extends IGVTools { } /** Returns command to execute */ - def cmdLine = { - required(executable) + - required("count") + - optional("--maxZoom", maxZoom) + - optional("--windowSize", windowSize) + - optional("--extFactor", extFactor) + - optional("--preExtFactor", preExtFactor) + - optional("--postExtFactor", postExtFactor) + - optional("--windowFunctions", windowFunctions) + - optional("--strands", strands) + - conditional(bases, "--bases") + - optional("--query", query) + - optional("--minMapQuality", minMapQuality) + - conditional(includeDuplicates, "--includeDuplicates") + - conditional(pairs, "--pairs") + - required(input) + - required(outputArg) + - required(genomeChromSizes) - } + override def cmdLine = super.cmdLine + + required("count") + + optional("--maxZoom", maxZoom) + + optional("--windowSize", windowSize) + + optional("--extFactor", extFactor) + + optional("--preExtFactor", preExtFactor) + + optional("--postExtFactor", postExtFactor) + + optional("--windowFunctions", windowFunctions) + + optional("--strands", strands) + + conditional(bases, "--bases") + + optional("--query", query) + + optional("--minMapQuality", minMapQuality) + + conditional(includeDuplicates, "--includeDuplicates") + + conditional(pairs, "--pairs") + + required(input) + + required(outputArg) + + required(genomeChromSizes) /** This part should never fail, these values are set within this wrapper */ private def outputArg: String = { diff --git a/carp/src/test/scala/nl/lumc/sasc/biopet/pipelines/carp/CarpTest.scala b/carp/src/test/scala/nl/lumc/sasc/biopet/pipelines/carp/CarpTest.scala index 3ba85bccab141d308714e0dd1ec109262f2bc834..37da9198c751633f5a952f1803843fc6065730a4 100644 --- a/carp/src/test/scala/nl/lumc/sasc/biopet/pipelines/carp/CarpTest.scala +++ b/carp/src/test/scala/nl/lumc/sasc/biopet/pipelines/carp/CarpTest.scala @@ -125,7 +125,7 @@ object CarpTest { "bwa" -> Map("exe" -> "test"), "samtools" -> Map("exe" -> "test"), "macs2" -> Map("exe" -> "test"), - "igvtools" -> Map("exe" -> "test"), + "igvtools" -> Map("exe" -> "test", "igvtools_jar" -> "test"), "wigtobigwig" -> Map("exe" -> "test"), "md5sum" -> Map("exe" -> "test") ) diff --git a/gentrap/src/test/scala/nl/lumc/sasc/biopet/pipelines/gentrap/GentrapTest.scala b/gentrap/src/test/scala/nl/lumc/sasc/biopet/pipelines/gentrap/GentrapTest.scala index 4f2ae6ea2121b6427a3086e28ba9e46085a8bf27..d3344acfa3002d3e54074d3002b86bfcfb348bb0 100644 --- a/gentrap/src/test/scala/nl/lumc/sasc/biopet/pipelines/gentrap/GentrapTest.scala +++ b/gentrap/src/test/scala/nl/lumc/sasc/biopet/pipelines/gentrap/GentrapTest.scala @@ -194,6 +194,7 @@ object GentrapTest { "ribosome_refflat" -> (outputDir + File.separator + "ref.fa"), "varscan_jar" -> "test", "rscript" -> Map("exe" -> "test"), + "igvtools" -> Map("exe" -> "test", "igvtools_jar" -> "test"), "gatk_jar" -> "test" ) ++ Seq( // fastqc executables @@ -203,7 +204,7 @@ object GentrapTest { // gentrap executables "cufflinks", "htseqcount", "grep", "pdflatex", "rscript", "tabix", "bgzip", "bedtoolscoverage", "md5sum", // bam2wig executables - "igvtools", "wigtobigwig" + "wigtobigwig" ).map { case exe => exe -> Map("exe" -> "test") }.toMap val sample1: Map[String, Any] = Map( diff --git a/mapping/src/main/scala/nl/lumc/sasc/biopet/pipelines/mapping/Mapping.scala b/mapping/src/main/scala/nl/lumc/sasc/biopet/pipelines/mapping/Mapping.scala index b0a435ff2f9084e46e5b526427be7682b819381e..369e50dc6d6182c433d2aa8df5e496fdf04d546a 100644 --- a/mapping/src/main/scala/nl/lumc/sasc/biopet/pipelines/mapping/Mapping.scala +++ b/mapping/src/main/scala/nl/lumc/sasc/biopet/pipelines/mapping/Mapping.scala @@ -126,6 +126,7 @@ class Mapping(val root: Configurable) extends QScript with SummaryQScript with S "skip_metrics" -> skipMetrics, "skip_flexiprep" -> skipFlexiprep, "skip_markduplicates" -> skipMarkduplicates, + "paired" -> inputR2.isDefined, "aligner" -> aligner, "chunking" -> chunking, "number_of_chunks" -> (if (chunking) numberChunks.getOrElse(1) else None) diff --git a/mapping/src/main/scala/nl/lumc/sasc/biopet/pipelines/mapping/MultisampleMappingReport.scala b/mapping/src/main/scala/nl/lumc/sasc/biopet/pipelines/mapping/MultisampleMappingReport.scala index 9a079045f7e1cbef8d986445ffbb5dd552cc3adc..8d77b9aedc734e86222656e2f82910bd89f0264c 100644 --- a/mapping/src/main/scala/nl/lumc/sasc/biopet/pipelines/mapping/MultisampleMappingReport.scala +++ b/mapping/src/main/scala/nl/lumc/sasc/biopet/pipelines/mapping/MultisampleMappingReport.scala @@ -49,6 +49,8 @@ trait MultisampleMappingReportTrait extends MultisampleReportBuilder { val wgsExecuted = summary.getSampleValues("bammetrics", "stats", "wgs").values.exists(_.isDefined) val rnaExecuted = summary.getSampleValues("bammetrics", "stats", "rna").values.exists(_.isDefined) val insertsizeExecuted = summary.getSampleValues("bammetrics", "stats", "CollectInsertSizeMetrics", "metrics").values.exists(_ != Some(None)) + val mappingExecuted = summary.getLibraryValues("mapping").nonEmpty + val pairedFound = !mappingExecuted || summary.getLibraryValues("mapping", "settings", "paired").exists(_._2 == Some(true)) val flexiprepExecuted = summary.getLibraryValues("flexiprep") .exists { case ((sample, lib), value) => value.isDefined } @@ -71,7 +73,7 @@ trait MultisampleMappingReportTrait extends MultisampleReportBuilder { List("Alignment" -> ReportSection("/nl/lumc/sasc/biopet/pipelines/bammetrics/alignmentSummary.ssp", Map("sampleLevel" -> true, "showPlot" -> true, "showTable" -> false) )) ++ - (if (insertsizeExecuted) List("Insert Size" -> ReportSection("/nl/lumc/sasc/biopet/pipelines/bammetrics/insertSize.ssp", + (if (pairedFound) List("Insert Size" -> ReportSection("/nl/lumc/sasc/biopet/pipelines/bammetrics/insertSize.ssp", Map("sampleLevel" -> true, "showPlot" -> true, "showTable" -> false))) else Nil) ++ (if (wgsExecuted) List("Whole genome coverage" -> ReportSection("/nl/lumc/sasc/biopet/pipelines/bammetrics/wgsHistogram.ssp", diff --git a/mapping/src/test/scala/nl/lumc/sasc/biopet/pipelines/mapping/MultisampleMappingTest.scala b/mapping/src/test/scala/nl/lumc/sasc/biopet/pipelines/mapping/MultisampleMappingTest.scala index f036640ebb8700232b0b6f057cc45f48b64e3a36..79ae1b0137baf60bca030ea90fe2929864a2628f 100644 --- a/mapping/src/test/scala/nl/lumc/sasc/biopet/pipelines/mapping/MultisampleMappingTest.scala +++ b/mapping/src/test/scala/nl/lumc/sasc/biopet/pipelines/mapping/MultisampleMappingTest.scala @@ -194,7 +194,7 @@ object MultisampleMappingTestTrait { "cutadapt" -> Map("exe" -> "test"), "bwa" -> Map("exe" -> "test"), "samtools" -> Map("exe" -> "test"), - "igvtools" -> Map("exe" -> "test"), + "igvtools" -> Map("exe" -> "test", "igvtools_jar" -> "test"), "wigtobigwig" -> Map("exe" -> "test"), "kraken" -> Map("exe" -> "test", "db" -> "test"), "krakenreport" -> Map("exe" -> "test", "db" -> "test"), diff --git a/shiva/src/test/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaTest.scala b/shiva/src/test/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaTest.scala index ef62700ca687b0153c21fa75510c867e06b7c0b4..e0d04818a06f898a410bc648fcb866a7a67f6798 100644 --- a/shiva/src/test/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaTest.scala +++ b/shiva/src/test/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaTest.scala @@ -210,7 +210,7 @@ object ShivaTest { "bwa" -> Map("exe" -> "test"), "samtools" -> Map("exe" -> "test"), "macs2" -> Map("exe" -> "test"), - "igvtools" -> Map("exe" -> "test"), + "igvtools" -> Map("exe" -> "test", "igvtools_jar" -> "test"), "wigtobigwig" -> Map("exe" -> "test"), "md5sum" -> Map("exe" -> "test"), "bgzip" -> Map("exe" -> "test"), diff --git a/tinycap/src/test/scala/nl/lumc/sasc/biopet/pipelines/tinycap/TinyCapTest.scala b/tinycap/src/test/scala/nl/lumc/sasc/biopet/pipelines/tinycap/TinyCapTest.scala index b52e9696ca69bedada90d14453dc6f8fb9c62ed3..ac6733f345aa3236e6b04ccf16ba8e134a26d790 100644 --- a/tinycap/src/test/scala/nl/lumc/sasc/biopet/pipelines/tinycap/TinyCapTest.scala +++ b/tinycap/src/test/scala/nl/lumc/sasc/biopet/pipelines/tinycap/TinyCapTest.scala @@ -134,7 +134,7 @@ object TinyCapTest { "cutadapt" -> Map("exe" -> "test"), "bowtie" -> Map("exe" -> "test"), "htseqcount" -> Map("exe" -> "test"), - "igvtools" -> Map("exe" -> "test"), + "igvtools" -> Map("exe" -> "test", "igvtools_jar" -> "test"), "wigtobigwig" -> Map("exe" -> "test") )