【发布时间】:2021-11-19 15:53:34
【问题描述】:
ch_files = Channel.fromPath("myfiles/*.csv")
ch_parameters = Channel.from(['A','B, 'C', 'D'])
ch_samplesize = Channel.from([4, 16, 128])
process makeGrid {
input:
path input_file from ch_files
each parameter from ch_parameters
each samplesize from ch_samplesize
output:
tuple path(input_file), parameter, samplesize, path("config_file.ini") into settings_grid
"""
echo "parameter=$parameter;sampleSize=$samplesize" > config_file.ini
"""
}
给了我一个 number_of_files * 4 * 3 网格的设置文件,所以我可以为每个参数组合和输入文件运行一些脚本。
如何在此网格的每一行中添加一些 ID?行 ID 可以,但我什至更喜欢一些没有“含义”的唯一 6 位字母数字代码,因为表中的顺序无关紧要。我可以提取出每个进程看似唯一的工作文件夹的最后一部分;但我认为依赖sed 和$PWD 并不理想,而且我没有看到它作为运行时元数据变量提供程序提供。 (加上它有点长但还可以)。在以前的设置中,我有一个来自 LSF 集群系统的作业 ID 用于此目的,但我希望它是可移植的。
不保证每个组合都是唯一的(例如,在输入通道中有两次参数'A' 应该是有效的)。
说清楚,我想要这个输出
file1.csv A 4 pathto/config.ini 1ac5r
file1.csv A 16 pathto/config.ini 7zfge
file1.csv A 128 pathto/config.ini ztgg4
file2.csv A 4 pathto/config.ini 123js
等等
【问题讨论】:
标签: nextflow