是否可以将蛇make文件和/或规则文件配置为仅在某些情况下使用命令行开关执行某些规则。
要详细说明,可以说我的规则文件夹中有以下规则:
是否可以通过这种方式配置/执行工作流程:
snakemake --user_option 2a
将导致规则1,规则2a,
规则3被调用snakemake --user_option 2b
将导致规则1,规则2b,规则3被调用谢谢。
答案 0 :(得分:1)
您可以在命令行中传递user_option
作为配置键,然后使用if-else
来决定要使用的中间规则。例如。
snakemake --config option='2a'
虚拟的Snakefile:
rule all:
input:
'output.txt',
rule one:
output:
'foo.txt'
if config['option'] == '2a':
rule two_a:
input:
'foo.txt',
output:
'bar.txt',
elif config['option'] == '2b':
rule two_b:
input:
'foo.txt',
output:
'bar.txt',
else:
sys.exit() ## handle this case
rule three:
input:
'bar.txt',
output:
'output.txt',