У меня есть два правила, которые могут выдавать один и тот же результат в зависимости от значения подстановочного знака, и это вызывает неоднозначное исключение правила.
Я прочитал документацию по http://snakemake.readthedocs.io/en/latest/snakefiles/rules.html?highlight=ruleorder#handling-ambiguous-rules об обработке исключений из неоднозначных правил.
Кажется, что использование порядка правил могло бы быть решением. Однако ввод моего правила preprocess_zheng17 зависит от вывода правила simulate_data. Следовательно, если я использую ruleorder: simulate_data > preprocess_zheng17
, то правило preprocess_zheng17 никогда не запускается.
Я хотел бы сначала запустить simulate_data, а затем запустить правило preprocess_zheng17 для каждой пары подстановочных знаков. Мне интересно, что может быть хорошей практикой проектирования рабочего процесса, чтобы справиться с этой проблемой. Правила представлены ниже.
rule preprocess_zheng17:
input:
loom_file = SIMULATED_DATA_OUTPUT+'/{sample}_sim_loc{loc}.loom'
params:
transpose = False
output:
SIMULATED_DATA_OUTPUT+'/{sample}_sim_loc{loc}_zheng17.loom'
script:
"scripts/preprocess_zheng17.py"
rule simulate_data:
input:
sample_loom = HDF5_OUTPUT+'/{sample}.loom'
params:
group_prob = config['splat_simulate']['group_prob'],
dropout_present = config['splat_simulate']['dropout_present']
output:
SIMULATED_DATA_OUTPUT+'/{sample}_sim_loc{loc}.loom'
script:
"scripts/data_simulation.R"
Заранее спасибо.
simulate_data
и используетеrules.simulate_data.output
какinput
дляpreprocess_zheng17
? Еще можно попробовать объявитьwildcard_constraints
вместоloc
, если сможете. - person bli   schedule 02.02.2018