snakemake: 运行 一些任务在集群上,一些在本地

snakemake: Run some tasks on cluster and some locally

我正在使用 snakemake 来编排分析管道。有些任务非常小(例如创建一些符号链接),而其他任务则需要几个小时。有没有办法对其中一些使用 --cluster 但仅在本地执行其他一些?

localrules 就是这样做的。当下面的示例是 运行 和 --cluster 时,bar 个作业在集群中 运行,foo 个作业在本地 运行。

localrules: foo

rule foo:
    ...

rule bar:
    ...