diff --git a/cspell.json b/cspell.json index 9c85392d4..b59dbd602 100644 --- a/cspell.json +++ b/cspell.json @@ -171,6 +171,7 @@ "Nanopore", "PACBIO", "unpatterned", + "mers", // STAR / Picard / GATK option fragments "Ftag", "Ffile", diff --git a/tools/CHANGELOG.md b/tools/CHANGELOG.md index 156e5170e..f6468ff49 100644 --- a/tools/CHANGELOG.md +++ b/tools/CHANGELOG.md @@ -9,6 +9,8 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/). ### Added - Added WDL implementation for Salmon (`index` and `quant` tasks) [#326](https://github.com/stjudecloud/workflows/pull/326) +- `kraken2.wdl` `kraken` task now exposes `confidence`, `minimum_hit_groups`, and `quick` parameters [#331](https://github.com/stjudecloud/workflows/pull/331) +- Documented previously unexposed/undocumented parameters in `star.wdl` (`outSAMtype`, `outMultimapperOrder`) and `qualimap.wdl` (`-p`) using a new `omitted_parameters` `meta` convention [#331](https://github.com/stjudecloud/workflows/pull/331) ## 2026 August diff --git a/tools/kraken2.wdl b/tools/kraken2.wdl index 98a6664de..9a1e77a64 100644 --- a/tools/kraken2.wdl +++ b/tools/kraken2.wdl @@ -306,6 +306,12 @@ task build_db { task kraken { meta { description: "Runs Kraken2 on a pair of fastq files" + omitted_parameters: [ + { + flag: "--memory-mapping", + reason: "Enabling this would reduce RAM usage at the cost of a slower run time and higher disk usage. This trade is usually undesirable. Without further investigation to determine the generalized costs and benefits, this option will not be exposed.", + }, + ] outputs: { report: { description: "A Kraken2 summary report", @@ -337,6 +343,12 @@ task kraken { group: "Common", } min_base_quality: "Minimum base quality used in classification" + confidence: { + description: "Confidence score threshold. Classifications below this threshold are unclassified.", + external_help: "https://github.com/DerrickWood/kraken2/blob/master/docs/MANUAL.markdown#confidence-scoring", + } + minimum_hit_groups: "Minimum number of hit groups (overlapping k-mers sharing the same minimizer) needed to make a classification call" + quick: "Stop classification at the first hit instead of an exhaustive k-mer search? Faster but less accurate." ncpu: { description: "Number of cores to allocate for task", group: "Common", @@ -357,6 +369,9 @@ task kraken { Boolean use_names = true Boolean use_all_cores = false Int min_base_quality = 0 + Float confidence = 0.0 + Int minimum_hit_groups = 2 + Boolean quick = false Int ncpu = 4 Int modify_memory_gb = 0 Int modify_disk_size_gb = 0 @@ -391,6 +406,9 @@ task kraken { --output ~{if store_sequences then "'" + out_sequences + "'" else "-"} \ --threads "$n_cores" \ --minimum-base-quality ~{min_base_quality} \ + --confidence ~{confidence} \ + --minimum-hit-groups ~{minimum_hit_groups} \ + ~{if quick then "--quick" else ""} \ --report "~{out_report}" \ --report-zero-counts \ ~{if use_names then "--use-names" else ""} \ diff --git a/tools/qualimap.wdl b/tools/qualimap.wdl index 3ef3d8208..638ed77ae 100755 --- a/tools/qualimap.wdl +++ b/tools/qualimap.wdl @@ -4,7 +4,12 @@ version 1.1 task rnaseq { meta { description: "Generates runs QualiMap's rnaseq tool on the input BAM file." - help: "Note that we don't expose the `-p` parameter. This is used to set strandedness protocol of the sample, however in practice it only disables certain calculations. We do not expose the parameter so that the full suite of calculations is always performed." + omitted_parameters: [ + { + flag: "-p, --sequencing-protocol", + reason: "Used to set the strandedness protocol of the sample; in practice it only disables certain calculations. Omitted so that the full suite of calculations is always performed.", + }, + ] outputs: { raw_summary: "Raw text summary of QualiMap's results. Can be parsed by MultiQC.", raw_coverage: "Raw text of QualiMap's coverage analysis results. Can be parsed by MultiQC.", diff --git a/tools/star.wdl b/tools/star.wdl index f59ae1b63..2b2f4efd7 100755 --- a/tools/star.wdl +++ b/tools/star.wdl @@ -146,6 +146,16 @@ task build_star_db { task alignment { meta { description: "Runs the STAR aligner on a set of RNA-Seq FASTQ files" + omitted_parameters: [ + { + flag: "--outSAMtype", + reason: "STAR's default sort implementation is inefficient in the worst case and can blow up memory/time on some samples. Sorting is disabled here and handled by a dedicated downstream sorting task instead.", + }, + { + flag: "--outMultimapperOrder", + reason: "Hardcoded to `Random`. The alternative, `Old_2.4`, is a biased quasi-random order used before STAR 2.5.0 and is expected to be deprecated in future STAR releases.", + }, + ] external_help: "https://github.com/alexdobin/STAR/blob/2.7.11b/doc/STARmanual.pdf" outputs: { star_log: {