Skip to content
This repository was archived by the owner on Aug 20, 2024. It is now read-only.
This repository was archived by the owner on Aug 20, 2024. It is now read-only.

Specifying empty params (e.g. clusterOptions in profile) breaks with nf-validation 0.3.1 #84

@pontus

Description

@pontus

When running one of the pipelines using nf-validation with 0.3.1 and specifying the UPPMAX profile, it fails with an error:

pontus@lalage:/tmp$ nextflow run nf-core/atacseq -r 2.1.1 -profile uppmax
N E X T F L O W  ~  version 23.04.2
Launching `https://github.com/nf-core/atacseq` [nostalgic_euler] DSL2 - revision: 415795d3c1 [2.1.1]
ERROR ~ JSONObject["project"] not found.

 -- Check script '/home/pontus/.nextflow/assets/nf-core/atacseq/main.nf' at line: 52 or see '.nextflow.log' file for more details
pontus@lalage:/tmp$ 

after some digging, it seems to me this is because the profile sets that up in params, although with a null value.

It looks to me that is enough to have it seen by nf-validation, but when nf-validation tries to report it (

warnings << "* --${specifiedParam}: ${paramsJSON[specifiedParam]}".toString()
) it's not found in paramsJSON because that's based on the cleaned version (
def paramsJSON = new JSONObject(new JsonBuilder(cleanedParams).toString())
) which has removed anything evaluating to false.

A workaround (that makes sense) for now is to ignore the affected param, but this seems to be a bug that can be difficult to figure out and would be nice to have fixed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions