Snakemake 和 sbatch
Snakemake and sbatch
我有一个 Snakefile,它有一个发送 7 个不同 shell 命令的规则。
我想 运行 sbatch
中的每个 shell 命令,我希望它们在不同的 slurm 节点中 运行。
现在,当我在 Snakemake 规则的 shell 命令中包含 sbatch
时,我没有得到所需的输出文件,因为 运行 需要一段时间,而 sbatch
returns命令还是运行ning。我认为 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
标记该规则(查看文档以获取更多详细信息)
我有一个 Snakefile,它有一个发送 7 个不同 shell 命令的规则。
我想 运行 sbatch
中的每个 shell 命令,我希望它们在不同的 slurm 节点中 运行。
现在,当我在 Snakemake 规则的 shell 命令中包含 sbatch
时,我没有得到所需的输出文件,因为 运行 需要一段时间,而 sbatch
returns命令还是运行ning。我认为 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
标记该规则(查看文档以获取更多详细信息)