使用Tibanna运行Snakemake时的文件名规则匹配报错问题
问题根因
你遗漏了--default-remote-provider S3必选配置,且手动修改目标文件前缀破坏了Snakemake的路径映射逻辑,导致规则匹配失败。
Snakemake使用远端存储执行任务时,需要同时指定远端存储类型和存储前缀,两个参数缺一不可,否则无法完成本地相对路径到远端S3路径的自动映射。
解决方案
无需修改你现有的Snakefile规则,直接使用如下命令提交任务即可:
snakemake --tibanna -j 1 --default-remote-provider S3 --default-remote-prefix grim-penguin/test Z.txt
报错原因说明
- 第二次运行报错:仅配置
--default-remote-prefix未配置--default-remote-provider,Snakemake无法识别远端存储类型,路径映射失效,导致找不到生成Z.txt的规则。 - 第三次运行报错:手动给目标文件添加了
grim-penguin/test/前缀后,Snakemake会尝试匹配输出路径为grim-penguin/test/Z.txt的规则,而你规则里定义的输出是不带前缀的Z.txt,本地提交时路径临时匹配成功,但远端执行时规则匹配逻辑仍会校验原始路径定义,最终报错。
校验建议
提交任务前可以添加-n参数执行干运行,验证规则匹配和路径映射是否正常:
snakemake --tibanna -j 1 --default-remote-provider S3 --default-remote-prefix grim-penguin/test Z.txt -n
内容的提问来源于stack exchange,提问作者Pedro Inácio
相关产品推荐
相关产品推荐

