Reposting from here, hoping for clarification.
Thanks in advance.
I'm completely new to NextFlow and I'm puzzled that I can't do this simple thing, nor find documentation about it: I understand that NF is channel-oriented, but can it process file-oriented cases correctly?
I mean, suppose you have the usual case (see this example, rewrittent from another discussion):
- process A, creates file a
- process B, creates file b
- process C, does something with a+b and creates c (eg, joins a and b)
Now, I delete file a, I expect A and C to be re-executed, with C processing the new a and the existing b and recreating c.
That said,
- If I do it the regular way, ie, having files into the working dir, deleting working files is unacceptably difficult, since I have to rummage logs and dirs with hashed names until I find what I need. I expect to be able to just delete a or b (or, just
touchthem). - I've tried
storeDirand file dates are completely ignored, if a doesn't exist, but c does, A is re-executed but C isn't and the old c is kept. - I don't think
publishDirwould work either, since I'd expect it to work like the first case (for the files remain in the working dir, except formode='move', which can only be used in a final step).
Am I missing something, or is it that NF isn't a good fit for file-oriented cases like the above?
Moreover, is there a way to run a pipeline only up to a given process (eg, to specify 'A')?