In one of our pipelines we have a parameter (params.genomes) which is not initialised but used in the main.nf . This parameter is instead initialised in a config file which is loaded in a profile. This setting worked well before ver. 0.30.0 release. Now when I try to run the same pipeline with the same invocation I get this:
WARN: Access to undefined parameter `genomes` -- Initialise it to a default value eg. `params.genomes = some_value`
ERROR ~ Cannot get property 'GRCh38' on null object
This is all happening on k8s cluster.
nf-core pipelines may also be affected, since they also don't initialise params.genomes in their main.nf.
How is the run cmd line you are using?
nextflow kuberun cellgeni/rnaseq-noqc -v testpvc:/mnt/gluster -profile docker -with-report report.html
For reference, I have no problems with the latest version of the nf-core rnaseq pipeline
$ nextflow run ~/GitHub/nf-core/rnaseq/ -with-singularity ~/singularity-containers/scilifelab-ngi-rnaseq
-1.4.img --genome GRCh37 --reads 'data/*_{1,2}.fastq.gz' -profile uppmax
N E X T F L O W ~ version 0.30.0
Launching `/home/phil/GitHub/nf-core/rnaseq/main.nf` [suspicious_descartes] - revision: 6549eba824
===================================
nfcore/rnaseq ~ version 1.5dev
===================================
Run Name : suspicious_descartes
Reads : data/*_{1,2}.fastq.gz
Data Type : Paired-End
Genome : GRCh37
Strandedness : None
Trim R1 : 0
Trim R2 : 0
Trim 3' R1 : 0
Trim 3' R2 : 0
Aligner : STAR
STAR Index : /sw/data/uppnex/igenomes//Homo_sapiens/Ensembl/GRCh37/Sequence/STARIndex/
GTF Annotation : /sw/data/uppnex/igenomes//Homo_sapiens/Ensembl/GRCh37/Annotation/Genes/genes.gtf
BED Annotation : /sw/data/uppnex/igenomes//Homo_sapiens/Ensembl/GRCh37/Annotation/Genes/genes.bed
Save Reference : Yes
Save Trimmed : No
....
Code here: https://github.com/nf-core/rnaseq
Hi @ewels, thanks for letting me know! I've checked it on our LSF cluster with farm3 profile which does not affect the params.genomes parameter and it also works ok. @pditommaso can it be something k8s specific?
@wikiselev Could you please check if version 0.30.1-SNAPSHOT solve the problem, eg:
NXF_VER=0.30.1-SNAPSHOT nextflow kuberun .. etc
Hi Paolo, thanks, just checked, but get the same issue:
ubuntu@k8s-master:~/benchmark$ NXF_VER=0.30.1-SNAPSHOT ../kubespray/nextflow kuberun cellgeni/rnaseq-noqc -v testpvc:/mnt/gluster -profile farm3 -with-report report.html
Pod started: desperate-almeida
N E X T F L O W ~ version 0.30.1-SNAPSHOT
Launching `cellgeni/rnaseq-noqc` [desperate-almeida] - revision: 0ed143a537 [master]
WARN: The config file defines settings for an unknown process: fastqc
WARN: Access to undefined parameter `genomes` -- Initialise it to a default value eg. `params.genomes = some_value`
ERROR ~ Cannot get property 'GRCh38' on null object
You this this [TODO](https://github.com/nextflow-io/nextflow/blob/1077a2dbd14a3779541ce1aee51a9226162956cf/src/main/groovy/nextflow/scm/AssetManager.groovy#L434-L437
What's happening is that includeConfig is not parsed when using kuberun command. This never worked, os it's a bit strange that you found that it was working with a previous NF version.
Workaround, launch a pod with nextflow kuberun login -v pvc:/etc, then run the pipeline using nextflow run cellgeni/rnaseq-noqc.
However there's also another issue in version 0.30.0, therefore use NXF_VER=0.30.1-SNAPSHOT of a previous version.
Great, thanks for sorting this out, and for the workaround!
Actually I've just uploaded version 0.30.1.
So, I can do export NXF_VER=0.30.1?
Or just update nextflow -self-update
I've uploaded a new snapshot that should solve this problem.
NXF_VER=0.30.2-SNAPSHOT nextflow kuberun .. etc
Available in 0.30.2.