我有一个运行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.py、B.py和C.py都要执行几个小时。我希望能够使用sbatch来提交作业,而无需等待它完成执行。
$ snakemake --cluster "sbatch --job-name=snakemake" --jobs 200 --latency-wait 1000当我执行以下命令时,一些文件不会运行,Snakemake也不会终止。我尝试编写一个包含上述snakemake命令的bash脚本,并执行了sbatch script.sh,但没有在Snakefile中提交作业。
有没有办法不让snakemake等待sbatch作业完成执行?
发布于 2021-02-23 03:31:43
这不是一个完美的解决方案,但是您尝试过--immediate-submit标志吗?它只会将所有作业提交给slurm,不考虑依赖关系,也不需要等待。通常,你会为sbatch提供一个包装器,将snakemake依赖项转换为SLURM依赖项,但对于像这样的简单工作流(即只运行一条规则多次),你可能不需要这样做。
https://stackoverflow.com/questions/66316925
复制相似问题