-
Notifications
You must be signed in to change notification settings - Fork 642
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
Workflow output definition #4784
Conversation
Signed-off-by: Ben Sherman <[email protected]>
Signed-off-by: Ben Sherman <[email protected]>
Signed-off-by: Ben Sherman <[email protected]>
✅ Deploy Preview for nextflow-docs-staging canceled.
|
Signed-off-by: Ben Sherman <[email protected]>
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
Signed-off-by: Ben Sherman <[email protected]>
Signed-off-by: Ben Sherman <[email protected]>
Signed-off-by: Ben Sherman <[email protected]>
Signed-off-by: Ben Sherman <[email protected]>
modules/nextflow/src/main/groovy/nextflow/extension/OperatorImpl.groovy
Outdated
Show resolved
Hide resolved
Signed-off-by: Paolo Di Tommaso <[email protected]>
With static types we are moving towards a syntax where every process output will have a name by definition ( |
thanks for the reminder Ben |
I am happy with the testing of the feature with the Fetchngs POC (both linux vm and Slurm cluster); there I disabled nf-validation. For the rnaseq POC, how do I get around the following error?
(nf-validation here seems needed to use |
You can install the local build with |
Testing Rnaseq was also successful. As Ben expected, output directory layout is not identical, but output files are there. |
modules/nextflow/src/main/groovy/nextflow/extension/PublishIndexOp.groovy
Outdated
Show resolved
Hide resolved
modules/nextflow/src/main/groovy/nextflow/processor/PublishDir.groovy
Outdated
Show resolved
Hide resolved
modules/nextflow/src/main/groovy/nextflow/script/PublishDef.groovy
Outdated
Show resolved
Hide resolved
Signed-off-by: Paolo Di Tommaso <[email protected]>
Signed-off-by: Ben Sherman <[email protected]>
Signed-off-by: Paolo Di Tommaso <[email protected]>
While testing the output index I've got this
What about instead creating a simple index as "file name", "file path" ? |
Made a few tests and works like a charm. I was expecting a much bigger impact in the codebase, great work Ben. I've commented a few things to address above |
Signed-off-by: Ben Sherman <[email protected]>
Signed-off-by: Ben Sherman <[email protected]>
Signed-off-by: Ben Sherman <[email protected]>
Better, but it's not an index file
I was expecting as
|
That can be done with the index mapper: index {
mapper { file -> [file.name, file] }
} |
I know, but it would be nice to have it as default behaviour |
Signed-off-by: Ben Sherman <[email protected]>
and it's ready! |
Signed-off-by: Ben Sherman <[email protected]> Signed-off-by: Paolo Di Tommaso <[email protected]> Co-authored-by: Paolo Di Tommaso <[email protected]> Signed-off-by: Dr Marco Claudio De La Pierre <[email protected]>
Close #4670
This PR adds a DSL for defining workflow outputs. It is meant to completely replace the publishDir directive, and centralize the definition of published outputs into one location.
This first iteration is essentially a builder DSL for a directory structure, which also collects the essential elements of the existing publish mechanism: process selectors to select process outputs, and publish options like
pattern
andenabled
(other options likemode
can also be supported this way).Under the hood, there is now a
WorkflowPublisher
which contains all of the publish "selectors" and usesPublishDir
just like the directive. So the publishing itself is also handled in one place rather than during the task finalization.See nf-core/fetchngs#275 for a prototype with nf-core/fetchngs