用FastQC檢查高通量測序原始數據的質量


本篇文章,主要參考了陽光1986的博文(http://www.dxy.cn/bbs/topic/31324367),自己測序的分析結果作為對比,加在其中了。

 

1.簡介

當二代測序的原始數據拿到手之后,第一步要做的就是看一看原始reads的質量。常用的工具就是fastqc (http://www.bioinformatics.babraham.ac.uk/projects/fastqc/)。

fastqc的詳細使用說明:http://www.bioinformatics.babraham.ac.uk/projects/fastqc/Help/


2. 安裝

$ wget http://www.bioinformatics.babraham.ac.uk/projects/fastqc/fastqc_v0.11.3.zip $ unzip fastqc_v0.11.3.zip $ cd FastQC/ $ chmod 755 fastqc $ echo "export PATH=`pwd`:$PATH" >> ~/.bashrc $ source ~/.bashrc $ fastqc –help

 


3. 服務器上用命令行來運行fastqc

fastqc [-o output dir] [--(no)extract] [-f fastq|bam|sam] [-c contaminant file] seqfile1 .. seqfileN

-o 用來指定輸出文件的目錄,fastq是不能新建目錄的。輸出的結果是.zip文件,默認自動解壓縮,如果加上--noextract參數則不解壓縮。

-f 用來強制指定輸入文件格式,默認會自動檢測。

-c用來指定一個contaminant文件,fastqc會把overrepresented sequences去這個contaminant文件里搜索。contaminant文件的格式是"Name\tSequences",#開頭的行是注釋。

-q 會進入沉默模式,即不出現下面的提示:
Started analysis of target.fq
Approx 5% complete for target.fq
Approx 10% complete for target.fq

4. 結果解析

如果輸入的fastq文件名是target.fq,fastqc的輸出的壓縮文件將是target.fq_fastqc.zip。解壓后,查看html格式的結果報告。結果分為如下幾項:

0) summary

結果分為綠色的"PASS",黃色的"WARN"和紅色的"FAIL"。“You should treat the summary evaluations therefore as pointers to where you should concentrate your attention and understand why your library may not look random and diverse. ”

 

1) Basic statistics

 

2) Per base sequence quality

quality就是Fred值,-10*log10(p),p為測錯的概率。所以一條reads某位置出錯概率為0.01時,其quality就是20。橫軸代表位置,縱軸quality。紅色表示中位數,黃色是25%-75%區間,觸須是10%-90%區間,藍線是平均數。
若任一位置的下四分位數低於10或中位數低於25,報"WARN";若任一位置的下四分位數低於5或中位數低於20,報"FAIL".

 

3) Per Sequence Quality Scores

每條reads的quality的均值的分布:橫軸為quality,縱軸是reads數目。當出現上面的第二幅的情況時,我們就會知道有一部分reads具有比較差的質量。當峰值小於27(錯誤率0.2%)時報"WARN",當峰值小於20(錯誤率1%)時報"FAIL"。

4) Per Base Sequence Content

對所有reads的每一個位置,統計ATCG四種鹼基(正常情況)的分布:

如果建庫足夠均勻,reads的每個位置應當是沒有差異的,所以GC含量的線應當平行於X軸,反映樣品(基因組、轉錄組等)的GC含量。當部分位置GC含量出現bias時,往往提示我們有overrepresented sequence的污染。當所有位置的GC含量一致的表現出bias時,往往代表文庫有bias (建庫過程或本身特點),或者是測序中的系統誤差。當任一位置的GC含量偏離均值的5%時,報"WARN";當任一位置的GC含量偏離均值的10%時,報"FAIL"。

5) Per Base GC Content


對所有reads的每個位置,統計GC含量。

如果建庫足夠均勻,reads的每個位置應當是沒有差異的,所以GC含量的線應當平行於X軸,反映樣品(基因組、轉錄組等)的GC含量。當部分位置GC含量出現bias時,往往提示我們有overrepresented sequence的污染。當所有位置的GC含量一致的表現出bias時,往往代表文庫有bias (建庫過程或本身特點),或者是測序中的系統誤差。當任一位置的GC含量偏離均值的5%時,報"WARN";當任一位置的GC含量偏離均值的10%時,報"FAIL"。

6) Per Sequence GC Content


對所有reads的每個位置,統計GC含量。

紅線是實際情況,藍線是理論分布(正態分布,均值不一定在50%,而是由平均GC含量推斷的)。 曲線形狀的偏差往往是由於文庫的污染或是部分reads構成的子集有偏差(overrepresented reads)。形狀接近正態但偏離理論分布的情況提示我們可能有系統偏差。
偏離理論分布的reads超過15%時,報"WARN";偏離理論分布的reads超過30%時,報"FAIL"。

7) Per Base N Content

8) Sequence Length Distribution

reads長度的分布

當reads長度不一致時報"WARN";當有長度為0的read時報“FAIL”。

9) Duplicate Sequences

統計序列完全一樣的reads的頻率。測序深度越高,越容易產生一定程度的duplication,這是正常的現象,但如果duplication的程度很高,就提示我們可能有bias的存在(如建庫過程中的PCR duplication)

橫坐標是duplication的次數,縱坐標是duplicated reads的數目,以unique reads的總數作為100%。 上圖的情況中,相當於unique reads數目~20%的reads是觀察到兩個重復的,~7%是觀察到三次重復的,依此類推。
可 以想象,如果原始數據很大(事實往往如此),做這樣的統計將非常慢,所以fastqc中用fq數據的前200,000條reads統計其在全部數據中的重 復情況。重復數目大於等於10的reads被合並統計,這也是為什么我們看到上圖的最右側略有上揚。大於75bp的reads只取50bp(不知道怎么選 的)進行比較。但由於reads越長越不容易完全相同(由測序錯誤導致),所以其重復程度仍有可能被低估。

10 Overrepresented Sequences
如 果有某個序列大量出現,就叫做over-represented。fastqc的標准是占全部reads的0.1%以上。和上面的duplicate analysis一樣,為了計算方便,只取了fq數據的前200,000條reads進行統計,所以有可能over-represented reads不在里面。而且大於75bp的reads也是只取50bp。如果命令行中加l入了-c參數,則出現的over-represented sequence會從contaminant_file里面找匹配的hit(至少20bp且最多一個mismatch),可以給我們一些線索。當發現超過總reads數0.1%的reads時報”WARN“,當發現超過總reads數1%的reads時報”FAIL“。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM