nf-core / raredisease

Call and score variants from WGS/WES of rare disease patients.
https://nf-co.re/raredisease
MIT License
84 stars 34 forks source link

Stub run (and regular run) crashes on PEDDY #566

Closed Jakob37 closed 1 month ago

Jakob37 commented 3 months ago

Description of the bug

The crash:

ERROR ~ Cannot invoke method collectEntries() on null object

 -- Check script './workflows/../subworkflows/nf-core/utils_nfcore_pipeline/main.nf' at line: 110 or see '.nextflow.log' file for more details
ERROR ~ Pipeline failed. Please refer to troubleshooting docs: https://nf-co.re/docs/usage/troubleshooting

 -- Check '.nextflow.log' file for details
-[nf-core/raredisease] Pipeline completed with errors-

Back-tracing it I found that the versions file is invalid for the stub run in the modules/nf-core/peddy/main.nf process.

Here is how it looks now:

    stub:
    def prefix = task.ext.prefix ?: "${meta.id}"
    """
    touch ${prefix}.ped_check.csv
    touch ${prefix}.vs.html
    touch ${prefix}.het_check.csv
    touch ${prefix}.sex_check.csv
    touch ${prefix}.peddy.ped
    touch ${prefix}.html

    touch versions.yml
    """

Edit: Looks like this will need to be fixed in the nf-core module.

Command used and terminal output

No response

Relevant files

No response

System information

No response

Jakob37 commented 3 months ago

Just a follow up. When copying the version code from the run script, I got a yaml file but with invalid content:

"NFCORE_RAREDISEASE:RAREDISEASE:PEDDY":
    peddy: Matplotlib created a temporary config/cache directory at /local/slurmtmp.3277329/matplotlib-88q0dnw3 because the default path (/home/<user>/.config/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.
0.4.8

Guess this is easily solved, just a FYI.

Jakob37 commented 3 months ago

With this added instead of touch versions.yml, this and the full stub run ran through for me (same as the non-stub process, plus tail -1)

    cat <<-END_VERSIONS > versions.yml
    "${task.process}":
        peddy: \$( peddy --version 2>&1 | tail -1 | sed 's/peddy, version //' )
    END_VERSIONS

I needed to add this to the real run as well, to avoid the error seen in the previous message.

ramprasadn commented 1 month ago

Closing this as the issue was fixed in #576