首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >批量提交snakemake作业

批量提交snakemake作业
EN

Stack Overflow用户
提问于 2021-02-22 21:47:15
回答 1查看 211关注 0票数 0

我有一个运行python脚本的Snakefile,它输出一个目录中的许多文件。我编写了以下Snakefile脚本来执行此操作

代码语言:javascript
复制
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来提交作业,而无需等待它完成执行。

代码语言:javascript
复制
$ snakemake --cluster "sbatch --job-name=snakemake" --jobs 200 --latency-wait 1000

当我执行以下命令时,一些文件不会运行,Snakemake也不会终止。我尝试编写一个包含上述snakemake命令的bash脚本,并执行了sbatch script.sh,但没有在Snakefile中提交作业。

有没有办法不让snakemake等待sbatch作业完成执行?

EN

回答 1

Stack Overflow用户

发布于 2021-02-23 03:31:43

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66316925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档