diff --git a/public/biopet-extentsions/src/main/scala/nl/lumc/sasc/biopet/extensions/kraken/Kraken.scala b/public/biopet-extentsions/src/main/scala/nl/lumc/sasc/biopet/extensions/kraken/Kraken.scala index dfe6f59d68b37411da199441a2d33fb891454e2a..834a32f5c5816e81755c196d306e990c8c2f7a1c 100644 --- a/public/biopet-extentsions/src/main/scala/nl/lumc/sasc/biopet/extensions/kraken/Kraken.scala +++ b/public/biopet-extentsions/src/main/scala/nl/lumc/sasc/biopet/extensions/kraken/Kraken.scala @@ -39,11 +39,6 @@ class Kraken(val root: Configurable) extends BiopetCommandLineFunction { var db: File = config("db") - var inputFastQ: Boolean = true - var compression: Boolean = false - var compressionGzip: Boolean = false - var compressionBzip: Boolean = false - var quick: Boolean = false var minHits: Option[Int] = config("min_hits") @@ -68,8 +63,6 @@ class Kraken(val root: Configurable) extends BiopetCommandLineFunction { def cmdLine = required(executable) + "--db" + required(db) + optional("--threads", nCoresRequest) + - conditional(inputFastQ, "--fastq-input") + - conditional(!inputFastQ, "--fasta-input") + conditional(quick, "--quick") + optional("--min_hits", minHits) + optional("--unclassified-out ", unclassified_out.get) + @@ -77,5 +70,6 @@ class Kraken(val root: Configurable) extends BiopetCommandLineFunction { "--output" + required(output) + conditional(preLoad, "--preload") + conditional(paired, "--paired") + + conditional(paired, "--check-names") + repeat(input) } diff --git a/public/biopet-extentsions/src/main/scala/nl/lumc/sasc/biopet/extensions/kraken/KrakenReport.scala b/public/biopet-extentsions/src/main/scala/nl/lumc/sasc/biopet/extensions/kraken/KrakenReport.scala index 01d0cb731e361c35c98ea515e2fbcb749025d4b4..e7f0426c1d0e496ca99ba3ccad0f64caf2ad2b9e 100644 --- a/public/biopet-extentsions/src/main/scala/nl/lumc/sasc/biopet/extensions/kraken/KrakenReport.scala +++ b/public/biopet-extentsions/src/main/scala/nl/lumc/sasc/biopet/extensions/kraken/KrakenReport.scala @@ -44,9 +44,9 @@ class KrakenReport(val root: Configurable) extends BiopetCommandLineFunction { var output: File = _ def cmdLine: String = { - val cmd: String = "--db " + required(db) + + val cmd: String = required(executable) + "--db " + required(db) + conditional(show_zeros, "--show-zeros") + - input.getAbsolutePath + ">" + output.getAbsolutePath + required(input.getAbsolutePath) + " > " + required(output.getAbsolutePath) cmd } } diff --git a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/KrakenReportToJson.scala b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/KrakenReportToJson.scala index 5c5582a4cce319f41272cb97f3aa2745ee914782..c7f583940fe0a924b78aec2741283ec5da65c0da 100644 --- a/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/KrakenReportToJson.scala +++ b/public/biopet-tools-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/tools/KrakenReportToJson.scala @@ -24,14 +24,17 @@ class KrakenReportToJson(val root: Configurable) extends ToolCommandFuntion with var inputReport: File = null @Argument(required = false) - var skipNames: Boolean = true + var skipNames: Boolean = false @Output(doc = "Output JSON", shortName = "output", required = true) var output: File = null override def defaultCoreMemory = 1.0 - override def cmdLine = super.cmdLine + required("-i", inputReport) + required("-o", output) + override def cmdLine = super.cmdLine + + required("-i", inputReport) + + required("-o", output) + + conditional(skipNames, "--skipnames") def summaryStats: Map[String, Any] = { val map = ConfigUtils.fileToConfigMap(output) diff --git a/public/biopet-tools/src/main/scala/nl/lumc/sasc/biopet/tools/KrakenReportToJson.scala b/public/biopet-tools/src/main/scala/nl/lumc/sasc/biopet/tools/KrakenReportToJson.scala index 7d2989a8eee6afebce70c0decf59a0ec69f5b9b6..4d95619438dbc18d2597417e79d0a944fac1b02e 100644 --- a/public/biopet-tools/src/main/scala/nl/lumc/sasc/biopet/tools/KrakenReportToJson.scala +++ b/public/biopet-tools/src/main/scala/nl/lumc/sasc/biopet/tools/KrakenReportToJson.scala @@ -56,7 +56,7 @@ object KrakenReportToJson extends ToolCommand { var cladeIDs: mutable.ArrayBuffer[Long] = mutable.ArrayBuffer.fill(32)(0) val spacePattern = "^( +)".r - case class Args(krakenreport: File = null, outputJson: Option[File] = None, skipNames: Boolean = true) extends AbstractArgs + case class Args(krakenreport: File = null, outputJson: Option[File] = None, skipNames: Boolean = false) extends AbstractArgs class OptParser extends AbstractOptParser { @@ -93,6 +93,9 @@ object KrakenReportToJson extends ToolCommand { def parseLine(krakenRawHit: String, skipNames: Boolean): Map[Long, KrakenHit] = { val values: Array[String] = krakenRawHit.stripLineEnd.split("\t") + + assert(values.length == 6) + val scientificName: String = values(5) val cladeLevel = spacePattern.findFirstIn(scientificName).getOrElse("").length / 2 diff --git a/public/gears/src/main/scala/nl/lumc/sasc/biopet/pipelines/gears/Gears.scala b/public/gears/src/main/scala/nl/lumc/sasc/biopet/pipelines/gears/Gears.scala index 5be74f27872256b2530cab247585c184c06b4bc0..554ed5b29724664b752242464349537b0c6cb7cf 100644 --- a/public/gears/src/main/scala/nl/lumc/sasc/biopet/pipelines/gears/Gears.scala +++ b/public/gears/src/main/scala/nl/lumc/sasc/biopet/pipelines/gears/Gears.scala @@ -74,16 +74,10 @@ class Gears(val root: Configurable) extends QScript with SummaryQScript { samFilterUnmapped.isIntermediate = false add(samFilterUnmapped) - val samNameSort = new SortSam(qscript) - samNameSort.input = samFilterUnmapped.output - samNameSort.output = new File(outputDir, s"$outputName.unmapped.nsort.bam") - samNameSort.sortOrder = "queryname" - samNameSort.isIntermediate = false - add(samNameSort) - // start bam to fastq (only on unaligned reads) also extract the matesam val samToFastq = new SamToFastq(qscript) - samToFastq.input= samNameSort.output + samToFastq.input= samFilterUnmapped.output + samToFastq.stringency = Some("LENIENT") samToFastq.fastqR1 = new File(outputDir, s"$outputName.unmapped.R1.fq.gz") samToFastq.fastqR2 = new File(outputDir, s"$outputName.unmapped.R2.fq.gz") samToFastq.fastqUnpaired = new File(outputDir, s"$outputName.unmapped.singleton.fq.gz") @@ -136,9 +130,9 @@ class Gears(val root: Configurable) extends QScript with SummaryQScript { GearsOutputFiles ++ Map("kraken_report_output" -> krakenReport.output) val krakenReportJSON = new KrakenReportToJson(qscript) - krakenReportJSON.inputReport = krakenAnalysis.output + krakenReportJSON.inputReport = krakenReport.output krakenReportJSON.output = new File(outputDir, s"$outputName.krkn.json") - krakenReportJSON.skipNames = config("skipNames", default = true) + krakenReportJSON.skipNames = config("skipNames", default = false) add(krakenReportJSON) addSummaryJobs()