如何解决如何在 Snakefile 中调试配置变量
我正在尝试了解具有多个配置和配置文件层的复杂 Snakemake 工作流程。
在Snakefile中,引用了一个未导入的变量config
,前几行如下:
import datetime
if "builds" not in config:
config["builds"] = {}
这个 config
变量在运行时来自哪里?我是否可以调试 Snakefile,如何调试普通 Python 脚本以使 Snakemake 在断点处停止,从而允许我检查变量?
注意:标志 --verbose
有助于包含堆栈跟踪。
解决方法
config
python 字典是一个特殊的变量,可以通过三种方式填充:
- 直接在 Snakefile 中使用关键字“configfile”将从 python dict
config
中的 json 或 yaml 文件中导入所有键/值:
configfile: "myConfig.json"
- 从命令行指定一个 json 或 yaml 文件,该文件将导入 python dict
config
中的所有键/值对:
snakemake --configfile myconfig.json ...
- 从命令行指定一个(或多个)键/值对:
snakemake --config builds="mybuilds" ...
在你的情况下,我的猜测是蛇形管道的用户应该在命令行上提供一个配置文件。不要忘记规则之外的所有python代码都会先执行,这样你就可以在执行任何规则之前调试任何错误的配置。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。