Я хочу запустить bcl2fastq для создания файлов fastq из формата bcl.
В зависимости от настройки последовательности в отношении режима последовательности и количества использованных индексов, он может генерировать либо read1, read2, index1, либо read1, read2, index1, index2 и т. Д.
Что я хочу сделать, так это поместить информацию о номере вывода чтения в файл config.yaml следующим образом:
readids: ['I1','I2','R1','R2']
и пусть правило автоматически определяет, сколько результатов чтения (файлов fastq.gz) оно должно сгенерировать.
Как мне написать секцию вывода для этого?
Ниже приведено то, что у меня есть, и он каким-то образом может каждый раз выводить только один файл из этого правила. Таким образом, он фактически запускает это правило 4 раза, каждый для I1, I2, R1 и R2, чего я не хочу. Как исправить в строке 45? в строке 45 {readid}
должен быть одним из I1,I2,R1,R2
.
39 rule bcl2fastq:
40 input:
41 "/data/MiniSeq/test"
42 params:
43 prefix="0_fastq"
44 output:
45 "0_fastq/{runid}_S0_L001_{readid}_001.fastq.gz"
46 log:
47 "0_fastq/bcl2fastq_log.txt"
48 shell:
49 """
50 bcl2fastq -R {input} -o {params.prefix} --create-fastq-for-index-reads --barcode-mismatches 1 --use-bases-mask {config[bcl2mask]} --minimum-trimmed
-read-length 1 --mask-short-adapter-reads 1 --no-bgzf-compression &> {log}
52
53 """