Snakemake集群作业配置与主配置访问问询
Snakemake集群作业配置与主配置访问问询
嗨,你的思路完全可行,但得把slurm/config.yaml里的Cluster配置补全正确才行~
你想要的作业命名格式smk-{config["simulation"]}-{rule}-{wildcards}是可以通过Snakemake的模板变量实现的,只需要把你的Slurm profile配置调整成下面这样:
executor: slurm jobs: 64 latency-wait: 30 cluster: | sbatch --partition=workq --job-name="smk-{config[simulation]}-{rule}-{wildcards}"
这里有几个关键点要注意:
- 用
|来多行定义cluster命令,这样格式更清晰,也能正确解析每一行的参数 - 配置里引用主config的
simulation项时,直接写config[simulation]就行,不需要加引号 - Snakemake会自动解析
{rule}(当前规则名)和{wildcards}(当前通配符组合,默认用下划线拼接多个通配符变量)
之后你运行你原本的命令就没问题了:
snakemake --profile slurm --configfile myconfig.yaml
额外提醒下:要确保你的myconfig.yaml里确实存在simulation这个配置项哦,不然运行时会报找不到配置的错误。如果后续想自定义通配符的显示格式,也可以在规则里通过自定义函数来处理,但默认的拼接方式已经能满足大部分需求啦。
备注:内容来源于stack exchange,提问作者Kiffikiffe
相关产品推荐
相关产品推荐

