アメリエフの技術ブログ

Amelieff Staff Blog

fastqのIDの書式の話

ある公開されているexomeデータのfastqファイルをダウンロードして解析しようとしたところ、うまくいきませんでした。
最初は何が何だかわからず困っていたのですが、fastqファイルを確認するとID行の書式がよく見かけるものと違いました。

例として、最初の1リードはこうなっていました。
@HWI-ST7001130:252:C258HACXX:5:1101:1723:2158¥R1
ACCTGTTGCTTCCCCTGGGACTGAAGGCAGAAGTGACTCCCGAAATTCTCTTTCTGGACTCAGAAGGAAACCAAAGCAATCGATGACACCGCATCNNNNAC
+
?7?=D;BDD4C?AEEC;313AEECE?+<CC;1?DD????BD:?60BB<4)B8)=)8==AC)7=))=CC;=?;??>6.;((-(,5(>>>A='3&05####+(
このfastqの書式はBWAでは受け付けられず、エラーとなります(他のソフトでは未確認です)。

このID行(1行目)には以下の問題があります。
1.末尾のforward/reverse readを区別する部分に「¥」を用いている
 → 「/」または半角スペースならBWAが動きました。
2.リードのforward/reverseを「1」「2」ではなく「R1」「R2」と表記している
 → 「/」のときは「1」「2」、半角スペースのときは「1」「2」または「R1」「R2」のどちらでも動きました。

この場合は、「¥R1」「¥R2」を以下のコマンドで「/1」「/2」に書き換えて対処しました。
$ zcat [sample]_R1.fastq.gz | perl -nle 'if(/¥¥R1$/){s/¥¥R1/¥/1/};print' | gzip -c > [sample_new]_R1.fastq.gz
$ zcat [sample]_R2.fastq.gz | perl -nle 'if(/¥¥R2$/){s/¥¥R2/¥/2/};print' | gzip -c > [sample_new]_R2.fastq.gz
([sample]、[sample_new]は任意のサンプル名をご使用ください)

もし同じようなデータがありましたらご参考までに。