【问题标题】:Snakemake and sbatchSnakemake 和 sbatch
【发布时间】:2021-01-23 16:49:16
【问题描述】:

我有一个 Snakefile,它有一个发送 7 个不同 shell 命令的规则。 我想在sbatch 中运行这些 shell 命令中的每一个,并且我希望它们在不同的 slurm 节点中运行。 现在,当我在 Snakemake 规则的 shell 命令中包含 sbatch 时,我没有得到所需的输出文件,因为它需要一段时间才能运行,并且当 sbatch 返回时,命令仍在运行。我认为 Snakemake 认为我没有所需的输出文件,因为它认为在提交的作业完成之前命令“完成执行”。

如何使用 Snakemake 文件中的 sbatch 命令在一个 slurm 节点中提交每个规则

【问题讨论】:

    标签: slurm snakemake sbatch


    【解决方案1】:

    我怀疑你正在做的是:

    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 标记该规则(查看文档了解更多详细信息)

    【讨论】:

      猜你喜欢
      • 2016-05-18
      • 1970-01-01
      • 2021-01-19
      • 1970-01-01
      • 1970-01-01
      • 2022-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多