加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – Snakemake中的当前规则的名称

发布时间:2020-12-20 13:15:22 所属栏目:Python 来源:网络整理
导读:我正在使用Snakemake,我无法找到访问当前规则名称的方法. 例如,有没有办法获得这样的访问: rule job1: input: check_inputs(rules.current.name) output: ... 当check_inputs函数对于每个规则或多或少相同时,这可能非常有用. 当然,我做了这个,它的工作原理
我正在使用Snakemake,我无法找到访问当前规则名称的方法.

例如,有没有办法获得这样的访问:

rule job1:
    input: check_inputs(rules.current.name)
    output: ...

当check_inputs函数对于每个规则或多或少相同时,这可能非常有用.

当然,我做了这个,它的工作原理:

rule job1:
    input: check_inputs("job1")
    output: ...

但是,我想知道如果存在更多“Snakemaker方式”来获取当前规则的名称,以避免每次都写入/硬编码规则的名称.

任何形式的帮助或建议都将受到高度赞赏.

— EDIT1 —
只有当snakemake解析输入和输出语句时,才能通过{rules.myrule.name}访问规则名称.因此,在输入/输出定义中无法使用{rules.myrule.name}.

例如,可以快速访问当前规则的名称{rules.current},因为{rules.myrule.name}也是重复的.

解决方法

我认为rule.name应该可行,但看起来它只是规则,但不能在所有上下文中使用:参见 https://bitbucket.org/snakemake/snakemake/issues/199/rule-name-cant-be-accessed-by-rule-in

安德烈亚斯

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读