我是snakemake的新手,我想编写一个非常简单的蛇形,其规则将每个输入文件分别处理为输出文件,但是某种程度上我的通配符没有正确解释。<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<</p>
我已经在Ubuntu 18.04中设置了一个最小的,可重现的示例环境,其中输入文件" test/test1.txt"," test/test/test2.txt"和snakefile。(Snakemake版本5.5.4(
蛇:
ins = glob_wildcards("test/{f}.txt")
rule all:
input: expand("out/{f}.txt", f=ins)
rule test:
input: "test/{f}.txt"
output: "out/{f}.txt"
shell: "touch {output}"
此蛇在构建工作的dag时会丢下以下错误:
Missing input files for rule test:
test/['test1', 'test2'].txt
有什么想法如何解决此错误?
我认为您需要使用ins.f
或类似的东西:
expand("out/{f}.txt", f= ins.f)
原因在FAQ
中解释[glob_wildcards返回]一个命名的元组,其中包含一个值列表 对于每个通配符。