Je déconseillerais cette approche car elle se traduit par une needlessly coupled system
Par exemple, maintenant « règle b » doit toujours être accompagné de « règle un »
Je dis inutilement parce qu'une autre option est de déclarez les variables externes dans un YAML (or JSON) file et demandez aux deux directives param de l'accepter comme argument.
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"]
...
Cela est essentiel dans mon pipeline comme je l'ai besoin de la même regex wildcard_constraint pour une grande partie de ma conduite, mais je n » ai pas Je veux finir par coupler toutes les règles ensemble.
Aussi bien pour des choses comme les seuils de qualité sur les aligneurs. Parfois, vous utiliserez des seuils similaires dans différents aligneurs à des fins de comparaison.