FastQC是一款基于Java的軟件,一般都是在linux環境下使用命令行運行,它可以快速多線程地對測序數據進行質量評估(Quality Control),其官網地址為:Babraham Bioinformatics
FastQC的下載和安裝,和一般的Java軟件沒有什么區別,我們在這里就不做介紹了,在成功安裝好以后,我們就在命令行模式下,輸入fastqc就可以調用這個程序,這時候我們可以選擇 --help選項查看幫助文檔:
# 基本格式# fastqc [-o output dir] [--(no)extract] [-f fastq|bam|sam] [-c contaminant file] seqfile1 .. seqfileN
# 主要是包括前面的各種選項和最后面的可以加入N個文件
# -o --outdir FastQC生成的報告文件的儲存路徑,生成的報告的文件名是根據輸入來定的
# --extract 生成的報告默認會打包成1個壓縮文件,使用這個參數是讓程序不打包
# -t --threads 選擇程序運行的線程數,每個線程會占用250MB內存,越多越快咯
# -c --contaminants 污染物選項,輸入的是一個文件,格式是Name [Tab] Sequence,里面是可能的污染序列,如果有這個選項,FastQC會在計算時候評估污染的情況,并在統計的時候進行分析,一般用不到
# -a --adapters 也是輸入一個文件,文件的格式Name [Tab] Sequence,儲存的是測序的adpater序列信息,如果不輸入,目前版本的FastQC就按照通用引物來評估序列時候有adapter的殘留
# -q --quiet 安靜運行模式,一般不選這個選項的時候,程序會實時報告運行的狀況。
簡單使用:
fastqc -o qc -t 10 KPGP-00001_L1_R1.fq.gz
運行一段時間以后,就會在qc
文件夾中出現以下報告文件:
KPGP-00001_L1_R1_fastqc.html KPGP-00001_L1_R1_fastqc.zip
使用瀏覽器打開后綴是html的文件,就是圖表化的fastqc報告。
1、Summary
從頁面左側的的summary中可以看出有哪些選項沒有通過,上圖可以看出此數據的測序質量很好,沒有問題。
2、Basic Statics
在這里我們可以看出數據的序列數量,測序平臺以及GC含量等相關信息。
3、Per base sequence quality
在這個圖我們可以看到每個位置的堿基質量情況。
# 此圖中的橫軸是測序序列第1個堿基到第101個堿基# 縱軸是質量得分,Q = -10*log10(error P)即20表示1%的錯誤率,30表示0.1%
# 圖中每1個boxplot,都是該位置的所有序列的測序質量的一個統計,上面的bar是90%分位數,下面的bar是10%分位數,箱子的中間的橫線是50%分位數,箱子的上邊是75%分位數,下邊是25%分位數
# 圖中藍色的細線是各個位置的平均值的連線# 一般要求此圖中,所有位置的10%分位數大于20,也就是我們常說的Q20過濾
# 所以上面的這個測序結果,需要把后面的87bp以后的序列切除,從而保證后續分析的正確性
# Warning 報警 如果任何堿基質量低于10,或者是任何中位數低于25# Failure 報錯 如果任何堿基質量低于5,或者是任何中位數低于20
4、Per tile sequence quality
這個圖顯示了各個tile的序列質量情況
# 橫軸和之前一樣,代表101個堿基的每個不同位置# 縱軸是tail的Index編號
# 這個圖主要是為了防止,在測序過程中,某些tile受到不可控因素的影響而出現測序質量偏低
# 藍色代表測序質量很高,暖色代表測序質量不高,如果某些tail出現暖色,可以在后續分析中把該tail測序的結果全部都去除
5、Per sequence quality scores
這個圖可以看出各個序列質量的分布情況,上圖可以看出絕大部分序列質量都在30以上,質量可以說是很好了。
# 假如我測的1條序列長度為101bp,那么這101個位置每個位置Q之的平均值就是這條reads的質量值
# 該圖橫軸是0-40,表示Q值# 縱軸是每個值對應的reads數目# 我們的數據中,測序結果主要集中在高分中,證明測序質量良好!
6、Per base sequence content
這個圖可以看出每條序列中各個位置的平均堿基比例,如出現AT或GC分離的情況說明這個數據有問題,需要處理。
# 橫軸是1 - 101 bp;縱軸是百分比
# 圖中四條線代表A T C G在每個位置平均含量# 理論上來說,A和T應該相等,G和C應該相等,但是一般測序的時候,剛開始測序儀狀態不穩定,很可能出現嚴重分離的情況。像這種情況,即使測序的得分很高,也需要cut開始部分的序列信息,一般像這種情況,會cut前面5-10bp
7、Per sequence GC content
序列平均GC含量分布圖,可以看出在這個fq文件中序列平均GC含量在39%左右。
# 橫軸是0 - 100%; 縱軸是每條序列GC含量對應的數量
# 藍色的線是程序根據經驗分布給出的理論值,紅色是真實值,兩個應該比較接近才比較好
# 當紅色的線出現雙峰,基本肯定是混入了其他物種的DNA序列
# 這張圖中的信息良好
8、Per base N content
序列中各個位點的N含量,越小越好。
9、Sequence Length Distribution
序列測序長度統計,從圖中可以看出序列的平均長度為90。
# 每次測序儀測出來的長度在理論上應該是完全相等的,但是總會有一些偏差# 比如此圖中,101bp是主要的,但是還是有少量的100和102bp的長度,不過數量比較少,不影響后續分析# 當測序的長度不同時,如果很嚴重,則表明測序儀在此次測序過程中產生的數據不可信
10、Sequence Duplication Levels
sequences duplication是指在測序前建庫PCR過程中導致的一些序列擴增次數過多導致的。若重復較高則需要進行處理這些dup。
11、Overrepresented sequences
如果有某個序列大量出現,就叫做over-represented。fastqc的標準是占全部reads的0.1%以上。為了計算方便,只取了fq數據的前200,000條reads進行統計,所以有可能over-represented reads不在里面。而且大于75bp的reads也是只取50bp。
當發現超過總reads數0.1%的reads時報"黃色!",當發現超過總reads數1%的reads時報"紅色×"。
12、Adapter Content
序列Adapter
# 此圖衡量的是序列中兩端adapter的情況# 如果在當時fastqc分析的時候-a選項沒有內容,則默認使用圖例中的四種通用adapter序列進行統計
# 本例中adapter都已經去除,如果有adapter序列沒有去除干凈的情況,在后續分析的時候需要先使用cutadapt軟件進行去接頭,也可以用 trimmomatic來去除接頭
13、Kmer Content
如果某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畫出來。
當有出現頻率總體上3倍于期望或是在某位置上5倍于期望的k-mer時,報"黃色!";當有出現頻率在某位置上10倍于期望的k-mer時報"紅色×"。本圖所顯示的結果來自于表格中前六個序列。