如何解决Snakemake 将一个文件复制到多个文件
我有几个文件夹
folder_1234
folder_4321
我想将一个文件 myfile.sh
从一个文件夹(已存在)复制到所有文件夹,然后使用 sed
更改文件内的编号:
SAMPLE=["1234","4321"]
rule all:
input:
expand("workdir/folder_{sample}/myfile.sh",sample=SAMPLES)
rule copy:
input:
copy_from="/path/to/folder_1234/myfile.sh"
output:
copy_to="workdir/folder_{sample}/myfile.sh"
shell:
"""
cp {input.copy_from} {output.copy_to}
sed "s/folder_1234/folder_{sample}/g" folder_{sample}/myfile.sh
"""
这给了我一个错误:
NameError: The name 'sample' is unknown in this context. Did you mean 'wildcards.sample'?
解决方法
在 {wildcards.sample}
命令中,此处的通配符语法为 {sample}
而不是 {{1}}。有关通配符使用的文档,see here。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。