我正在使用Snakemake工作,但我找不到访问当前规则名称的方法。
例如,是否有一种像这样的访问方式:
rule job1:
input: check_inputs(rules.current.name)
output: ...
当check_inputs
函数在每个规则中更多或更少相同时,这非常有帮助。
当然,我做过这个并且它有效:
rule job1:
input: check_inputs("job1")
output: ...
不过,我在想是否存在更加“Snakemaker way”获取当前规则名称的方法,以避免每次编写/硬编码规则名称。
任何形式的帮助或建议都将不胜感激。
--- 编辑1 ---
当Snakemake解析input
和output
语句时,规则名称仅可通过{rules.myrule.name}
进行访问。因此,在input
/output
定义中无法使用{rules.myrule.name}
。
这个想法是快速访问当前规则的名称,例如{rules.current}
,因为{rules.myrule.name}
也很重复。