通过 snakemake 中的规则限制工作数量

Restrict number of jobs by a rule in snakemake

是否可以通过 snakemake 中的特定规则将作业数量限制为 运行? --jobs 全局控制一次允许 运行 的作业数量,但我想通过特定规则进行限制。

这是因为,我有一个特定的规则,最多可以同时用于两个作业。但是,如果我将 --jobs 设置为 20,这会导致该特定规则中的工具崩溃。我在 LSF 集群中使用 snakemake v5.2.0。

您可能会使用资源。

在规则中定义它们

rule only_two:
    ...
    resources:
        load=50
    ...

然后运行 snakemake 有一定的资源限制。

snakemake --resources load=100

它应该只有 运行 规则 only_two 的两个实例。

所有其他规则的 load 值可能为 1 或更小,您可以同时 运行 100 个或更多规则。

https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#resources