Nextflow: K8s launcher does not parse correctly parse remote configuration files

Created on 11 Jun 2018  路  14Comments  路  Source: nextflow-io/nextflow

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.

kinbug platfork8s prmoderate

All 14 comments

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.

Was this page helpful?
0 / 5 - 0 ratings