FASTX-Toolkit は FASTQ のクオリティコントロールによく利用されるツールの一つである。多くの便利な機能が実装されているが、しばらく更新されていない。FASTQ のクオリティコントロールが目的ならば、FASTX-Toolkit のかわりに、Trimmomatic などの利用も検討した方がいい。
FASTQ クオリティコントロール
アダプター配列の除去
アダプター配列の除去は fastx_clipper
を利用する。以下の例では DRR000034.fastq ファイルに対して、アダプター配列 AATGAAGAC を除去し、除去後のアダプター配列を含まないデータを DRR000034.noadapter.fastq に保存している。
fastx_clipper -a AATGAAGAC -i DRR000034.fastq -o DRR000034.noadapter.fastq
fastx_clipper
の動作に関して、アダプター除去時にリードごとに除去してしまうことがある。アダプターを除去する場合は cutadapt や ShortRead などを利用したほうがいい。(参照:SEQansers)
短いリードの除去
様々なクオリティコントロールを行った後に、FASTQ には短いリードが含まれるようになる。fastx_clipper
を利用することで、短いリードを除去できる。以下の例では、DRR000034.fastq から短いリードを除去し、短いリードを含まないデータを新たに DRR000034.long.fastq に保存している。
fastx_clipper -l 20 -i DRR000034.fastq -o DRR000034.long.fastq
5' 末端と 3' 末端の数塩基の除去
クオリティの分析結果を眺めると、5' 末端にはアダプター配列と思われるものがある場合、fastx_trimmer
を利用して、最初の数塩基を除去することができる。5' 末端の最初の 12 塩基を除去する場合は以下のようにする。
fastx_trimmer -f 12 -i DRR000034.fastq -o DRR000034.cut5.fastq
3' 末端の除去も行える。「リードの第 n 塩基まで残す」というような方法で指定する。そのため、個々のリード長が異なる場合は、利用しづらいあるいは利用できない。以下の例は、リードの 30 塩基目までを残し、31 塩基目以降をすべて削除することになっている。
fastx_trimmer -l 30 -i DRR000034.fastq -o DRR000034.cut3.fastq
5' 末端と 3' 末端のトリミングを同時に行うこともできる。例えば、リードの 11 塩基目から 50 塩基目を残し、それ以外の塩基を除去する場合は以下のようにする。
fastx_trimmer -f 11 -l 50 -i DRR000034.fastq -o DRR000034.cut5and3.fastq
クオリティフィルタリング
クオリティの低いリードを除去する。3' 末端からクオリティが 20 未満の塩基をトリミングし、長さが 36 bp 未満となったリードを破棄する。
fastq_quality_trimmer -t 20 -l 36 -i DRR000034.fastq -o DRR000034.qual1.fastq
リードの 80% 以上の塩基がクオリティ 20 未満のリードならば除去する。
fastq_quality_filter -q 20 -p 80 -i DRR000034.qual1.fastq -o DRR000034.qual2.fastq
インストール
FASTX-Toolkit のソースコードは Hannonlab のウェブサイトで配布されている。このページから最新バージョンの fastx_toolkit-0.0.14.tar.bz2 と libgtextutils-0.7.tar.gz をダウンロードして、解凍、そしてコンパイルすれば利用できるようになる。
fastx_toolkit-0.0.14.tar.bz2 と libgtextutils-0.7.tar.gz をダウンロードしてから、解凍、コンパイルを行えば利用できるようになる。
tar xzvf libgtextutils-0.7.tar.gz
cd libgtextutils-0.7/
make
sudo make install
bzip2 -dc fastx_toolkit-0.0.14.tar.bz2 | tar xvf -
cd fastx_toolkit-0.0.14/
make
sudo make install