diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/kraken/Kraken.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/kraken/Kraken.scala index 8212067169ccf88699afb0239e3a5b0cd6c20fbe..6e0905e9fd84a4d7b60a68f197d716acb017df46 100644 --- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/kraken/Kraken.scala +++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/kraken/Kraken.scala @@ -18,9 +18,9 @@ package nl.lumc.sasc.biopet.extensions.kraken import java.io.File -import nl.lumc.sasc.biopet.core.{ BiopetCommandLineFunction, Version } +import nl.lumc.sasc.biopet.core.{BiopetCommandLineFunction, Version} import nl.lumc.sasc.biopet.utils.config.Configurable -import org.broadinstitute.gatk.utils.commandline.{ Input, Output } +import org.broadinstitute.gatk.utils.commandline.{Input, Output} /** Extension for Kraken */ class Kraken(val root: Configurable) extends BiopetCommandLineFunction with Version { @@ -65,13 +65,13 @@ class Kraken(val root: Configurable) extends BiopetCommandLineFunction with Vers /** Returns command to execute */ def cmdLine = required(executable) + - "--db" + required(db) + + required("--db", db) + optional("--threads", nCoresRequest) + conditional(quick, "--quick") + optional("--min_hits", minHits) + optional("--unclassified-out ", unclassified_out.get) + optional("--classified-out ", classified_out.get) + - "--output" + required(output) + + required("--output", output) + conditional(preLoad, "--preload") + conditional(paired, "--paired") + conditional(paired, "--check-names") + 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 625a97595ed774c93e912e28eb01eb3f5b0f0221..df97f7bb1413a7d4b8cbd8c4a98cd37b6e5f3b36 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 @@ -9,7 +9,7 @@ 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.{ Argument, Input, Output } +import org.broadinstitute.gatk.utils.commandline.{Argument, Input, Output} /** * KrakenReportToJson function class for usage in Biopet pipelines @@ -51,12 +51,5 @@ object KrakenReportToJson { report.output = new File(output, input.getName.substring(0, input.getName.lastIndexOf(".")) + ".kraken.json") report } - - def apply(root: Configurable, input: File, outDir: String): KrakenReportToJson = { - val report = new KrakenReportToJson(root) - report.inputReport = input - report.output = new File(outDir, input.getName.substring(0, input.getName.lastIndexOf(".")) + ".kraken.json") - report - } } 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 b9cd7978c74d13f4b25afe2b60cb55152c971e58..3fa672cfa05c8a1ce96414d695b2c80b5ca37257 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 @@ -92,6 +92,15 @@ object KrakenReportToJson extends ToolCommand { .parse(args, Args()) .getOrElse(sys.exit(1)) + /** + * Takes a line from the kraken report, converts into Map with taxonID and + * information on this hit as `KrakenHit`. `KrakenHit` is used later on for + * building the tree + * + * @param krakenRawHit Line from the KrakenReport output + * @param skipNames Specify to skip names in the report output to reduce size of JSON + * @return + */ def parseLine(krakenRawHit: String, skipNames: Boolean): Map[Long, KrakenHit] = { val values: Array[String] = krakenRawHit.stripLineEnd.split("\t") @@ -118,6 +127,14 @@ object KrakenReportToJson extends ToolCommand { )) } + /** + * Read the `KrakenReport` output and transform into `Map` by TaxonID and `KrakenHit` + * A JSON-string output is given. + * + * @param reportRaw The `KrakenReport` output + * @param skipNames Specify to skip names in the report output to reduce size of JSON + * @return + */ def reportToJson(reportRaw: File, skipNames: Boolean): String = { val reader = Source.fromFile(reportRaw)