Как вы указали в комментариях, вы не знаете, сколько файлов вы получите в качестве вывода. Есть два варианта:
- Использовать выходные каталоги .
- Использовать контрольных точек , однако это довольно сложно правильнопонимаю (на мой взгляд).
Не проверено, но может просто работать:
Правило makeblastdb: input: reference = "/path/to/workdir/ndomsample отпуска.fasta" output: out = "{sample} .fasta. {ext}" Оболочка: /Tools/ncbi-blast-2.9.0+/bin/makeblastdb -in {input.reference} -out {output.out} -dbtype nucl "
Здесь мы помечаем вывод как выходной каталог с именем sample-ext, и вывод ncbi-blast будет находиться в этом каталоге с именем sample.ext.
edit :
Если нам не нужны все эти выходные каталоги, мы можем сказать, что ожидаем как минимум 1 выходной файл, и если он существует, мы предполагаем, что все прошло нормально:
rule makeblastdb:
input:
reference = "/path/to/workdir/{sample}.fasta"
output:
out = "{sample}.fasta.00.{ext}
shell:
/Tools/ncbi-blast-2.9.0+/bin/makeblastdb -in {input.reference} -out {wildcards.sample}.fasta.{wildcards.ext} -dbtype nucl"