XII部分講數據的質控,因為已經拿到數據了,就先從這一步開始做吧:
換算成第三張圖的error values就可以可視化了。
但是error value非常不可靠,將error values作為一種建議而非精確的測量值(“treat them as an advisory rather than accurate measurements”)
FastQC工具
FastQC并不進行質控,只是可視化數據的質量。也是目前最好的FASTQ質量可視化工具。
即使它是事實上的可視化標準,其結果也不總是最容易解釋的。
- 優點:
該工具易于運行(僅需要Java),并且可以繪制出美觀的圖表。 - 缺點:
已針對Illumina平臺進行了調試,在其他類型的數據上可能不穩定。
某些精美圖表并未提供足夠信息或導致困惑。 例如K-MER圖和Overrepresented Sequences圖,并沒有給出多數人希望給出的內容。
可視化結果需要一個一個點開,不太方便。
FastQC如何工作
FastQC通過評估一小部分數據并將這些結果外推到整個數據集來生成報告。許多指標只在最初的200000個測量值上計算,然后通過其余數據進行跟蹤。
FastQC工具的幫助文檔:
http://www.bioinformatics.babraham.ac.uk/projects/fastqc/Help
如何運行FastQC執行可視化
下載示例數據
wget http://data.biostarhandbook.com/data/sequencing-platform-data.tar.gz
tar xzvf sequencing-platform-data.tar.gz
# 包含了illumina.fq, iontorrent.fq, pacbio.fq, minion.fq四個平臺的.fq文件
head -10一下fastq文件
運行FastQC工具
fastqc illumina.fq
命令生成一個HTML文件,包含運行結果
感言:
- 對fq.gz使用tar沒用
- gunzip不知是否是沒有指定目標文件的緣故,原壓縮文件在解壓后消失了。。7G的壓縮文件變成了33G
- 隨后執行
fastqc QFPG_2.fq
- 生成的html在服務器上,使用Xftp 6軟件進行傳輸
FastQC可視化結果
參考博文:《FastQC數據質控報告的詳細解讀》
http://www.lxweimin.com/p/dc6820eb342e
- 基本信息,序列長度150bp,GC含量52%,總共測了90million的序列
Conventional base calls什么意思..
-
每個序列reads的質量,前幾個read是質量慢慢升高,穩定,最后下降
-
每個tile的序列質量,tile應該指chip-lane-swath-tile
-
序列平均質量的分布
- 每個序列的堿基含量,為什么前15個reads堿基比例波動這么大!
- 序列GC含量的分布,有3個峰,理論分布為正態分布?
-
N堿基的含量,第1個堿基N的百分比較高
-
讀長150bp,很穩
- 序列重復水平,非unique reads占總數比例60%左右。橫軸為序列重復水平,藍線unique reads總數(藍線)作為100%,重復2次序列占10%,重復>10次序列占10%,重復>10k序列占15%
-
大量表達的序列
-
接頭含量
-
重復短序列含量 這個圖不怎懂
序列的質量控制
質量控制(QC)通過去除數據中可識別的錯誤來改善數據。 通常是數據采集后執行的第一步。
由于這是更改數據的過程,因此我們必須非常謹慎,理想情況下,我們只希望相同的 (same),更準確 (more accurate)的數據。由于QC不能把不好的數據變成有用的數據,不能對QC抱有不合理的期望。
一些觀念上的錯誤
- 進行簡單的QC后數據就可以使用了,不要浪費時間摳細節
- 不要反復調整QC,以似乎“改善”最終結果。 這樣做的危險是過擬合——使數據與期望的結果匹配。
執行QC的時機
- 序列比對前:這時所有數據的QC protocol都是一樣的
- 序列比對后:這時根據分析的不同執行不同的protocol
執行QC的具體步驟
- 可視化數據
- 當數據質量不錯時,直接進行分析
- 若質量不可靠,執行QC,回到第1步
QC工具有多可靠
沒多可靠。這是現實。
對于什么是“好數據”,充斥著各種主觀的判斷
QC同樣會產生新的錯誤
每個QC步驟都會引入新的錯誤。
終極哲學問題:你是愿意處理儀器引起的錯誤,還是愿意處理校正儀器錯誤時引入的新的錯誤?
因此如果數據沒問題,那就不要QC了。
QC工具列表
作者推薦Trimmomatic
, BBDuk
, flexbar
, cutadapt
每個工具都包括了基本的QC方法和一些獨特方法