rawdata可以是從公司直接獲得的測序數(shù)據(jù)或者是網(wǎng)上下載的數(shù)據(jù),網(wǎng)上下載數(shù)據(jù)的流程參考使用SRA Toolkit下載NCBI-SRA原始數(shù)據(jù)
常規(guī)的質控和過濾數(shù)據(jù)是fastqc+trimmomatic,新出的fastp速度更快,操作更簡單,而且一次完成質控過濾和出圖。fastp是發(fā)表在《bioinfomatics》上的測序質控軟件,文章鏈接:https://academic.oup.com/bioinformatics/article/34/17/i884/5093234,可以直接通過掃描fastq文件完成從質控到處理的工作,詳細教程在:https://github.com/OpenGene/fastp
對數(shù)據(jù)自動進行全方位質控,生成人性化的報告。
過濾功能(低質量,太短,太多N……)。
對每一個序列的頭部或尾部,計算滑動窗內的質量均值,并將均值較低的子序列進行切除(類似Trimmomatic的做法,但是快非常多)。
全局剪裁 (在頭/尾部,不影響去重),對于Illumina下機數(shù)據(jù)往往最后一到兩個cycle需要這樣處理。
去除接頭污染。厲害的是,你不用輸入接頭序列,因為算法會自動識別接頭序列并進行剪裁。
對于雙端測序(PE)的數(shù)據(jù),軟件會自動查找每一對read的重疊區(qū)域,并對該重疊區(qū)域中不匹配的堿基對進行校正。
去除尾部的polyG。對于Illumina NextSeq/NovaSeq的測序數(shù)據(jù),因為是兩色法發(fā)光,polyG是常有的事,所以該特性對該兩類測序平臺默認打開。
對于PE數(shù)據(jù)中的overlap區(qū)間中不一致的堿基對,依據(jù)質量值進行校正
可以對帶分子標簽(UMI)的數(shù)據(jù)進行預處理,不管UMI在插入片段還是在index上,都可以輕松處理。
可以將輸出進行分拆,而且支持兩種模式,分別是指定分拆的個數(shù),或者分拆后每個文件的行數(shù)。
1. 軟件安裝
fastp安裝和使用都非常簡單,有conda的可以直接使用
conda install -c bioconda fastp
進行安裝
也可以自己下載安裝
wget http://opengene.org/fastp/fastp
chmod a+x ./fastp
2. 軟件使用
fastp使用非常簡單
單端測序輸入命令
fastp -i SRS7102712.fastq.gz -o SRS7102712.clean.fastq.gz
#-i 后接輸入文件名 -o 后接輸出文件名
雙端命令
fastp -i SRS7102712_1.fastq.gz -I SRS7102712_2.fastq.gz -o SRS7102712_1.clean.fastq.gz -O SRS7102712_2.clean.fastq.gz
#注意大小寫 i和o的大小寫分別代表兩個輸入文件和輸出文件
3. 功能介紹和結果解讀
獲得如下圖所示的4個文件

html后綴的文件可以使用圖文界面查看,樣板信息可以查看http://opengene.org/fastp/fast
獲得的新的fastq.gz文件就是cleandata,使用這個就可以直接進行轉錄組組裝了。
3.1過濾
fastp可以對低質量序列,較多N的序列,該功能默認是啟用的,但可以使用-Q參數(shù)關閉。使用-q參數(shù)來指定合格的phred質量值,比如-q 15表示質量值大于等于Q15的即為合格,然后使用-u參數(shù)來指定最多可以有多少百分比的質量不合格堿基。比如-q 15 -u 40表示一個read最多只能有40%的堿基的質量值低于Q15,否則會被扔掉。使用-n可以限定一個read中最多能有多少個N。
fastp還默認啟用了read長度過濾,但可以使用-L參數(shù)關閉。使用-l參數(shù)指定最低要求一個read有多長,比如-l 30表示低于30個堿基的read會被扔掉。這個功能可以用于實現(xiàn)常用的discard模式,以保證所有輸出的序列都一樣長
在fastp的HTML報告中,最頭上的Summary表格很清楚地顯示了過濾的統(tǒng)計信息,如下圖所示:

3.2 接頭處理
接頭(adapter)污染的處理是FASTQ文件預處理中很重要的一步。fastp默認啟用了接頭處理,但是可以使用-A命令來關掉。fastp可以自動化地查找接頭序列并進行剪裁,也就是說你可以不輸入任何的接頭序列,fastp全自動搞定了!對于SE數(shù)據(jù),你還是可以-a參數(shù)來輸入你的接頭,而對于PE數(shù)據(jù)則完全沒有必要,fastp基于PE數(shù)據(jù)的overlap分析可以更準確地查找接頭,去得更干凈,而且對于一些接頭本身就有堿基不匹配情況處理得更好。fastp對于接頭去除會有一個匯總的報告,如下圖所示:

5.3滑窗質量剪裁
很多時候,一個read的低質量序列都是集中在read的末端,也有少部分是在read的開頭。fastp支持像Trimmomatic那樣對滑動窗口中的堿基計算平均質量值,然后將不符合的滑窗直接剪裁掉。使用-5參數(shù)開啟在5’端,也就是read的開頭的剪裁,使用-3參數(shù)開啟在3’端,也就是read的末尾的剪裁。使用-W參數(shù)指定滑動窗大小,默認是4,使用-M參數(shù)指定要求的平均質量值,默認是20,也就是Q20。
5.4 PE數(shù)據(jù)的堿基校正
fastp支持對PE數(shù)據(jù)的每一對read進行分析,查找它們的overlap區(qū)間,然后對于overlap區(qū)間中不一致的堿基,如果發(fā)現(xiàn)其中一個質量非常高,而另一個非常低,則可以將非常低質量的堿基改為相應的非常高質量值的堿基值,如下圖所示:
image.png
上圖中所示的標紅的T堿基是低質量序列,和高質量的A不匹配,它會被校正為A。該校正功能默認沒有開啟使用-c參數(shù)可以啟用,對于一些對噪聲容忍度低的應用,比如液體活檢,建議開啟。
5.5全局剪裁
fastp可以對所有read在頭部和尾部進行統(tǒng)一剪裁,該功能在去除一些測序質量不好的cycle比較有用,比如151*2的PE測序中,最后一個cycle通常質量是非常低的,需要剪裁掉。使用-f和-t分別指定read1的頭部和尾部的剪裁,使用-F和-T分別指定read2的頭部和尾部的剪裁。
5.6 polyG剪裁
對于兩色發(fā)光法的Illumina設備(NextSeq /
NovaSeq),因為在沒有光信號情況下base calling的結果會返回G,所以在序列的尾端可能會出現(xiàn)較多的polyG,需要被去除。fastp會自動化地識別NextSeq / NovaSeq的數(shù)據(jù),然后進行polyG識別和剪裁。如果你想強制開啟該功能,可以指定-g參數(shù),如果想強制關閉該功能,則可以指定-G參數(shù)。
5.7分子標簽UMI處理
UMI在處理ctDNA類似的超低頻突變檢測應用中是十分有用的,為了更好地對帶UMI的FASTQ文件進行預處理,fastp也很好地支持了UMI預處理功能。該功能默認沒有啟用,需要使用-U參數(shù)開啟,另外需要使用--umi_loc來指定UMI所在的位置,它可以是(index1、 index2、 read1、 read2、 per_index、 per_read )中的一種,分別表示UMI是在index位置上,還是在插入片段中。如果指定了是在插入序列中,還需要使用 --umi_len 參數(shù)來指定UMI所占的堿基長度。
5.8輸出文件切分
很多時候我們需要對輸出的FASTQ進行切分,分成大小均勻的多個文件,這樣可以使用比對軟件并行地比對,提高并行處理的速度。fastp軟件也提供了相應的功能,并且支持了兩種模式,分別是使用參數(shù)-s指定切分后文件的個數(shù),或者使用-S參數(shù)指定每個切分后文件的行數(shù)。
6質控報告解讀
接下來,我們再看一下如何理解fastp生成的質控報告。fastp的報告在單一文件中同時包含了過濾前和過濾后的統(tǒng)計結果,如果是PE數(shù)據(jù),則同時包含了read1和read2的統(tǒng)計結果。之前我們已經(jīng)說過了,fastp會生成HTML的報告和JSON格式的報告。HTML報告的默認文件名是fastp.html,但是可以通過-h參數(shù)修改,JSON報告的默認文件名是fastp.json,但是可以通過-j參數(shù)修改。而且fastp報告還有一個標題,默認是fastp report,這個也可以通過-R參數(shù)修改為你想要的標題。JSON格式的報告是優(yōu)化過的,人機皆可讀,適合進階的用戶使用程序解析,而這里我們重點關注HTML格式的報告。
6.1質量分布曲線圖
我們第一關注的當然是質量,所以fastp提供了質量分布曲線,即每一個cycle的平均質量值,而且fastp同時提供了A/T/C/G四種不同堿基的平均質量,以及總的平均質量,如下圖所示:
image.png
從上圖我們可以看到,一共有5條曲線,分別是A/T/C/G和mean。而且HTML報告中的每一個項目和分項目都是可以點擊進行隱藏和展開的。
6.2堿基含量分布曲線
和質量分布曲線類似,堿基含量分布曲線也是按照每一個cycle來的,顯示了每一個位置的堿基含量。如下圖所示:
image
image
從圖中可以看到,fastp同時顯示了A/T/C/G/N/GC
的每一個位置的比例和總的比例。而且如果你覺得頭部那里比較亂看不清的話,可以用鼠標拉一個框,它就放大了。
6.3 KMER統(tǒng)計表格
fastp對5個堿基長度的所有組合的出現(xiàn)次數(shù)進行了統(tǒng)計,然后把它放在了一張表格中,表格的每一個元素為深背景白字,背景越深,則表示重復次數(shù)越多。這樣,一眼望去,就可以發(fā)現(xiàn)有哪一些異常的信息。image
從上面的KMER表格中,我們可以發(fā)現(xiàn),GGGGG的顏色特別深,從鼠標移上去之后顯示的信息中我們可以發(fā)現(xiàn)它的出現(xiàn)次數(shù)是平均次數(shù)的12.8倍,這是不正常的,因為GGGGG的正常倍數(shù)應該在1倍左右。幸好我們有fastp,它可以過濾掉這種polyG,讓數(shù)值較多地回歸正常。
6.4過表達序列(overrepresented sequence)
fastp的最新版本(v0.12)提供了overrepresetned
sequence的分析,而且不但提供了這些overrepresented sequence的序列個數(shù)和占比,還提供了他們在測序cycles中的分布情況,這有利于分析各種問題。具體示例如下圖所示:
image.png
fastp軟件還在不斷更新中,目前每星期都有新功能開發(fā)出來,所以要想了解fastp軟件的最新動態(tài),請關注該軟件的github項目地址https://github.com/OpenGene/fas
知乎參考鏈接:https://zhuanlan.zhihu.com/p/33601691





