#snakemake
#snakemake
Вопрос:
Я использую Snakemake для выполнения некоторых правил, и у меня возникла проблема с одним:
rule filt_SJ_out:
input:
"pass1/{sample}SJ.out.tab"
output:
"pass1/SJ.db"
shell:'''
gawk '$6==1 || ($6==0 amp;amp; $7>2)' {input} >> {output};
'''
Здесь я просто хочу объединить некоторые файлы в общий файл, но, выполнив поиск в Google, я увидел, что подстановочные знаки, используемые во входных данных, также должны использоваться в выходных данных.
Но я не могу найти решение , чтобы обойти эту проблему ..
Заранее благодарим
Ответ №1:
Если вы знаете значения sample
до запуска скрипта, вы могли бы сделать следующее:
SAMPLES = [... define the possible values of `sample` ...]
rule filt_SJ_out:
input:
expand("pass1/{sample}SJ.out.tab", sample=SAMPLES)
output:
"pass1/SJ.db"
shell:
"""
gawk '$6==1 || ($6==0 amp;amp; $7>2)' {input} >> {output};
"""
На input
шаге это сгенерирует список файлов, каждый из которых имеет форму pass1/<XYZ>SJ.out.tab
.
Комментарии:
1. Нет проблем. Не могли бы вы принять ответ, если он устранил вашу проблему. Всего наилучшего