bcl2fastq を実行して、bcl 形式から fastq ファイルを生成したいと考えています。
シーケンス モードに関するシーケンス設定と使用されたインデックスの数に応じて、read1、read2、index1 または read1、read2、index1、index2 などを生成できます。
私がやりたいことは、読み取り出力番号情報を次のように config.yaml ファイルに入れることです。
readids: ['I1','I2','R1','R2']
生成する必要がある読み取り出力 (fastq.gz ファイル) の数をルールに自動的に判断させます。
それを達成するために出力セクションをどのように書くのですか?
以下は私が持っているもので、このルールから毎回1つのファイルしか出力できません。したがって、実際には、このルールを I1、I2、R1、および R2 に対してそれぞれ 4 回実行しますが、これは私が望んでいるものではありません。45行目で修正するには?45 行目で、{readid}
の 1 つであると想定されています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 """