SnakeMake中的链接参数

问题描述:

这看起来可以在SnakeMake中链接参数。这是可以做的,还是会在并行环境中引起问题,并且应该使用PersistentDict来代替?SnakeMake中的链接参数

rule a: 
    params: 
      a = "Param A", b="Param B" 
    ... 


rule b: 
    params: rules.a.params.b 

我会建议对这一做法,因为它导致needlessly coupled system

如现在“规则B”必须始终坚持“治一”

我说不必要,因为另一个选择是陪同在YAML (or JSON) file中声明外部变量,并且两个param指令都接受它作为参数。

config.yaml〜Personal Example

a: Param A 
b: Param B 

Snakefile〜Personal Example with just a single rule

configfile: "config.yaml" 

rule a: 
    ... 
    params: 
     importantRuleAVar = config["a"] 
    .... 


rule b: 
    ... 
    params: 
     importantRuleBVar = config["a"] 
    ... 

这是我的管道至关重要的,因为我需要为我的管道大部分相同wildcard_constraint正则表达式,但我没有”不想把所有的规则结合在一起。

同样适用于对齐器上的质量阈值。有时候,您会在不同的对齐方式中使用类似的阈值进行比较。