Readをゲノムにマッピング (その3) 圧縮ファイルを入力にする方法
マッピングの記事その3。
Readをゲノムにマッピング (その1) - Palmsonntagmorgen
Readをゲノムにマッピング (その2) - Palmsonntagmorgen
圧縮ファイル(fastq.gz)を直接マッピングの入力にする方法です。
圧縮ファイルのままマッピングしたい
fastqファイルは容量が大きいので、数が増えてくるとHDDを圧迫します。
なので.gzで圧縮した状態で保管しておきたいですね。
しかし圧縮されたfastq.gzファイルをbowtieにかけるとエラーで終了してします。
$ bowtie -S hg38 sample.fastq.gz -n2 -m1 -p4 > sample.hg38.sam Error: reads file does not look like a FASTQ file terminate called after throwing an instance of 'int' Aborted
これはbowtieが圧縮ファイルの入力に対応していないからですが、 以下のようにコマンドを修正すると、マッピングが通るようになります。
$ bowtie -S hg38 <(zcat sample.fastq.gz) -n2 -m1 -p4 > sample.hg38.sam
これはコマンドの中でgzファイルをzcatで展開し、その出力をbowtieの入力として投げる、というコマンドです。
bowtieに限らず、圧縮ファイルを受け付けないツール類(の一部)は、この方法で.gzファイルを直接入力にすることが可能です。
ちなみにbowtie2 (version 2.3.1 以降), bwaはそのままでもマッピングが通ります。
$ bowtie2 -x hg38 sample.fastq.gz -p4 > sample.hg38.sam
$ bwa mem -t 4 hg38 sample.fastq.gz > sample.hg38.sam