Skip to content

Enable publishing of files not in working directory #6561

@inari-ldavey

Description

@inari-ldavey

New feature

Hi, I love the new workflow outputs and the ability to publish from channels instead of just processes. However, one feature that is missing for me is the ability to publish files to the output directory that are not staged to the working directory. In the docs here it is stated that this feature is not supported, however it is not explained why. It also "fails" silently which might be confusing for many people (it was for me at least).

Use case

My use case is that I want to publish output files as well as input files to the same directory.

In the example below, running nextflow run main.nf does not publish test.txt to results/test.txt as you might intuitively expect.

main.nf:

#!/usr/bin/env nextflow

workflow {
	main:
	
	// test.txt is a random file in the current directory
	ch_test = channel.fromPath("test.txt")

	publish:
	test = ch_test
}

output {
	test {
	}
}

Suggested implementation

I don't know how to implement this, but you already have the file loaded in a Channel so I'm not sure why it can't be published and what the difference is with files in the working directory. Perhaps just a setting in file() or fromPath() to force stage a file could be a solution?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions