質控原則
好的結果需要好的數據。
原始下機測序數據(raw data)中,有些reads包含有測序接頭序列,這些序列不屬于測序物種中的原有序列,因此質控過程中需要剪切去除。同時,下機數據中還包含許多低質量的reads序列(如平均測序質量值較低的reads,序列某些位置堿基質量值過低,含N較多的reads等),同樣需要過濾去除。
質控核心思想:trim(剪切)+fliter(過濾)
軟件
使用fastp和fastqc作為質控軟件。fastp主要用來剪切和過濾reads,fastqc用以生成更詳細的質控報告。
fastp參數選擇
文件讀寫及程序運行基本選項:
-i,輸入文件1,雙端測序raw reads R1;
-o,輸出文件1,雙端測序clean reads R1;
-I,輸入文件2,雙端測序raw reads R2;
-O,輸出文件2,雙端測序clean reads R2;
-6,輸入fastq文件phred格式為phred64,將其轉化為phred33,輸出fastq文件phred33;
-z,gzip壓縮水平,取值1-9,數值越高壓縮空間越小但速度越慢,默認為2;
-j,輸出的json文件名稱,默認fastp.json;
-h,輸出的html文件名稱,默認fastp.html;
-w,程序運行線程數,默認3線程;
-s,可根據指定文件個數拆分文件,默認不拆分;
-S,可根據指定行數拆分文件,默認不拆分;
reads接頭序列裁剪功能:
-A,若此參數存在,則關閉裁剪測序接頭序列功能,默認啟用;
-a,接頭序列,默認自動檢測;
reads全局裁剪功能:
-f,裁剪reads1 5'端該長度的堿基,默認無;
-t,裁剪reads1 3'端該長度的堿基,默認無;
-F,裁剪reads2 5'端該長度的堿基,默認無;
-T,裁剪reads2 3'端該長度的堿基,默認無;
reads polyG裁剪功能:
-g,執行polyG裁剪功能;默認情況下,僅識別Illumina NextSeq/NovaSeq數據執行polyG裁剪;
-G,關閉polyG裁剪功能;默認情況下,僅識別Illumina NextSeq/NovaSeq數據執行polyG裁剪;
reads滑窗裁剪功能:
-5,在reads 5'端啟用根據堿基質量值的裁剪,默認無,(該參數啟用會影響后續分析中對deduplication數據的識別);
-3,在reads 3'端啟用根據堿基質量值的裁剪,默認無,(該參數啟用會影響后續分析中對deduplication數據的識別);
-W,設定reads裁剪的滑窗大小,默認4堿基為一滑窗;
-M,滑窗中堿基平均質量低于該設定閾值時,將被裁剪,默認閾值為q20;
reads過濾功能(根據堿基質量、N堿基數量、長度等):
-Q,若此參數存在,則關閉質量篩查功能,默認啟用;
-q,設定期望堿基質量值,質量值低于該值的堿基視為不合格,默認值15表示phred quality >= q15合格;
-u,允許reads中存在多少個堿基不合格,取值0-100,默認值40表示40%;
-n,如果一個read中的N堿基大于此設定值,該read將被剔除,默認值為5;
-L,若此參數存在,則關閉長度篩選功能,默認啟用;
-l,如果一個read的長度低于此設定值,該read將被剔除,默認值為15;
reads堿基校正功能:
-c,若為雙端測序數據(paired-end reads,PE reads),可根據reads重疊區執行堿基校正,默認禁用;
對帶分子標簽(UMI)的數據處理功能:
-U,啟用unique molecular identifer (UMI)程序;
Over-represented序列分析功能:
-p,啟用over-represented reads分析;
-P,統計over-represented reads在指定測序擴增循環次數中的基本信息,默認第20輪循環。
舉例
使用fastp默認參數質控后fastqc顯示的質控報告(read1的)
根據圖中顯示的問題(第80個堿基往后質量值較低,5'端序列質量值波動)進行參數調整
代碼:
fastp -w 7 -f 9 -F 9 -3 -W 1 -M 20 -q 20 -u 40 -l 116 -i control_P_R1.fq.gz -I control_P_R2.fq.gz -o control_P_R1.p.fq -O control_P_R2.p.fq -h p.html
-w 7 線程數為7
reads全局裁剪功能
-f 9 全局裁剪,所有reads1 從5'端剪去9個堿基
-F 9 全局裁剪,所有reads2 從5'端剪去9個堿基
reads滑窗裁剪功能
-3 在reads 3'端啟用根據堿基質量值的裁剪
-W 設定reads裁剪的滑窗大小為1,默認4堿基為一滑窗;數值越小,窗口所包含的堿基越容易被切除 非常之關鍵
-M 20 滑窗中堿基平均質量低于該設定閾值時,將被裁剪,默認閾值為20
reads過濾功能
-q 20 設定期望堿基質量值,質量值低于該值的堿基視為不合格
-u 40 允許reads中存在多少個堿基不合格,取值0-100,默認值40表示40%(若-u 30 一條read允許有30%的堿基不合格(Q值設為20),超過30%被過濾掉)
-q 20 -u 40 一個read最多只能有40%的堿基的質量值低于Q20,否則會被過濾掉
-l 116 如果一個read的長度低于116,該read將被剔除,默認值為15 (l值得確定是根據全局剪切的參數設置的,如果測序策略為PE125,-f 為5,此時大部分reads長度為116,-l的值此時就設為116,若設為125,則所有reads都被過濾掉了)
ps:滑窗裁剪和接頭序列裁剪(-a,默認開啟)都是局部裁剪
fastqc形成更清晰的質控報告
fastqc -o ~/WGBS/1_RawData/insulin.fastqc insulin_P_R1.fastp.fq insulin_P_R2.fastp.fq
調整fastp參數質控后的結果
fastqc和fastp同時執行:
fastp -w 7 -f 9 -F 9 -3 -W 1 -M 20 -q 20 -u 40 -l 116 -i insulin_P_R1.fq.gz -I insulin_P_R2.fq.gz -o insulin_P_R1.fastp.fq -O insulin_P_R2.fastp.fq -h insulin_P.html;fastqc -o ~/WGBS/1_Raw
Data/insulin.fastqc insulin_P_R1.fastp.fq insulin_P_R2.fastp.fq
參考
生信工具Fastp的安裝及其在二代測序數據過濾質控中的使用說明
fastp: 極速全能的FASTQ文件自動質控 過濾 校正 預處理軟件
RNA-seq從過濾低質量到去接頭完整質控步驟