Luis Heinzlmeier
08/11/2025, 7:43 AMext.args inputs for nf-core, which may also be of interest to @Seo Kim .Luis Heinzlmeier
08/11/2025, 7:46 AM// HashedDrops
hasheddrops_lower = 100
hasheddrops_niters = 10000
hasheddrops_testAmbient = true
hasheddrops_gene_col = 2
hasheddrops_ignore = null
hasheddrops_alpha = null
hasheddrops_round = true
hasheddrops_byRank = null
hasheddrops_isCellFDR = 0.01
hasheddrops_ambient = true
hasheddrops_minProp = 0.05
hasheddrops_pseudoCount = 5
hasheddrops_constantAmbient = false
hasheddrops_doubletNmads = 3
hasheddrops_doubletMin = 2
hasheddrops_doubletMixture = false
hasheddrops_confidentNmads = 3
hasheddrops_confidentMin = 2
hasheddrops_combinations = null
However, hasheddrops only accepts "FALSE", but not "false", and "NULL", but not "null". That's why I work around this in our pipeline as follows:
withName: HASHEDDROPS {
ext.args = {
[
"--lower",
params.hasheddrops_lower,
...
params.hasheddrops_ignore ? "--ignore ${params.hasheddrops_ignore}" : "",
params.hasheddrops_alpha ? "--alpha ${params.hasheddrops_alpha}" : "",
"--ambient",
params.hasheddrops_ambient.toString().toUpperCase(),
...
].join(" ")
}
Should the module only allow "FALSE" (R false as str) or "false" (groovy false as str), or even both as input? So at what point do I translate the groovy variable into a variable in the programming language of the module's script? I'm currently doing that in modules.config.Nico Trummer
08/11/2025, 8:53 AM