拿到測序數據后我們首先要進行質量評估(Quality Control),常用的工具就是FastQC。FastQC的詳細使用說明:http://www.bioinformatics.babraham.ac.uk/projects/fastqc/Help/
該如何認識一個原始的測序數據(fastq data)呢?
一般我們可以從如下幾個方面來分析:
- read各個位置的堿基質量值分布
- 堿基的總體質量值分布
- read各個位置上堿基分布比例,目的是為了分析堿基的分離程度
- GC含量分布
- read各位置的N含量
- read是否還包含測序的接頭序列
- read重復率,這個是實驗的擴增過程所引入的
FastQC支持的格式:
- FastQ (all quality encoding variants)
- Casava FastQ files
- Colorspace FastQ
- GZip compressed FastQ
- SAM
- BAM
- SAM/BAM Mapped only (normally used for colorspace data)
幫助文檔:
# 基本格式# fastqc [-o output dir] [--(no)extract] [-f fastq|bam|sam] [-c contaminant file] seqfile1 .. seqfileN
# 主要是包括前面的各種選項和最后面的可以加入N個文件
# -o --outdir FastQC生成的報告文件的儲存路徑,生成的報告的文件名是根據輸入來定的,注意是不能自動新建目錄的。輸出的結果是.zip文件,默認自動解壓縮,命令里加上--noextract則不解壓縮
# --extract 生成的報告默認會打包成1個壓縮文件,使用這個參數是讓程序不打包
# -t --threads 選擇程序運行的線程數,每個線程會占用250MB內存,越多越快咯
# -c --contaminants 污染物選項,輸入的是一個文件,格式是Name [Tab] Sequence,里面是可能的污染序列,如果有這個選項,FastQC會在計算時候評估污染的情況,并在統計的時候進行分析,一般用不到
# -a --adapters 也是輸入一個文件,文件的格式Name [Tab] Sequence,儲存的是測序的adpater序列信息,如果不輸入,目前版本的FastQC就按照通用引物來評估序列時候有adapter的殘留
# -q --quiet 安靜運行模式,一般不選這個選項的時候,程序會實時報告運行的狀況。
如果不加-q則會顯示:
Started analysis of target.fq
Approx 5% complete for target.fq
Approx 10% complete for target.fq
......
如果輸入的fastq文件名是test.fastq,fastqc的輸出的壓縮文件將是test.fastq_fastqc.zip。解壓后,查看html格式的結果報告。
結果分析
查看html格式的結果報告。結果分為如下幾項:
結果分為綠色的"PASS",黃色的"WARN"和紅色的"FAIL"。
Basic Statistics
Per base sequence quality
橫軸為read長度,縱軸為質量得分,Q = -10*log10(error P)。
Per tile sequence quality
每個tail測序情況,橫軸表示堿基位置,縱軸表示tail的index編號,這個圖主要是為了防止在測序過程中某些tail受到不可控因素的影響而出現測序質量偏低,藍色表示測序質量很高,暖色表示測序質量不高。當某些tail出現暖色,在后續的分析種把該tail測序結果全部去除
Per sequence quality scores
橫軸表示Q值,縱軸表示每個值對應的read數目,當測序結果主要集中在高分中,證明測序質量良好。
Per base sequence content
橫軸為堿基長度分布,縱軸表示百分比,圖中4條線分別代表A,C,T,G在每個位置上的平均含量。由于測序平臺及測序長度不同,以及測序儀開始狀態不穩定經常出現前后波動情況。
Per sequence GC content
紅線是實際情況,藍線是理論分布(正態分布,均值不一定在50%,而是由平均GC含量推斷的),當紅色出現雙峰是表示混入了其他DNA序列。 曲線形狀的偏差往往是由于文庫的污染或是部分reads構成的子集有偏差(overrepresented reads)。形狀接近正態但偏離理論分布的情況提示我們可能有系統偏差。
橫軸表示GC含量,縱軸表示不同GC含量對應的read數
偏離理論分布的reads超過15%時,報"WARN";偏離理論分布的reads超過30%時,報"FAIL"。
Per base N content
當測序儀器不能辨別某條reads的某個位置到底是什么堿基時,就會產生“N”。對所有reads的每個位置,統計N的比率:
正常情況下N的比例是很小的,所以圖上常常看到一條直線,但放大Y軸之后會發現還是有N的存在,這不算問題。當Y軸在0%-100%的范圍內也能看到“鼓包”時,說明測序系統出了問題。當任意位置的N的比例超過5%,報"WARN";當任意位置的N的比例超過20%,報"FAIL"。
Sequence Length Distribution
reads長度的分布,當reads長度不一致時報"WARN";當有長度為0的read時報“FAIL”。
Sequence Duplication Levels
統計序列完全一樣的reads的頻率。測序深度越高,越容易產生一定程度的duplication,這是正常的現象,但如果duplication的程度很高,就提示我們可能有bias的存在(如建庫過程中的PCR duplication)
橫坐標是duplication的次數,縱坐標是duplicated reads的數目,以unique reads的總數作為100%。
當非unique的reads占總數的比例大于20%時,報"WARN";當非unique的reads占總數的比例大于50%時,報"FAIL“。
Overrepresented sequences
如果有某個序列大量出現,就叫做over-represented。fastqc的標準是占全部reads的0.1%以上。當發現超過總reads數0.1%的reads時報”WARN“,當發現超過總reads數1%的reads時報”FAIL“
Adapter Content
橫軸表示堿基位置,縱軸表示百分比。當fastqc分析時沒有選擇參數-a adapter list時,默認使用圖例中的4種通用adapter序列進行統計。若有adapter殘留,后續必須去接頭。
在構建測序文庫時,會加上測序接頭,其目的一方面是為了能夠結合到flowcell上,另一方面是當有多個樣本同時測序的時候能夠利用接頭信息進行區分。當測序read的長度大于被測序的DNA片段時,就會在read的末尾測到這些接頭序列。一般的WGS測序是不會測到這些接頭序列的,因為構建WGS測序的文庫序列(插入片段)都比較長,約幾百bp,而read的測序長度都在100bp-150bp這個范圍。不過在進行一些RNA測序的時候,由于它們的序列本來就比較短,很多只有幾十bp長(特別是miRNA),那么就很容易會出現read測通的現象,這個時候就會在read的末尾測到這些接頭序列。
Kmer Content
重復短序列出現的次數
注意事項:
1、數據質控是一個綜合的評價標準,其中主要指標為堿基質量與含量分布,如果這兩個指標合格了,后面大部分指標都可以通過。如果這兩項不合格,其余都會受到影響。
2、其中一些指標并不適合所有數據,例如DNA數據與RNA測序數據之間的差異等,要根據具體數據類型,具體分析。
以上就是一個完整的fastqC結果報告的簡單說明
轉載請注明出處
簡書作者:oddxix
微信公眾號:oddxix