-
Notifications
You must be signed in to change notification settings - Fork 19
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
[BUG] - Resume flag restarts pipeline at SPADES, even if pipeline has completed downstream steps #129
Comments
Hi @slsevilla thanks for your interest in PHX! We have noticed this and haven't totally dug into it so asks for the first troubleshooting pass. My hunch is that a hash gets created for the cache when the |
I was able to fix this by doing the following:
For anyone looking for the quick and dirty fix, this is it:
This allows me to pick up after spades, if the pipeline stops for some reason. I think (for us) a key to the NF workflows is picking up where something fails or stops, so the downside of having the synopsis file failure due to a spades failure is something I'll have to handle when/if it happens (haven't had this yet). I hadn't implemented the 'fairy' rules until this last update and it's happening there too. That's another huge re-write to consider too... |
Describe the bug
If I have a pipeline error and I pass nextflow the
-resume
flag the pipeline restarts atSPADES
, even if downstream modules have completed. I think this is because of the way thatSPADES
is being run. Because theinput
is givenpath(full_outdir)
that would mean anytime the output dir changes, this module would need to be re-run.Impact
When there is an error in one of the last rules, the majority (and most time-consuming) part of the pipeline has to be re-run, even though these rules have already gone to completion.
To Reproduce
nextflow run phoenix/main.nf -resume -profile docker -entry PHOENIX --input manifest/samplesheet_01.csv --outdir /path/to/output
Expected behavior
I would expect that the
resume
flag would continue the pipeline from the point at which it failed.Additional context
I did try to see if I could come up with a quick solution that didn't include rewriting the SPADES module.... If you remove the
path(outdir)
from the input and edit the code to avoid using the full path variable (I basically stopped the fail log from being created) it runs with a warning (which makes sense given the tuple is incomplete):This isn't ideal though, since I can see that this is important for error logging, if SPADES doesn't create the outputs as expected. Hoping you guys might have another cleaner solution, or maybe a different perspective on why this might not be working as expected for me?
The text was updated successfully, but these errors were encountered: