Snakemake官方指定.smk文件自身Python依赖的标准化方法是什么?
关于Snakefile自身Python依赖的相关问题解答
- 关于是否有官方标准化方式指定
.smk文件导入的Python依赖:
目前官方推荐的标准做法就是在工作流根目录放置environment.yaml文件,将Snakemake本体、以及工作流加载阶段(规则运行前的配置解析、全局逻辑处理环节)需要用到的所有Python依赖都声明在这个文件中,你提到的官方教程中的用法就是目前公认的最佳实践。 - 关于snakedeploy是否会自动识别该文件:
当前稳定版的snakedeploy已经原生支持自动识别工作流根目录下的environment.yaml文件,部署工作流时会自动基于该文件创建对应的运行环境,不需要用户额外手动指定环境文件路径。 - 关于依赖非
snakemake-minimal的包是否不被推荐:
不存在这类限制,官方文档中大量示例都依赖pandas这类不在snakemake-minimal依赖列表内的第三方包,只要你在工作流文档和环境文件里明确声明依赖,避免用户运行时出现无提示的导入错误即可。如果想进一步优化用户体验,可以在.smk文件开头加入简单的依赖校验逻辑,依赖导入失败时直接输出清晰的报错提示,告知用户需要安装的包名和安装方式。
另外你提到已经向Snakemake本体提交了新增anyconfig支持的PR,等该PR合并后,后续使用对应版本Snakemake的用户不需要额外安装anyconfig就能直接支持ini格式配置,对你的流水线用户会更加友好。
内容的提问来源于stack exchange,提问作者DrYak
相关产品推荐
相关产品推荐

