Nf-core questions <@U04UWPBRAFP>, I have a basic q...
# hadge
l
Nf-core questions @Nico Trummer, I have a basic question about
ext.args
inputs for nf-core, which may also be of interest to @Seo Kim .
I have the following inputs defined for our pipeline:
Copy code
// 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:
Copy code
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
.
n
I don't really know, you can check other similar modules like Deseq, otherwise you can do what makes most sense to you