首页 > 解决方案 > Snakemake 工作流程卡住 - 等待在 SLURM 集群上执行的作业

问题描述

我在执行 Snakemake 工作流程时遇到问题,希望您能帮助我。
如果我在本地机器上运行管道,一切都很好。但是,有时(并非总是)当我指定在 SLURM 计算集群上执行规则时,工作流可能会“卡住”。请查看下面的附图 - 该过程表示它会等到所有作业完成,以便它可以继续执行下游步骤。但是,当我检查我的squeue所有工作确实完成并且输出文件已经存在时(!)只是主进程“没有收到通知”......在这种情况下我必须手动杀死它,解锁snakemake 目录并重新运行管道。

在此处输入图像描述

我使用 Snakemake 5.19.0;我的执行命令:

snakemake \
    --snakefile="../Snakefile" \
    --configfile="../configs/config.yml" \
    --cluster-config "../configs/cluster_config.json" \
    --use-singularity \
    --cores 128 \
    --local-cores 2 \
    --printshellcmds \
    --verbose \
    --latency-wait 120 \
    --cluster \
    "sbatch \
    --cpus-per-task={cluster.threads} \
    --mem={cluster.mem} \
    --qos={cluster.queue} \
    --time={cluster.time} \
    --output={params.LOG_cluster_log}-%j-%N.log \
    -p XXX" \
    --singularity-args "--no-home --bind ${PWD}/.."

标签: bioinformaticsslurmsnakemake

解决方案


推荐阅读