Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

endorspy processes not cached properly on -resume #880

Closed
3 tasks
TCLamnidis opened this issue Apr 20, 2022 · 2 comments
Closed
3 tasks

endorspy processes not cached properly on -resume #880

TCLamnidis opened this issue Apr 20, 2022 · 2 comments
Assignees
Labels
bug Something isn't working next-patch

Comments

@TCLamnidis
Copy link
Collaborator

TCLamnidis commented Apr 20, 2022

Description of the bug

When a run fails/is killed, and then resumed, sometimes endorspy is not ran at all, leading to endogenous information missing from the multiqc report.

Steps to reproduce

Start any run that includes endorspy, and kill the job before resuming the run. Even if endorspy has already run, it will not be picked up in the resumed run and will not appear in the multiqc report.

Expected behaviour

endorspy processes are cached normally and included in the output.

Log files

Have you provided the following extra information/files:

  • The command used to run the pipeline
  • The .nextflow.log file
  • The exact error:

System

  • Hardware:
  • Executor:
  • OS:
  • Version

Nextflow Installation

  • Version: 21.04.0.5552

Container engine

  • Engine: singularity
  • version: 3.7.1
  • Image tag: nfcore/eager:2.4.2

Additional context

The current output of the endorspy process is a tuple instead of a file channel. I have a feeling that might be causing the behaviour.

eager/main.nf

Line 1812 in 43a239b

tuple samplename, libraryid, lane, seqtype, organism, strandedness, udg, path("*.json") into ch_endorspy_for_multiqc

The MQC output channel of another process for comparison:

eager/main.nf

Line 691 in 43a239b

path "*_fastqc.{zip,html}" into ch_prefastqc_for_multiqc

In general, multiqc input channels are file channels, but there are cases where they are actually tuple channels. this should be fixed throughout.

@TCLamnidis TCLamnidis added the bug Something isn't working label Apr 20, 2022
@jfy133
Copy link
Member

jfy133 commented Jul 16, 2022

This was also reported by @KathrinNaegele in the past

After insightful debugging assistance from @mahesh-panchal , I think we've identified the problem and have a possible solution.

Discussion: https://nextflow.slack.com/archives/C02T98A23U7/p1657268366386419

During lane/seqtype merge, we do a groupTuple, and for the lane seqtype metas, during this step these get converted into a nextflow object called 'ArrayBag'. It appears that for whatever reason (that we don't understand), something inside the ArrayBag objects changes between a cancelled/interupted run, causing the join to fail on these two elements.

The workaround is to replace the arraybag with a simpler object, e.g. string or integer.

@jfy133
Copy link
Member

jfy133 commented Jul 29, 2022

Done in #902

@jfy133 jfy133 closed this as completed Jul 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working next-patch
Projects
None yet
Development

No branches or pull requests

2 participants