You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

开发Snakemake模块时,如何在规则外部读取GitHub相对配置文件?

Snakemake模块中区分用户可配置与内部不可修改配置的问题

我正在开发多个可被其他项目导入的Snakemake模块,需要区分两类配置:

  • 用户可修改的配置:config/config.yaml
  • 模块内部不可修改的设置:resources/internal-settings.yaml

希望能像使用常规配置文件那样,将这两类内容作为参数传递给规则,示例用法如下:

rule some_rule:
  params:
    protected = internal_settings["not_altered"],
    unprotected = config["may_be_altered"]

但目前没找到可行的实现方式。我曾在rules.smk文件的规则外部尝试以下代码加载内部配置:

import yaml
from pathlib import Path

with open(Path(workflow.current_basedir) / "resources/internal-config.yaml", "r") as f:
    internal_config = yaml.safe_load(f)

运行时触发如下错误:

TypeError in file https://raw.githubusercontent.com/hydro/modules/hydro/workflow/rules/hydro.smk, line 6:
expected str, bytes or os.PathLike object, not GithubFile

我原本预期Snakemake能相对于GitHub仓库中的模块文件路径读取该内部配置文件,但实际并未实现。

内容的提问来源于stack exchange,提问作者IRM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 18:32:05