Skip to content

isEmpty error on empty msisensorpro file channel for GRCh38 #24

@andrewrlynch

Description

@andrewrlynch

Description of the bug

Nice work on this pipeline everyone. Looks great.

I was testing this on some of our genomes and received a recurrent error when running or aligning GrCh38 genomes. It looks like the msisensor reference data for these don't exist, in which case they are run dynamically.

In subworkflows/local/prepare_genome/main.nf...

if (msisensorpro_list.isEmpty()) { MSISENSORPRO_SCAN(fasta) msisensorpro_list = MSISENSORPRO_SCAN.out.list.map{ meta, list -> list } // path: genome_msi.list }

... is used to check if the msisensorpro_list file channel is empty. Apparently (at least in nf 23.04.0) isEmpty can't be used on file channels.

I was able to bypass this by changing this to...

if (!params.msisensorpro_list) {

Hope this helps.

Error

Jun-17 16:31:27.955 [main] DEBUG nextflow.Session - Session aborted -- Cause: Missing process or function isEmpty()
Jun-17 16:31:28.002 [main] DEBUG nextflow.Session - The following nodes are still active:
[operator] map
[operator] map
[operator] tap
[operator] groupTuple
[operator] map
[operator] combine
[operator] map
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] map
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] map
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] collect
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] branch
[operator] map
[operator] map
[operator] filter
[operator] branch
[operator] map
[operator] map
[operator] filter
[operator] branch
[operator] map
[operator] map
[operator] filter
[operator] branch
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map
[operator] filter
[operator] map
[operator] map

Jun-17 16:31:28.233 [main] ERROR nextflow.cli.Launcher - @unknown
nextflow.exception.MissingProcessException: Missing process or function isEmpty()
at nextflow.script.WorkflowDef.run(WorkflowDef.groovy:191)
at nextflow.script.BindableDef.invoke_a(BindableDef.groovy:51)
at nextflow.script.ComponentDef.invoke_o(ComponentDef.groovy:40)
at nextflow.script.WorkflowBinding.invokeMethod(WorkflowBinding.groovy:102)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeOnDelegationObjects(ClosureMetaClass.java:408)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:350)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:61)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:171)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:176)
at Script_6120566a$_runScript_closure119$_closure136.doCall(Script_6120566a:908)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)
at groovy.lang.Closure.call(Closure.java:412)
at groovy.lang.Closure.call(Closure.java:406)
at nextflow.script.WorkflowDef.run0(WorkflowDef.groovy:204)
at nextflow.script.WorkflowDef.run(WorkflowDef.groovy:188)
at nextflow.script.BindableDef.invoke_a(BindableDef.groovy:51)
at nextflow.script.ComponentDef.invoke_o(ComponentDef.groovy:40)
at nextflow.script.WorkflowBinding.invokeMethod(WorkflowBinding.groovy:102)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeOnDelegationObjects(ClosureMetaClass.java:408)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:350)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:61)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:171)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:176)
at Script_c6ff89b0$_runScript_closure1$_closure3.doCall(Script_c6ff89b0:146)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)
at groovy.lang.Closure.call(Closure.java:412)
at groovy.lang.Closure.call(Closure.java:406)
at nextflow.script.WorkflowDef.run0(WorkflowDef.groovy:204)
at nextflow.script.WorkflowDef.run(WorkflowDef.groovy:188)
at nextflow.script.BindableDef.invoke_a(BindableDef.groovy:51)
at nextflow.script.ComponentDef.invoke_o(ComponentDef.groovy:40)
at nextflow.script.WorkflowBinding.invokeMethod(WorkflowBinding.groovy:102)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeOnDelegationObjects(ClosureMetaClass.java:408)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:350)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:61)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:171)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:176)
at Script_c6ff89b0$_runScript_closure2$_closure4.doCall(Script_c6ff89b0:160)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)
at groovy.lang.Closure.call(Closure.java:412)
at groovy.lang.Closure.call(Closure.java:406)
at nextflow.script.WorkflowDef.run0(WorkflowDef.groovy:204)
at nextflow.script.WorkflowDef.run(WorkflowDef.groovy:188)
at nextflow.script.BindableDef.invoke_a(BindableDef.groovy:51)
at nextflow.script.ChainableDef$invoke_a.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:139)
at nextflow.script.BaseScript.run0(BaseScript.groovy:183)
at nextflow.script.BaseScript.run(BaseScript.groovy:192)
at nextflow.script.ScriptParser.runScript(ScriptParser.groovy:229)
at nextflow.script.ScriptRunner.run(ScriptRunner.groovy:224)
at nextflow.script.ScriptRunner.execute(ScriptRunner.groovy:130)
at nextflow.cli.CmdRun.run(CmdRun.groovy:368)
at nextflow.cli.Launcher.run(Launcher.groovy:494)
at nextflow.cli.Launcher.main(Launcher.groovy:653)
Caused by: groovy.lang.MissingMethodException: No signature of method: groovyx.gpars.dataflow.DataflowQueue.isEmpty() is applicable for argument types: () values: []
Possible solutions: identity(groovy.lang.Closure), isBound(), dump(), inspect(), dump()
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:70)
at org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:46)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:130)
at Script_7c6867ce$_runScript_closure1$_closure2.doCall(Script_7c6867ce:50)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)
at groovy.lang.Closure.call(Closure.java:412)
at groovy.lang.Closure.call(Closure.java:406)
at nextflow.script.WorkflowDef.run0(WorkflowDef.groovy:204)
at nextflow.script.WorkflowDef.run(WorkflowDef.groovy:188)
... 79 common frames omitted

Command used and terminal output

Relevant files

No response

System information

No response

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