微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Snakemake 在命令行中从嵌套的 config.yaml 文件中指定配置参数

如何解决Snakemake 在命令行中从嵌套的 config.yaml 文件中指定配置参数

假设我有一个 config.yaml 文件,如下所示

results: "results/"
reference_database: "data/zymogen_alignment_file.fasta"

basecall:
    perform_basecall: True
    configuration: "dna_r9.4.1_450bps_hac.cfg"

我可以访问我的 Snakefile 中的所有参数,例如 config["results"]config["basecall"]["perform_basecall"]

我可以轻松覆盖 resultsreference_database 参数
snakemake --cores all --config results="/my/new/results/path" reference_database="/my/new/reference/database"

但是,我似乎无法覆盖 basecall 下的参数。我已经尝试了以下
snakemake --cores all --config basecall["perform_basecall"]=False

但这会导致错误Invalid config deFinition: Config entry must start with a valid identifier.

是否可以覆盖嵌套配置文件中的参数?
感谢您的帮助!

解决方法

尝试使用 JSON 对象语法。在这种特定情况下,类似于

snakemake -j all --config basecall='{perform_basecall: False}'

对此进行测试,它似乎保留了对象的其余部分(即 configuration 值),而只是覆盖了 perform_basecall 值。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。