我有一个Snakefile,它有一个发送7个不同shell命令的规则。我希望在sbatch中运行这些外壳命令中的每一个,并且希望它们在不同的slurm节点中运行。现在,当我在Snakemake规则的外壳命令中包含sbatch时,我没有得到所需的输出文件,因为它需要一段时间才能运行,并且当sbatch返回时,命令仍在运行。我认为Snakemake认为我没有所需的输出文件,因为它认为命令在提交的作业完成之前“完成了执行”。
如何使用Snakemake文件中的sbatch命令在一个slurm节点中提交每个规则
发布于 2021-01-24 03:57:59
我怀疑你所做的是:
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标记该规则(有关更多详细信息,请查看文档)
https://stackoverflow.com/questions/65861815
复制相似问题