【发布时间】:2023-03-29 23:30:01
【问题描述】:
我有一个规则,它从定义为tasks 的目录列表中获取任何和每个 TSV 文件(多个 TSV)。例如:
tasks
foo
example1.tsv
circle.tsv
bar
rectangle.tsv
square
triangle.tsv
triangle_1.tsv
然后,我在 Snakemake 工作流程中有一个规则,它在文件列表上运行脚本,如下所示:
task_list = ["bar", "square"]
rule gather_files:
input:
tsv=expand("results/stats/{tasks}/*.tsv", tasks=task_list)
output:
"results/plots/visualizations.pdf"
script:
"Rscript plot_script.R"
当我尝试运行规则时,*.tsv 会导致错误,我知道这也不是正确的方法。做这个的最好方式是什么?我应该使用正则表达式匹配{task}/*.tsv 中的任何字符串吗?我想限制要扩展的目录组合(tasks),但对其中的文件名没有限制。
【问题讨论】: