如何确保在云上运行时,流程运行所需的文件(但不是脚本)在 nextflow 流程中可用?就我而言,这是要渲染的四开文档。
脚本可以存储在
bin
目录中,并将在运行时可用,但这些脚本可能可供所有进程使用,如果文件很大,这并不理想。 assets
目录可供启动器使用,但不适用于容器化进程,因此直接在模块中调用"${projectDir}/assets"
是行不通的。文件可以嵌入到 docker 容器中,但是 conda 将无法工作,并且使用的文件将由 docker 容器而不是工作流源代码存储库决定。
解决方案是将文件存储在
assets/
目录中,在工作流程中创建一个使用 Channel.fromPath("${projectDir}/assets/my_folder_or_file", checkIfExists: true)
调用模块的通道,并修改模块以接受此作为输入。