データのクオリティをチェック - FastQC

データのQCとは

バイオインフォマティクスの解析では、通常シーケンサから出力されたリードの配列データを入力データとします。
このデータから、様々な解析を行い、生物学的な意味合いを見出すのですが、 その前に、そのデータが本当に解析する価値のあるものなのか見極める必要があります。

通常、シーケンサーからはそのシーケンサが出力したリードのクオリティを示すレポートが一緒に出力されますが、
このレポートからは、シーケンサ依存の問題しか検出することはできません。

こういった処理をQC(クオリティーチェック)と呼びます。 同じQCでもクオリティーの低いリードや、塩基配列を除去することを指すQC(クオリティーコントロール)を意味する場合もあるので注意しましょう。

FastQCとは

FastQC はデータのQCに最もよく用いられている(と言っても過言でない)オープンソースのソフトウェアです。
シーケンス実験の品質をチェックするために便利な幾つかのプロットを生成してくれます。ちなみにjavaで書かれています。
出力されるプロットとしては、

  • サイクル(リードの塩基)あたりのシーケンスクオリティ
  • クオリティスコアの分布
  • 同一シーケンスリードの重複率

などが挙げられます。 こういったデータから、データのクオリティを判断し、
以降の解析において、

  • 全体的にクオリティーが高いためそのままデータを用いる
  • クオリティーの低い末端をトリミングしたデータを用いる
  • 全体的にクオリティーが低いため、シーケンスをかけ直す

といった行動の指標にすることができます。

Fastqcが対応しているファイル形式

  • fastq
  • fastq.gz
  • sam
  • bam

入力ファイルの拡張子からファイル形式を判断してくれます。

インストール

f:id:kimoppy126:20180920082333p:plain

以下のURLのDownload Nowからダウンロードできます。

Babraham Bioinformatics - FastQC A Quality Control tool for High Throughput Sequence Data

コマンドでダウンロードする場合はwgetを使います。

wget "http://www.bioinformatics.babraham.ac.uk/projects/fastqc/fastqc_v0.11.7.zip"

ダウンロードしたら、解凍し、実行ファイルに実行権限を付与した後、 実行ファイルへのシンボリックリンクをパスの通っている場所に通しましょう。

unzip fastqc_v0.10.1.zip /home/kimoton/src
cd /home/kimoton/src/FastQC
chmod +x fastqc
ln -s /home/kimoton/src/FastQC/fastqc /home/kimoton/bin

以下のコマンドを打ち、ヘルプメッセージが表示されればインストール完了です。

$ fastqc -h

実行方法

GUIで実行する場合

単にfastqcと打つと、GUI画面が開きます。

$ fastqc

f:id:kimoppy126:20180919220227p:plain
左上のFileタブからファイルを選択すると、、

f:id:kimoppy126:20180920083530p:plain

解析結果のレポートを見ることができます。

CUIで実行する場合

以下のようにオプションと解析対象のファイルを引数に与えて実行します。
ワイルドカード(*)を用いれば複数ファイルを一気に解析できたりします。

$ fastqc -t 4 -o fastqc_results/ *.fastq.gz
option description
-o 解析結果の保存先ディレクトリを指定する。
--nogroup リードが 50 bp よりも長い場合、FastQC は 3' 末端にある塩基を束ねて解析を行う。--nogroup を付けることによってこれらの塩基を束ねずに 1 ポジションごとに処理する。
-f 入力ファイルのフォーマットを指定する。拡張子からファイル形式は認識されるが、想定されていない拡張子の場合、 fastqで読み込まれる。
-t 使用するスレッド数(CPU 数)。
-c コンタミが想定されている配列がある場合、それらコンタミ配列をタブ区切りのテキストファイルに保存してから、-c オプションで指定する。
-a アダプター配列が使われている場合、そのアダプター配列をタブ区切りテキストに保存してから、-a オプションで指定する。
-k リードの Kmer を解析する際に必要な Kmer の長さを指定する。デフォルトは 7 。

実行結果例

FastQCを管理しているBabraham Bioinformaticsのホームページでは、幾つかの解析結果例をみることができます。

  • イルミナシーケンサから出力された良いクオリティーの解析結果
    Good Illumina Data

  • イルミナシーケンサから出力された悪いクオリティーの解析結果
    Bad Illumina Data

参考

Babraham Bioinformatics - FastQC A Quality Control tool for High Throughput Sequence Data

https://dnacore.missouri.edu/PDF/FastQC_Manual.pdf