python-3.x之如何在Snakemake中进行部分扩展
kenshinobiy
阅读:13
2024-08-05 10:48:10
评论:0
我正在尝试先为LETTERS x NUMS组合生成4个文件,然后对NUMS进行汇总,以在LETTERS中为每个元素获取一个文件:
LETTERS = ["A", "B"]
NUMS = ["1", "2"]
rule all:
input:
expand("combined_{letter}.txt", letter=LETTERS)
rule generate_text:
output:
"text_{letter}_{num}.txt"
shell:
"""
echo "test" > {output}
"""
rule combine text:
input:
expand("text_{letter}_{num}.txt", num=NUMS)
output:
"combined_{letter}.txt"
shell:
"""
cat {input} > {output}
"""
执行此蛇文件会导致以下错误:
WildcardError in line 19 of /tmp/Snakefile:
No values given for wildcard 'letter'.
File "/tmp/Snakefile", line 19, in <module>
似乎无法使用
expand
部分。这是
expand
的限制吗?如果是这样,我应该如何规避呢?
请您参考如下方法:
使用allow_missing=True
可以部分扩展。
例如:
expand("text_{letter}_{num}.txt", num=[1, 2], allow_missing=True)
> ["text_{letter}_1.txt", "text_{letter}_2.txt"]
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。