如何使用snakemake --cluster-cancel?

问题描述 投票:0回答:3

我目前有一个在集群上运行多个作业的 Snakemake 管道。我想提前取消我的工作,snakemake 文档说我可以使用

--cluster-cancel
选项。但是,它没有任何如何使用它的示例。我正在使用的集群通过
qdel
取消作业。所以,我尝试使用
snakemake --cluster-cancel "qdel"
,但是当我这样做时它会返回错误

snakemake: error: unrecognized arguments: --cluster-cancel

cluster-computing snakemake
3个回答
0
投票

--cluster-cancel
是7.0.0版本中引入的功能。如果您能够在集群上使用该版本或更新版本,那么您应该能够使用该功能。


0
投票

我没有使用过

--cluster-cancel
功能,但每当我想杀死集群上的一堆 Snakemake 作业时,都会使用以下例程。

  1. 中断snakemake管道:
    ^C
  2. 终止集群上的现有作业:
    bkill 0
    (终止所有作业)或
    bkill [jobid]
  3. 解锁snakemake管道以供将来使用:
    snakemake --unlock

0
投票

确保您正在使用

snakemake >= v7.0.0

然后根据作业调度系统是PBS还是SLURM来设置

--cluster-cancel qdel
--cluster-cancel scancel

您也可以在

config.yaml
中将其设置为
cluster-cancel: qdel

如果您使用 SLURM,则必须将

--parsable
标志添加到通过
sbatch
传递的
--cluster
命令中。

这是 SLURM 的示例

config.yaml

cluster: "sbatch --time={cluster.time} --cpus-per-task={cluster.n} --parsable"
cluster-cancel: scancel

相关问题:“scancel:错误:无效的作业ID提交的批处理作业”,带有来自snakemake的--cluster-cancel

© www.soinside.com 2019 - 2024. All rights reserved.