我目前有一个在集群上运行多个作业的 Snakemake 管道。我想提前取消我的工作,snakemake 文档说我可以使用
--cluster-cancel
选项。但是,它没有任何如何使用它的示例。我正在使用的集群通过 qdel
取消作业。所以,我尝试使用 snakemake --cluster-cancel "qdel"
,但是当我这样做时它会返回错误
snakemake: error: unrecognized arguments: --cluster-cancel
--cluster-cancel
是7.0.0版本中引入的功能。如果您能够在集群上使用该版本或更新版本,那么您应该能够使用该功能。
我没有使用过
--cluster-cancel
功能,但每当我想杀死集群上的一堆 Snakemake 作业时,都会使用以下例程。
^C
bkill 0
(终止所有作业)或bkill [jobid]
snakemake --unlock
确保您正在使用
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