上一節(jié)我們對(duì)原始數(shù)據(jù)進(jìn)行了質(zhì)量檢測(cè)绅你,對(duì)于質(zhì)量比較好的數(shù)據(jù)我們可以直接進(jìn)行后續(xù)分析,而對(duì)于一般質(zhì)量的昭躺,或者質(zhì)量較差的忌锯,我們就需要對(duì)數(shù)據(jù)進(jìn)行進(jìn)一步的清洗過(guò)濾了。
前文我們提到领炫,下機(jī)數(shù)據(jù)中可能包含以下幾類(lèi)不合格數(shù)據(jù):
- 測(cè)序質(zhì)量低 :低質(zhì)量堿基(即質(zhì)量分?jǐn)?shù)為小于10的堿基)占整條序列的30%以上偶垮。
- 序列含接頭 :接頭序列未去除干凈或者由于測(cè)序讀長(zhǎng)較短測(cè)穿了的數(shù)據(jù)。
- 含N比例較高:由于機(jī)器設(shè)備或者其他原因,導(dǎo)致堿基未測(cè)出的似舵。
- 測(cè)序錯(cuò)誤的序列等
這塊比較好的幾款軟件都在 Github (程序員搞基大本營(yíng)) 上建立了各自的開(kāi)源項(xiàng)目脚猾。
1. 幾款常用軟件 (排序不分先后)
1.1 fastp
業(yè)內(nèi)同行海普洛斯小伙伴們的一個(gè)開(kāi)源項(xiàng)目,這里要向海普洛斯 CTO 陳實(shí)富博士(推廣到了我們生信人員大本營(yíng))致敬砚哗。
該程序由 C++開(kāi)發(fā)龙助,支持多線程,能實(shí)現(xiàn)多個(gè)功能蛛芥,操作簡(jiǎn)便提鸟,支持較多,開(kāi)發(fā)也較為活躍仅淑,個(gè)人推薦使用:
- 可以過(guò)濾低質(zhì)量數(shù)據(jù) (如較低的質(zhì)量分?jǐn)?shù)称勋,較短的序列,含 N 較多的序列等等)
- 可以實(shí)現(xiàn)剪切序列的首尾兩端
- 可以通過(guò)對(duì)滑動(dòng)窗口的平均質(zhì)量的評(píng)價(jià)涯竟,對(duì) 5' 和 3' 端序列進(jìn)行剪切(這個(gè)功能與Trimmomatic 軟件功能相似赡鲜,但是速度卻更快)
- 可以自動(dòng)檢測(cè)街頭序列并做切除
- 對(duì)于PE數(shù)據(jù)中的overlap區(qū)間中不一致的堿基對(duì),依據(jù)質(zhì)量值進(jìn)行校正
- 支持三代測(cè)序或四代測(cè)序的long reads (nanopore / pacbio的數(shù)據(jù))
- 生成 html/json 報(bào)告庐船,有助于直觀的查看银酬,json 格式更利于一些大型流程的串寫(xiě)
- 其他等一系列功能(軟件還在開(kāi)發(fā)階段,可以直接和作者團(tuán)隊(duì)交流醉鳖,提一些相關(guān)建議)
題外話:軟件安裝不外乎兩種方式(主要針對(duì)Linux捡硅,其他系統(tǒng)大都相似):
- 二進(jìn)制程序直接下載使用 (建議初學(xué)者使用)
- 下載源代碼進(jìn)行編譯
## 軟件安裝:
## fastp 有編譯好的二進(jìn)制可執(zhí)行文件版本哮内,我們直接下載使用
wget http://opengene.org/fastp/fastp
chmod a+x ./fastp
## 使用起來(lái)也比較簡(jiǎn)單
fastp -i in.fq -o out.fq
參數(shù)不少盗棵,但是說(shuō)明給的還比較詳細(xì)。具體可以查看網(wǎng)頁(yè)北发。
會(huì)輸出過(guò)濾后的結(jié)果纹因,fq/fq.gz 格式,同時(shí)還有 json 和 html 格式的報(bào)告琳拨,具體內(nèi)容見(jiàn) 示例報(bào)告
1.2 AfterQC
fastp 前身瞭恰,python語(yǔ)言寫(xiě)的。輸出內(nèi)容比較豐富狱庇,但是速度較慢惊畏,開(kāi)發(fā)團(tuán)隊(duì)推薦 使用 fastp 。
## 軟件安裝(由于是 python包密任,推薦使用 bioconda安裝)
conda install afterqc
## 也可以直接下載
wget -c https://github.com/OpenGene/AfterQC/archive/master.zip
## 解壓后使用
unzip master.zip
## 用法比較簡(jiǎn)單
# SE
python after.py -1 R1.fq
# PE
python after.py -1 R1.fq -2 R2.fq
生成的報(bào)告比較豐富:
Example: http://opengene.org/AfterQC/report.html
1.3 SOAPnuke
華大看家工具集 SOAP 系列之一颜启。適用于多種數(shù)據(jù)類(lèi)型 ( mRNA,small RNA浪讳,DEG... )
## 軟件下載安裝
git clone https://github.com/BGI-flexlab/SOAPnuke.git
cd SOAPnuke/src
cmake .
make
./SOAPnuke
## 軟件使用
SOAPnuke filter --cut 0 --qualRate 0.5 --index --lowQual 5 --nRate 0.1 -Q 2 -5 1 -1 ZJ-2-1-A_1.fq.gz -2 ZJ-2-1-A_2.fq.gz -o output/ZJ1Rep1 -C ZJ1Rep1_1.fq -D ZJ1Rep1_2.fq
結(jié)果展示如下:
這些文件詳細(xì)的展示了序列過(guò)濾的具體情況缰盏。
1.4 seqtk
李恒大神(不知道此人的請(qǐng)自行百度)寫(xiě)的一款過(guò)濾軟件。
四個(gè)字點(diǎn)評(píng):短小精悍!
## 下載安裝
git clone https://github.com/lh3/seqtk.git;
cd seqtk;
make
該軟件功能豐富口猜,具體示例詳見(jiàn)說(shuō)明文檔:https://github.com/lh3/seqtk
我們重點(diǎn)關(guān)注 fqchk
與trimfq
功能:
1.5 Trimmomatic
老牌軟件啦负溪,java 寫(xiě)的,說(shuō)明文檔:manual。
## 下載安裝
wget -c http://www.usadellab.org/cms/uploads/supplementary/Trimmomatic/Trimmomatic-0.36.zip
## 解壓軟件包
unzip Trimmomatic-0.36.zip
## 軟件使用示例
# PE
java -jar trimmomatic-0.35.jar PE -phred33 input_forward.fq.gz input_reverse.fq.gz output_forward_paired.fq.gz output_forward_unpaired.fq.gz output_reverse_paired.fq.gz output_reverse_unpaired.fq.gz ILLUMINACLIP:TruSeq3-PE.fa:2:30:10 LEADING:3 TRAILING:3 SLIDINGWINDOW:4:15 MINLEN:36
# SE
java -jar trimmomatic-0.35.jar SE -phred33 input.fq.gz output.fq.gz ILLUMINACLIP:TruSeq3-SE:2:30:10 LEADING:3 TRAILING:3 SLIDINGWINDOW:4:15 MINLEN:36
參數(shù)說(shuō)明:
PE/SE 設(shè)定對(duì)Paired-End或Single-End的reads進(jìn)行處理济炎,其輸入和輸出參數(shù)稍有不一樣川抡。
-threads 設(shè)置多線程運(yùn)行數(shù)
-phred33 設(shè)置堿基的質(zhì)量格式,可選pred64
ILLUMINACLIP:TruSeq3-PE.fa:2:30:10 切除adapter序列冻辩。參數(shù)后面分別接adapter序列的fasta文件:允許的最大 mismatch 數(shù):palindrome 模式下匹配堿基數(shù)閾值:simple模式下的匹配堿基數(shù)閾值猖腕。
LEADING:3 切除首端堿基質(zhì)量小于3的堿基
TRAILING:3 切除尾端堿基質(zhì)量小于3的堿基
SLIDINGWINDOW:4:15 從5'端開(kāi)始進(jìn)行滑動(dòng),當(dāng)滑動(dòng)位點(diǎn)周?chē)欢涡蛄?window)的平均堿基低于閾值恨闪,則從該處進(jìn)行切除倘感。Windows的size是4個(gè)堿基,其平均堿基
質(zhì)量小于15咙咽,則切除老玛。
MINLEN:50 最小的reads長(zhǎng)度
CROP:<length> 保留reads到指定的長(zhǎng)度
HEADCROP:<length> 在reads的首端切除指定的長(zhǎng)度
TOPHRED33 將堿基質(zhì)量轉(zhuǎn)換為pred33格式
TOPHRED64 將堿基質(zhì)量轉(zhuǎn)換為pred64格式
2. 其他數(shù)據(jù)過(guò)濾軟件:
QcReads
由中科院昆明動(dòng)物所開(kāi)發(fā)的一個(gè)快速、高效的高通量測(cè)序reads去接頭和去低質(zhì)量序列工具钧敞。
cutadapt
從名字可以很直觀的看出來(lái)這是一款去接頭的軟件啦~
fastx_toolkit
二代測(cè)序經(jīng)典數(shù)據(jù)質(zhì)控過(guò)濾軟件蜡豹,只是 2010 年后就沒(méi)有維護(hù)更新啦~
喜歡折騰的可以去官網(wǎng)或者 github 上逛逛:
官網(wǎng)
GitHub
SOAPnuke 軟件編譯這塊稍顯復(fù)雜,之前華大網(wǎng)站有放出編譯好的 SOAPnuke 程序溉苛,可惜找不到了镜廉。文中所列軟件,如果有需要的話愚战,各位下伙伴可以后臺(tái)回復(fù)索取(Linux 版本)娇唯。
歡迎補(bǔ)充討論。
下節(jié)我們?cè)敿?xì)討論各個(gè)軟件生成的報(bào)告寂玲。
3. 小尾巴.命令詳解
今天的小尾巴是 chmod
.
chmod命令用來(lái)變更文件或目錄的權(quán)限塔插。在UNIX系統(tǒng)家族里,文件或目錄權(quán)限的控制分別以讀取拓哟、寫(xiě)入想许、執(zhí)行3種一般權(quán)限來(lái)區(qū)分,另有3種特殊權(quán)限可供運(yùn)用断序。用戶(hù)可以使用chmod指令去變更文件與目錄的權(quán)限流纹,設(shè)置方式采用文字或數(shù)字代號(hào)皆可。符號(hào)連接的權(quán)限無(wú)法變更违诗,如果用戶(hù)對(duì)符號(hào)連接修改權(quán)限漱凝,其改變會(huì)作用在被連接的原始文件。
語(yǔ)法:
chmod [-cfvR] [--help] [--version] mode file...
權(quán)限范圍的表示法如下:
u User较雕,即文件或目錄的擁有者碉哑;
g Group挚币,即文件或目錄的所屬群組;
o Other扣典,除了文件或目錄擁有者或所屬群組之外妆毕,其他用戶(hù)皆屬于這個(gè)范圍;
a All贮尖,即全部的用戶(hù)笛粘,包含擁有者,所屬群組以及其他用戶(hù)湿硝;
r 讀取權(quán)限薪前,數(shù)字代號(hào)為“4”;
w 寫(xiě)入權(quán)限,數(shù)字代號(hào)為“2”关斜;
x 執(zhí)行或切換權(quán)限示括,數(shù)字代號(hào)為“1”;
- 不具任何權(quán)限痢畜,數(shù)字代號(hào)為“0”垛膝;
s 特殊功能說(shuō)明:變更文件或目錄的權(quán)限。
來(lái)自: http://man.linuxde.net/chmod
參考資料
http://journal.embnet.org/index.php/embnetjournal/article/view/200/479
http://hannonlab.cshl.edu/fastx_toolkit/index.html
http://not.farbox.com/page/9
https://zhuanlan.zhihu.com/p/28924793
https://disease.novogene.org/topic/305/%E4%BD%BF%E7%94%A8trimmomatic%E8%BF%87%E6%BB%A4%E4%BD%8E%E8%B4%A8%E9%87%8F%E5%BA%8F%E5%88%97?page=1
http://not.farbox.com/post/fastx_toolkit