一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

fastp: 一款超快速全功能的FASTQ文件自動化質(zhì)控+過濾校正預(yù)...

 我的生信收藏 2018-05-23
 本帖最后由 ZARL1114 于 2018-2-3 14:21 編輯

fastp: 一款超快速全功能的FASTQ文件自動化質(zhì)控+過濾+校正+預(yù)處理軟件
file://localhost/Users/zarl_bioinformatics/Library/Group%20Containers/UBF8T346G9.Office/msoclip1/01/clip_image002.png
軟件作者簡介:陳實富,海普洛斯 聯(lián)合創(chuàng)始人 / CTO
海普洛斯是全球領(lǐng)先的精準醫(yī)療和基因大數(shù)據(jù)國家高新技術(shù)企業(yè),擁有Illumina NovaSeq, HiSeq X10, NextSeq等全系列測序儀,致力于整合液體活檢、基因測序、人工智能、大數(shù)據(jù)等前沿新興科技,讓每一個生命健康120年。海普洛斯擁有很好的開源文化,發(fā)起和維護了開源基因數(shù)據(jù)分析項目組OpenGene。目前陳實富博士正在招聘生物信息攻城獅(本文末尾有招聘需求),如果你有興趣加入這個開放而富有情懷的團隊,可以加他的微信(搜索opengene),或者直接將簡歷砸向 chen@haplox.com。


1引言
各位做生信的小伙伴都知道,對于下機的FASTQ數(shù)據(jù)需要進行質(zhì)控和預(yù)處理,以保證下游分析輸入的數(shù)據(jù)都是干凈可靠的。通常我們都是使用FASTQC等軟件進行質(zhì)控,使用cutadapt軟件去除接頭,使用Trimmomatic等軟件進行剪裁,然后使用一些自已開發(fā)的腳本進行過濾。這一過程可能需要使用多個軟件,相當(dāng)繁瑣,而且速度較慢,這些軟件大多又不支持多線程,遇到較大的FASTQ文件,處理起來可真是讓人等得心急如焚。

所以今天給大家介紹一款新的軟件,名字叫fastp,它可以僅僅掃描FASTQ文件一次,就完成比FASTQC+ cutadapt + Trimmomatic 這三個軟件加起來的功能還多很多的功能,而且速度上比僅僅使用Trimmomatic一個軟件還要快3倍左右,因為它使用C++開發(fā),處處使用了高效算法,而且完美支持多線程!正因為其強大的功能和飛快的速度,其github項目在第一個版本發(fā)布至今才一個月左右,就已經(jīng)收到了50多個star,這在生信軟件小領(lǐng)域里面算是神速了!而且該軟件更新頻繁,至今已發(fā)布了14版,每一版都有新功能加入!該項目的github地址請戳:https://github.com/OpenGene/fastp

2功能特點
先來看一看該軟件的功能列表:
l   對數(shù)據(jù)自動進行全方位質(zhì)控,生成人性化的報告。
l   過濾功能(低質(zhì)量,太短,太多N……)。
l   對每一個序列的頭部或尾部,計算滑動窗內(nèi)的質(zhì)量均值,并將均值較低的子序列進行切除(類似Trimmomatic的做法,但是快非常多)。
l   全局剪裁 (在頭/尾部,不影響去重),對于Illumina下機數(shù)據(jù)往往最后一到兩個cycle需要這樣處理。
l   去除接頭污染。厲害的是,你不用輸入接頭序列,因為算法會自動識別接頭序列并進行剪裁。
l   對于雙端測序(PE)的數(shù)據(jù),軟件會自動查找每一對read的重疊區(qū)域,并對該重疊區(qū)域中不匹配的堿基對進行校正。
l   去除尾部的polyG。對于Illumina NextSeq/NovaSeq的測序數(shù)據(jù),因為是兩色法發(fā)光,polyG是常有的事,所以該特性對該兩類測序平臺默認打開。
l   對于PE數(shù)據(jù)中的overlap區(qū)間中不一致的堿基對,依據(jù)質(zhì)量值進行校正
l   可以對帶分子標簽(UMI)的數(shù)據(jù)進行預(yù)處理,不管UMI在插入片段還是在index上,都可以輕松處理。
l   可以將輸出進行分拆,而且支持兩種模式,分別是指定分拆的個數(shù),或者分拆后每個文件的行數(shù)。

以上功能大多都不需要輸入太多的參數(shù),一些功能默認已經(jīng)開啟,但是可以用參數(shù)關(guān)閉。fastp完美支持gzip的輸入和輸出,同時支持SE和PE數(shù)據(jù),而且不但支持像Illumina平臺的short read數(shù)據(jù),也在一定程度上支持了PacBio/Nanopore的long reads數(shù)據(jù)。

fastp軟件會生成HTML格式的報告,而且該報告中沒有任何一張靜態(tài)圖片,所有的圖表都是使用JavaScript動態(tài)繪制,非常具有交互性。想要看一下樣板報告的,可以去以下鏈接:http:///fastp/fastp.html

而且軟件的開發(fā)者還充分考慮到了各種自動化分析的需求,不但生成了人可讀的HTML報告,還生成了程序可讀性非常強的JSON結(jié)果,該JSON報告中的數(shù)據(jù)包含了HTML報告100%的信息,而且該JSON文件的格式還是特殊定制的,不但程序讀得爽,你用任何一款文本編輯器打開,一眼過去也會看得明明白白。想要看一下JSON結(jié)果長什么樣的,可以去以下鏈接:http:///fastp/fastp.json
3輕松上手
看起來這個軟件功能非常多,那使用起來是不是非常復(fù)雜呢?非也!該軟件的使用非常簡單,默認情況下只需要指定輸入和輸出文件,就可以很好地工作。例如我們想對in.fq文件進行過濾和質(zhì)控,并輸出clean data為out.fq,那么就可以使用以下的命令:
fastp-i in.fq -o out.fq
即使用小寫的i和小寫的o分別指定input和output文件,就大功告成啦。軟件執(zhí)行完成之后,會生成out.fq,還會生成兩個文件fastp.html和fastp.json。其中fastp.html是可視化的QC質(zhì)控報告以及各類過濾統(tǒng)計,而fastp.json是JSON版本的報告,主要用于下游程序來解讀質(zhì)控和過濾的結(jié)果。而且fastp會同時統(tǒng)計過濾前(raw data)和過濾后(clean data)的質(zhì)量信息,以方便你分析過濾前后數(shù)據(jù)質(zhì)量發(fā)生了什么變化,夠貼心吧?
以上例子是對單端測序數(shù)據(jù)(single-end,SE)進行的,那對于雙端測序數(shù)據(jù)(paired-end,PE)是不是也可以呢?答案自然是肯定的,而且命令也基本上差不多,示例如下:
fastp-i in.R1.fq -o out.R1.fq -I in.R2.fq -O out.R2.fq
可以看到,-i和-o還是用來指定read1的輸入了輸出,而大寫的-I和-O(注意是,而不是)則是用于指定read2的輸入和輸出,其他都保持不變。而且fastp軟件最初的研發(fā)就是為了更好地處理PE數(shù)據(jù),所以對于PE數(shù)據(jù)開發(fā)了更多的算法,比如基于overlap分析進行堿基校正等功能,就是只有PE數(shù)據(jù)獨享的。
fastp對于輸入和輸出都支持gzip壓縮,使用方法也很簡單,只要文件名的末尾帶有.gz,就會被認為是gzip壓縮文件,會啟用gzip對輸入輸出進行壓縮和解壓處理,例如以上PE的例子,如果是壓縮的,就可以是以下命令:
fastp-i in.R1.fq.gz -I in.R2.fq.gz -o out.R1.fq.gz -O out.R2.fq.gz

4安裝fastp
安裝fastp十分簡單,如果你使用的是Linux系統(tǒng),可以直接使用網(wǎng)站上提供的預(yù)編譯好的版本,下載地址是 http:///fastp/fastp,可以使用wget等命令進行下載,下載了之后記得使用 chmod a+x ./fastp 增加該文件的可執(zhí)行權(quán)限,然后就可以使用了。
也可以從源代碼進行編譯,需要使用git工具或者直接在網(wǎng)頁上下載release的源代碼,以git下載最新的代碼為例:
cdfastp
make
sudomake install

5功能介紹
接下來我們簡單介紹一下fastp的一些功能,受公眾號篇幅影響,每一個功能我們都只是簡單地帶過,如果想要看詳細的介紹,可以上github官網(wǎng)上查看。
5.1過濾
fastp可以對低質(zhì)量序列,較多N的序列,該功能默認是啟用的,但可以使用-Q參數(shù)關(guān)閉。使用-q參數(shù)來指定合格的phred質(zhì)量值,比如-q 15表示質(zhì)量值大于等于Q15的即為合格,然后使用-u參數(shù)來指定最多可以有多少百分比的質(zhì)量不合格堿基。比如-q 15 -u 40表示一個read最多只能有40%的堿基的質(zhì)量值低于Q15,否則會被扔掉。使用-n可以限定一個read中最多能有多少個N。
fastp還默認啟用了read長度過濾,但可以使用-L參數(shù)關(guān)閉。使用-l參數(shù)指定最低要求一個read有多長,比如-l 30表示低于30個堿基的read會被扔掉。這個功能可以用于實現(xiàn)常用的discard模式,以保證所有輸出的序列都一樣長。
在fastp的HTML報告中,最頭上的Summary表格很清楚地顯示了過濾的統(tǒng)計信息,如下圖所示:
file://localhost/Users/zarl_bioinformatics/Library/Group%20Containers/UBF8T346G9.Office/msoclip1/01/clip_image004.png
5.2接頭處理
接頭(adapter)污染的處理是FASTQ文件預(yù)處理中很重要的一步。fastp默認啟用了接頭處理,但是可以使用-A命令來關(guān)掉。fastp可以自動化地查找接頭序列并進行剪裁,也就是說你可以不輸入任何的接頭序列,fastp全自動搞定了!對于SE數(shù)據(jù),你還是可以-a參數(shù)來輸入你的接頭,而對于PE數(shù)據(jù)則完全沒有必要,fastp基于PE數(shù)據(jù)的overlap分析可以更準確地查找接頭,去得更干凈,而且對于一些接頭本身就有堿基不匹配情況處理得更好。fastp對于接頭去除會有一個匯總的報告,如下圖所示:
file://localhost/Users/zarl_bioinformatics/Library/Group%20Containers/UBF8T346G9.Office/msoclip1/01/clip_image006.png
5.3滑窗質(zhì)量剪裁
很多時候,一個read的低質(zhì)量序列都是集中在read的末端,也有少部分是在read的開頭。fastp支持像Trimmomatic那樣對滑動窗口中的堿基計算平均質(zhì)量值,然后將不符合的滑窗直接剪裁掉。使用-5參數(shù)開啟在5’端,也就是read的開頭的剪裁,使用-3參數(shù)開啟在3’端,也就是read的末尾的剪裁。使用-W參數(shù)指定滑動窗大小,默認是4,使用-M參數(shù)指定要求的平均質(zhì)量值,默認是20,也就是Q20。
5.4 PE數(shù)據(jù)的堿基校正
fastp支持對PE數(shù)據(jù)的每一對read進行分析,查找它們的overlap區(qū)間,然后對于overlap區(qū)間中不一致的堿基,如果發(fā)現(xiàn)其中一個質(zhì)量非常高,而另一個非常低,則可以將非常低質(zhì)量的堿基改為相應(yīng)的非常高質(zhì)量值的堿基值,如下圖所示:
file://localhost/Users/zarl_bioinformatics/Library/Group%20Containers/UBF8T346G9.Office/msoclip1/01/clip_image008.png
上圖中所示的標紅的T堿基是低質(zhì)量序列,和高質(zhì)量的A不匹配,它會被校正為A。該校正功能默認沒有開啟使用-c參數(shù)可以啟用,對于一些對噪聲容忍度低的應(yīng)用,比如液體活檢,建議開啟。
5.5全局剪裁
fastp可以對所有read在頭部和尾部進行統(tǒng)一剪裁,該功能在去除一些測序質(zhì)量不好的cycle比較有用,比如151*2的PE測序中,最后一個cycle通常質(zhì)量是非常低的,需要剪裁掉。使用-f和-t分別指定read1的頭部和尾部的剪裁,使用-F和-T分別指定read2的頭部和尾部的剪裁。
5.6 polyG剪裁
對于兩色發(fā)光法的Illumina設(shè)備(NextSeq /NovaSeq),因為在沒有光信號情況下base calling的結(jié)果會返回G,所以在序列的尾端可能會出現(xiàn)較多的polyG,需要被去除。fastp會自動化地識別NextSeq / NovaSeq的數(shù)據(jù),然后進行polyG識別和剪裁。如果你想強制開啟該功能,可以指定-g參數(shù),如果想強制關(guān)閉該功能,則可以指定-G參數(shù)。
5.7分子標簽UMI處理
UMI在處理ctDNA類似的超低頻突變檢測應(yīng)用中是十分有用的,為了更好地對帶UMI的FASTQ文件進行預(yù)處理,fastp也很好地支持了UMI預(yù)處理功能。該功能默認沒有啟用,需要使用-U參數(shù)開啟,另外需要使用--umi_loc來指定UMI所在的位置,它可以是(index1、 index2、read1、 read2、 per_index、 per_read )中的一種,分別表示UMI是在index位置上,還是在插入片段中。如果指定了是在插入序列中,還需要使用 --umi_len 參數(shù)來指定UMI所占的堿基長度。
5.8輸出文件切分
很多時候我們需要對輸出的FASTQ進行切分,分成大小均勻的多個文件,這樣可以使用比對軟件并行地比對,提高并行處理的速度。fastp軟件也提供了相應(yīng)的功能,并且支持了兩種模式,分別是使用參數(shù)-s指定切分后文件的個數(shù),或者使用-S參數(shù)指定每個切分后文件的行數(shù)。
6質(zhì)控報告解讀
接下來,我們再看一下如何理解fastp生成的質(zhì)控報告。fastp的報告在單一文件中同時包含了過濾前和過濾后的統(tǒng)計結(jié)果,如果是PE數(shù)據(jù),則同時包含了read1和read2的統(tǒng)計結(jié)果。之前我們已經(jīng)說過了,fastp會生成HTML的報告和JSON格式的報告。HTML報告的默認文件名是fastp.html,但是可以通過-h參數(shù)修改,JSON報告的默認文件名是fastp.json,但是可以通過-j參數(shù)修改。而且fastp報告還有一個標題,默認是fastp report,這個也可以通過-R參數(shù)修改為你想要的標題。JSON格式的報告是優(yōu)化過的,人機皆可讀,適合進階的用戶使用程序解析,而這里我們重點關(guān)注HTML格式的報告。
6.1質(zhì)量分布曲線圖
我們第一關(guān)注的當(dāng)然是質(zhì)量,所以fastp提供了質(zhì)量分布曲線,即每一個cycle的平均質(zhì)量值,而且fastp同時提供了A/T/C/G四種不同堿基的平均質(zhì)量,以及總的平均質(zhì)量,如下圖所示:
file://localhost/Users/zarl_bioinformatics/Library/Group%20Containers/UBF8T346G9.Office/msoclip1/01/clip_image010.png
從上圖我們可以看到,一共有5條曲線,分別是A/T/C/G和mean。而且HTML報告中的每一個項目和分項目都是可以點擊進行隱藏和展開的。
6.2堿基含量分布曲線
和質(zhì)量分布曲線類似,堿基含量分布曲線也是按照每一個cycle來的,顯示了每一個位置的堿基含量。如下圖所示:
file://localhost/Users/zarl_bioinformatics/Library/Group%20Containers/UBF8T346G9.Office/msoclip1/01/clip_image012.png
file://localhost/Users/zarl_bioinformatics/Library/Group%20Containers/UBF8T346G9.Office/msoclip1/01/clip_image014.png
從圖中可以看到,fastp同時顯示了A/T/C/G/N/GC的每一個位置的比例和總的比例。而且如果你覺得頭部那里比較亂看不清的話,可以用鼠標拉一個框,它就放大了。
6.3 KMER統(tǒng)計表格
fastp對5個堿基長度的所有組合的出現(xiàn)次數(shù)進行了統(tǒng)計,然后把它放在了一張表格中,表格的每一個元素為深背景白字,背景越深,則表示重復(fù)次數(shù)越多。這樣,一眼望去,就可以發(fā)現(xiàn)有哪一些異常的信息。
file://localhost/Users/zarl_bioinformatics/Library/Group%20Containers/UBF8T346G9.Office/msoclip1/01/clip_image016.png
從上面的KMER表格中,我們可以發(fā)現(xiàn),GGGGG的顏色特別深,從鼠標移上去之后顯示的信息中我們可以發(fā)現(xiàn)它的出現(xiàn)次數(shù)是平均次數(shù)的12.8倍,這是不正常的,因為GGGGG的正常倍數(shù)應(yīng)該在1倍左右。幸好我們有fastp,它可以過濾掉這種polyG,讓數(shù)值較多地回歸正常。
6.4過表達序列(overrepresented sequence)

fastp的最新版本(v0.12)提供了overrepresetnedsequence的分析,而且不但提供了這些overrepresented sequence的序列個數(shù)和占比,還提供了他們在測序cycles中的分布情況,這有利于分析各種問題。具體示例如下圖所示:


7結(jié)語
好了,本次fastp的介紹就到此結(jié)束了,fastp軟件還在不斷更新中,目前每星期都有新功能開發(fā)出來,所以要想了解fastp軟件的最新動態(tài),請關(guān)注該軟件的github項目地址https://github.com/OpenGene/fastp

8招聘信息
目前,海普洛斯生物信息學(xué)團隊正在召喚以下精英人才:
崗位一:生物信息學(xué)分析主管(科研服務(wù)方向)
要求:
5年以上生物信息學(xué)分析相關(guān)經(jīng)驗
3年以上科服領(lǐng)域分析經(jīng)驗和2年以上的團隊帶領(lǐng)經(jīng)驗
精通 Python/R/C/C++/WEB/SHELL/Perl編程技術(shù)中的一種或多種
熟悉 Linux/docker/git 等基礎(chǔ)應(yīng)用工具
精通單細胞WGS/WES、RNA-Seq、BS-Seq、腫瘤WGS/WES等分析中的多種

崗位二:生物信息學(xué)工程師(科研服務(wù)方向)
要求:
2年以上生物信息學(xué)分析相關(guān)經(jīng)驗
1年以上科服領(lǐng)域分析經(jīng)驗
熟悉Python/R/C/C++/WEB/SHELL/Perl 編程技術(shù)中的一種或多種
熟悉單細胞WGS、單細胞WES、RNA-Seq、BS-Seq、腫瘤WGS/WES等分析中的兩種以上

崗位三:生物信息學(xué)軟件開發(fā)工程師
要求:
對編程的極度熱愛,并熱衷于使用IT技術(shù)解讀生命密碼
對生物信息學(xué)較深度的了解
精通C/C++/Python/R/Go/WEB編程技術(shù)的兩種或以上
熟悉 FASTQ/BAM/SAM/VCF 等不同的數(shù)據(jù)格式和相應(yīng)的操作庫

以上崗位,除了主管之外,都可以實習(xí),而且如果你足夠優(yōu)秀,以上的條件多條都可以作廢??蛇x的工作地點有兩個,穿衣很省空氣好的深圳,或者風(fēng)景秀麗房價低的江西上饒。如果有小伙伴想要加入團隊,體驗開源開放的團隊文化和全棧的開發(fā)環(huán)境,請速速將你的簡歷傳送到chen@haplox.com,并抄送到hr@haplox,或者掃一掃添加以下微信進行勾搭(微信號:opengene):






    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    日本欧美三级中文字幕| 91国内视频一区二区三区| 国产精品久久香蕉国产线| 成人午夜在线视频观看| 深夜日本福利在线观看| 欧美成人国产精品高清| 丝袜人妻夜夜爽一区二区三区| 在线观看国产成人av天堂野外| 国产精品久久熟女吞精| 日本av一区二区不卡| 91免费一区二区三区| 久久精品一区二区少妇| 欧美一区二区在线日韩| 国产欧美日产久久婷婷| 夫妻性生活动态图视频| 日本男人女人干逼视频| 国产色偷丝袜麻豆亚洲| 久久99一本色道亚洲精品| 午夜精品福利视频观看| 九九热视频免费在线视频| 欧美精品激情视频一区| 欧美成人免费一级特黄| 激情亚洲一区国产精品久久| 欧美日韩国产精品自在自线| 国产一二三区不卡视频| 国产精品日韩欧美一区二区| 中文字幕在线五月婷婷| 精品精品国产欧美在线| 国产精品免费福利在线| 欧美日韩一区二区午夜| 国产不卡一区二区四区| 国产精品国产亚洲看不卡 | 俄罗斯胖女人性生活视频| 日本人妻的诱惑在线观看| 老司机精品视频在线免费看| 国产精品视频一区二区秋霞| 少妇在线一区二区三区| 日本午夜一本久久久综合| 亚洲天堂精品在线视频| 绝望的校花花间淫事2| 欧美大黄片在线免费观看|