如何解决Snakemake 和 sbatch
我有一个 Snakefile,它有一个发送 7 个不同 shell 命令的规则。
我想在 sbatch
中运行这些 shell 命令中的每一个,并且我希望它们在不同的 slurm 节点中运行。
现在,当我在 Snakemake 规则的 shell 命令中包含 sbatch
时,我没有得到所需的输出文件,因为运行需要一段时间,而当 sbatch
返回时,命令仍在运行。我认为 Snakemake 认为我没有所需的输出文件,因为它认为该命令在提交的作业完成之前“已完成执行”。
如何使用 Snakemake 文件中的 sbatch 命令在一个 slurm 节点中提交每个规则
解决方法
我怀疑你在做什么:
rule one:
input:
...
output:
...
shell:
"""
sbatch [sbatch-options] "some-command-or-script"
"""
你可能想要的是:
rule one:
input:
...
output:
...
shell:
"""
some-command-or-script
"""
执行为
snakemake --cluster "sbatch [sbatch-options]"
通过这种方式,每条规则都会将其作业发送到集群,然后snakemake 会处理它们。如果您希望规则在本地(而不是通过 sbatch)执行其作业,请使用指令 localrule
标记该规则(查看文档以获取更多详细信息)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。