繁体   English   中英

批量提交snakemake作业

[英]Sbatch submission of snakemake jobs

我有一个运行 python 脚本的 Snakefile,该脚本在目录中输出许多文件。 我写了下面的 Snakefile 脚本来执行这个

MODELS = ["A", "B", "C"]
SEEDS = [1, 2, 3]

rule all: 
    input:
        expand("outputs/{model}/seed{seed}", model=MODELS, seed=SEEDS)

rule sub: 
    input: 
        {model}.py
    output: 
        directory("outputs/{model}/seed{seed}")
    run: 
        command = "python3 {} --seed {}".format(input, wildcards.seed)
        shell(command) 

每个 python 脚本文件A.pyB.pyC.py执行数小时。 我希望能够使用提交作业的 sbatch 而无需等待它完成执行。

$ snakemake --cluster "sbatch --job-name=snakemake" --jobs 200 --latency-wait 1000

当我执行以下命令时,某些文件不会运行并且 Snakemake 不会终止。 我尝试编写一个 bash 脚本,其中包含上述蛇形命令并执行sbatch script.sh但未在 Snakefile 中提交作业。

有没有办法做到这一点,而无需蛇形等待 sbatch 作业完成执行?

这不是一个完美的解决方案,但是您是否尝试过--immediate-submit标志? 它只会将所有作业提交给 slurm,而不考虑依赖关系,也无需等待。 通常,您会为 sbatch 提供一个包装器,它将 snakemake 依赖项转换为 SLURM 依赖项,但是对于像这样的简单工作流程(即,只运行一个规则多次),您可能会在没有它的情况下侥幸逃脱。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM