我有3条规则,它们的名字有点长。当使用
ruleorder
时,该行超出了我想要的 80 个字符限制。是否有可能将 ruleorder
分成多行,其行为与我将其全部写在一行中完全一样?
示例:
ruleorder: long_rule_1 > long_rule_2 > long_rule_3
我想将其重新格式化为这样的:
ruleorder: (
long_rule_1
> long_rule_2
> long_rule_3
)
\
作为续行:
# Snakefile
rule all:
input: '1.txt'
for k in list("abcde"):
rule:
name: k
output: '1.txt'
ruleorder: a > b > c > \
d > e
ruleorder: long_rule_1 > long_rule_2
ruleorder: long_rule_2 > long_rule_3
这适用于您的简单情况,但并不完全等同于将所有三个规则放在一行的规则顺序。 Snakemake 创建一个规则顺序列表,并一一应用它们。严格来说,应用一个规则顺序三个规则和两个规则顺序每个两个规则是有区别的。通过这种方式,您甚至可以引入在一行中不可能实现的循环,因此我希望尽可能使用单个规则顺序。
ruleorder:
long_rule_1
> long_rule_2
> long_rule_3
其他答案也很好,但这是我正在使用的