FastQC結果詳解

emanlee發表於2019-01-15

REF https://www.plob.org/article/5987.html

 

解壓後,檢視html格式的結果報告。結果分為如下幾項:


結果分為綠色的"PASS",黃色的"WARN"和紅色的"FAIL"。

 

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四種鹼基(正常情況)的分佈:


橫軸為位置,縱軸為百分比。 正常情況下四種鹼基的出現頻率應該是接近的,而且沒有位置差異。因此好的樣本中四條線應該平行且接近。當部分位置鹼基的比例出現bias時,即四條線在某些位置紛亂交織,往往提示我們有overrepresented sequence的汙染。當所有位置的鹼基比例一致的表現出bias時,即四條線平行但分開,往往代表文庫有bias (建庫過程或本身特點),或者是測序中的系統誤差。
當任一位置的A/T比例與G/C比例相差超過10%,報"WARN";當任一位置的A/T比例與G/C比例相差超過20%,報"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
當測序儀器不能辨別某條reads的某個位置到底是什麼鹼基時,就會產生“N”。對所有reads的每個位置,統計N的比率:
 

 


正常情況下N的比例是很小的,所以圖上常常看到一條直線,但放大Y軸之後會發現還是有N的存在,這不算問題。當Y軸在0%-100%的範圍內也能看到“鼓包”時,說明測序系統出了問題。當任意位置的N的比例超過5%,報"WARN";當任意位置的N的比例超過20%,報"FAIL"。

8 Sequence Length Distribution
reads長度的分佈。
 

 



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

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

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

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

 


11 Overrepresented Kmers
如果某k個bp的短序列在reads中大量出現,其頻率高於統計期望的話,fastqc將其記為over-represented k-mer。預設的k = 5,可以用-k --kmers選項來調節,範圍是2-10。出現頻率總體上3倍於期望或是在某位置上5倍於期望的k-mer被認為是over-represented。fastqc除了列出所有over-represented k-mers,還會把前6個的per base distribution畫出來。
kmer_profiles

當有出現頻率總體上3倍於期望或是在某位置上5倍於期望的k-mer時,報”WARN“;當有出現頻率在某位置上10倍於期望的k-mer時報"FAIL"。

相關文章