乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      fastp: 極速全能的FASTQ文件自動(dòng)質(zhì)控 過濾 校正 預(yù)處理軟件

       萌小芊 2017-12-14

      軟件作者介紹

      陳實(shí)富博士,海普洛斯聯(lián)合創(chuàng)始人 / CTO


      海普洛斯是全球領(lǐng)先的精準(zhǔn)醫(yī)療和基因大數(shù)據(jù)國家高新技術(shù)企業(yè),擁有 Illumina NovaSeq、 HiSeq X10、NextSeq等全系列測序儀,致力于整合液體活檢、基因測序、人工智能、大數(shù)據(jù)等前沿新興科技,讓每一個(gè)生命健康 120 年。海普洛斯擁有很好的開源文化,發(fā)起和維護(hù)了開源基因數(shù)據(jù)分析項(xiàng)目組 OpenGene。

      目前,陳博士正在招聘生物信息攻城獅(文末附招聘需求),如果你有興趣加入這個(gè)開放而富有情懷的團(tuán)隊(duì),請(qǐng)加他的微信(WeChat ID:opengene),或者直接將簡歷砸向 chen@haplox.com。


      第一部分

         引言   


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


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


      該項(xiàng)目的 github 地址請(qǐng)戳:

      https://github.com/OpenGene/fastp

      第二部分

         功能特點(diǎn)   


      先來看一看該軟件的功能列表:

       fastp軟件十大功能列表 

      1、對(duì)數(shù)據(jù)自動(dòng)進(jìn)行全方位質(zhì)控,生成人性化的報(bào)告;

      2、過濾功能(低質(zhì)量,太短,太多N......);

      3、對(duì)每一個(gè)序列的頭部或尾部,計(jì)算滑動(dòng)窗內(nèi)的質(zhì)量均值,并將均值較低的子序列進(jìn)行切除(類似 Trimmomatic 的做法,但是快非常多);

      4、全局剪裁 (在頭/尾部,不影響去重),對(duì)于 Illumina 下機(jī)數(shù)據(jù)往往最后一到兩個(gè) cycle 需要這樣處理;

      5、去除接頭污染。厲害的是,你不用輸入接頭序列,因?yàn)樗惴〞?huì)自動(dòng)識(shí)別接頭序列并進(jìn)行剪裁; 

      6、對(duì)于雙端測序(PE)的數(shù)據(jù),軟件會(huì)自動(dòng)查找每一對(duì)read的重疊區(qū)域,并對(duì)該重疊區(qū)域中不匹配的堿基對(duì)進(jìn)行校正;

      7、去除尾部的 polyG。對(duì)于NextSeq/NovaSeq 的測序數(shù)據(jù),因?yàn)槭莾缮òl(fā)光,polyG 是常有的事,所以該特性對(duì)該兩類測序平臺(tái)默認(rèn)打開;

      8、對(duì)于PE數(shù)據(jù)中的overlap區(qū)間中不一致的堿基對(duì),依據(jù)質(zhì)量值進(jìn)行校正;

      9、可以對(duì)帶分子標(biāo)簽(UMI)的數(shù)據(jù)進(jìn)行預(yù)處理,不管UMI在插入片段還是在index 上,都可以輕松處理;

      10、可以將輸出進(jìn)行分拆,而且支持兩種模式,分別是指定分拆的個(gè)數(shù),或者分拆后每個(gè)文件的行數(shù)。 


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


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


      而且軟件的開發(fā)者還充分考慮到了各種自動(dòng)化分析的需求,不但生成了人可讀的HTML 報(bào)告,還生成了程序可讀性非常強(qiáng)的 JSON 結(jié)果,該 JSON 報(bào)告中的數(shù)據(jù)包含了 HTML 報(bào)告 100%的信息,而且該 JSON 文件的格式還是特殊定制的,不但程序讀得爽,你用任何一款文本編輯器打開,一眼過去也會(huì)看得明明白白。想要看一下 JSON 結(jié)果長什么樣的,可以去以下鏈接:http:///fastp/fastp.json

      第三部分

         輕松上手  


      看起來這個(gè)軟件功能非常多,那使用起來是不是非常復(fù)雜呢?非也!


      該軟件的使用非常簡單,默認(rèn)情況下只需要指定輸入和輸出文件,就可以很好地工作。例如我們想對(duì) in.fq 文件進(jìn)行過濾和質(zhì)控,并輸出 clean data 為 out.fq,那么就可以使用以下的命令:

      fastp -i in.fq -o out.fq


      即使用小寫的 i 和小寫的 o 分別指定 input 和 output 文件,就大功告成啦。軟件執(zhí)行完成之后,會(huì)生成 out.fq,還會(huì)生成兩個(gè)文件 fastp.html 和 fastp.json。其中fastp.html 是可視化的 QC 質(zhì)控報(bào)告以及各類過濾統(tǒng)計(jì),而 fastp.json 是 JSON 版本的報(bào)告,主要用于下游程序來解讀質(zhì)控和過濾的結(jié)果。而且 fastp 會(huì)同時(shí)統(tǒng)計(jì)過濾前(raw data)和過濾后(clean data)的質(zhì)量信息,以方便你分析過濾前后數(shù)據(jù)質(zhì)量發(fā)生了什么變化,夠貼心吧?以上例子是對(duì)單端測序數(shù)據(jù)(single-end,SE)進(jìn)行的,那對(duì)于雙端測序數(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ù),所以對(duì)于 PE 數(shù)據(jù)開發(fā)了更多的算法,比如基于 overlap 分析進(jìn)行堿基校正等功能,就是只有 PE 數(shù)據(jù)獨(dú)享的。fastp 對(duì)于輸入和輸出都支持 gzip 壓縮,使用方法也很簡單,只要文件名的末尾帶有.gz,就會(huì)被認(rèn)為是 gzip 壓縮文件,會(huì)啟用 gzip 對(duì)輸入輸出進(jìn)行壓縮和解壓處理,例如以上 PE 的例子,如果是壓縮的,就可以是以下命令:

      fastp -i in.R1.fq.gz -I in.R2.fq.gz -o out.R1.fq.gz -O out.R2.fq.gz



      第四部分

        安裝fastp  


      安裝 fastp 十分簡單,如果你使用的是 Linux 系統(tǒng),可以直接使用網(wǎng)站上??供的預(yù)編譯好的版本,下載地址是 http:///fastp/fastp,可以使用 wget等命令進(jìn)行下載,下載了之后記得使用 chmod a+x ./fastp 增加該文件的可執(zhí)行權(quán)限,然后就可以使用了。


      也可以從源代碼進(jìn)行編譯,需要使用 git 工具或者直接在網(wǎng)頁上下載 release 的源代碼,以 git 下載最新的代碼為例:
      git clone 
      https://github.com/OpenGene/fastp.git

      cd fastp

      make

      sudo make install

      第五部分

        功能介紹  


      接下來我們簡單介紹一下 fastp 的一些功能,受公眾號(hào)篇幅影響,每一個(gè)功能我們都只是簡單地帶過,如果想要看詳細(xì)的介紹,可以上 github 官網(wǎng)上查看。


      5.1

      過濾


      對(duì)于低質(zhì)量序列,較多 N 的序列,該功能默認(rèn)是啟用的,但可以使用-Q參數(shù)關(guān)閉。使用-q 參數(shù)來指定合格的 phred 質(zhì)量值,比如-q 15 表示質(zhì)量值大于等于Q15 的即為合格,然后使用-u 參數(shù)來指定最多可以有多少百分比的質(zhì)量不合格堿基。比如-q 15 -u 40 表示一個(gè) read 最多只能有 40%的堿基的質(zhì)量值低于Q15,否則會(huì)被扔掉。使用-n 可以限定一個(gè) read 中最多能有多少個(gè) N。


      fastp 還默認(rèn)啟用了 read 長度過濾,但也可以使用-L 參數(shù)關(guān)閉。使用-l 參數(shù)指定最低要求一個(gè) read 有多長,比如-l 30 表示低于 30 個(gè)堿基的 read 會(huì)被扔掉。這個(gè)功能可以用于實(shí)現(xiàn)常用的 discard 模式,以保證所有輸出的序列都一樣長。


      在 fastp 的 HTML 報(bào)告中,最頭上的 Summary 表格很清楚地顯示了過濾的統(tǒng)計(jì)信息,如下圖所示:



      5.2

      接頭處理


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



      5.3

      滑窗質(zhì)量裁剪


      很多時(shí)候,一個(gè) read 的低質(zhì)量序列都是集中在 read 的末端,也有少部分是在 read的開頭。fastp 支持像 Trimmomatic 那樣對(duì)滑動(dòng)窗口中的堿基計(jì)算平均質(zhì)量值,然后將不符合的滑窗直接剪裁掉。使用-5 參數(shù)開啟在 5’端,也就是 read 的開頭的剪裁,使用-3 參數(shù)開啟在 3’端,也就是 read 末尾的剪裁。使用-W 參數(shù)指定滑動(dòng)窗大小,默認(rèn)是 4,使用-M 參數(shù)指定要求的平均質(zhì)量值,默認(rèn)是 20,也就是 Q20。


      5.4

       PE 數(shù)據(jù)的堿基校正


      fastp 支持對(duì) PE 數(shù)據(jù)的每一對(duì) read 進(jìn)行分析,查找它們的 overlap 區(qū)間,然后對(duì)于 overlap 區(qū)間中不一致的堿基,如果發(fā)現(xiàn)其中一個(gè)質(zhì)量非常高,而另一個(gè)非常低,則可以將非常低質(zhì)量的堿基改為相應(yīng)的非常高質(zhì)量值的堿基值,如下圖所示:


      上圖中所示的標(biāo)紅的 T 堿基是低質(zhì)量序列,和高質(zhì)量的 A 不匹配,它會(huì)被校正為 A。該校正功能默認(rèn)沒有開啟使用-c 參數(shù)可以啟用,對(duì)于一些對(duì)噪聲容忍度低的應(yīng)用,比如液體活檢,建議開啟。


      5.5

      全局剪裁


      fastp 可以對(duì)所有 read 在頭部和尾部進(jìn)行統(tǒng)一剪裁,該功能在去除一些測序質(zhì)量不好的 cycle 比較有用,比如 151*2 的 PE 測序中,最后一個(gè) cycle 通常質(zhì)量是非常低的,需要剪裁掉。使用-f 和-t 分別指定 read1 的頭部和尾部的剪裁,使用-F和-T 分別指定 read2 的頭部和尾部的剪裁。


      5.6

      polyG 剪裁


      對(duì)于兩色發(fā)光法的 Illumina 設(shè)備(NextSeq / NovaSeq),因?yàn)樵跊]有光信號(hào)情況下 base calling 的結(jié)果會(huì)返回 G,所以在序列的尾端可能會(huì)出現(xiàn)較多的 polyG,需要被去除。fastp會(huì)自動(dòng)化地識(shí)別NextSeq / NovaSeq的數(shù)據(jù),然后進(jìn)行polyG識(shí)別和剪裁。如果你想強(qiáng)制開啟該功能,可以指定-g 參數(shù),如果想強(qiáng)制關(guān)閉該功能,則可以指定-G 參數(shù)。


      5.7

      分子標(biāo)簽 UMI 處理


      UMI 在處理 ctDNA 類似的超低頻突變檢測應(yīng)用中是十分有用的,為了更好地對(duì)帶 UMI 的 FASTQ 文件進(jìn)行預(yù)處理,fastp 也很好地支持了 UMI 預(yù)處理功能。該功能默認(rèn)沒有啟用,需要使用-U 參數(shù)開啟,另外需要使用--umi_loc 來指定 UMI所在的位置,它可以是(index1、index2、read1、read2、per_index、per_read )中的一種,分別表示 UMI 是在 index 位置上,還是在插入片段中。如果指定了是在插入序列中,還需要使用 --umi_len 參數(shù)來指定 UMI 所占的堿基長度。


      5.8

      輸出文件切分


      很多時(shí)候我們需要對(duì)輸出的 FASTQ 進(jìn)行切分,分成大小均勻的多個(gè)文件,這樣可以使用比對(duì)軟件并行地比對(duì),高并行處理的速度。fastp 軟件也??供了相應(yīng)的功能,并且支持了兩種模式,分別是使用參數(shù)-s 指定切分后文件的個(gè)數(shù),或者使用-S 參數(shù)指定每個(gè)切分后文件的行數(shù)。


      第六部分

        質(zhì)控報(bào)告解讀  


      接下來,我們?cè)倏匆幌氯绾卫斫?fastp 生成的質(zhì)控報(bào)告。


      fastp 的報(bào)告在單一文件中同時(shí)包含了過濾前和過濾后的統(tǒng)計(jì)結(jié)果,如果是 PE 數(shù)據(jù),則同時(shí)包含了 read1和 read2 的統(tǒng)計(jì)結(jié)果。之前我們已經(jīng)說過了,fastp 會(huì)生成 HTML 的報(bào)告和 JSON格式的報(bào)告。HTML 報(bào)告的默認(rèn)文件名是 fastp.html,但是可以通過-h 參數(shù)修改,JSON 報(bào)告的默認(rèn)文件名是 fastp.json,但是可以通過-j 參數(shù)修改。而且 fastp 報(bào)告還有一個(gè)標(biāo)題,默認(rèn)是 fastp report,這個(gè)也可以通過-R 參數(shù)修改為你想要的標(biāo)題。JSON 格式的報(bào)告是優(yōu)化過的,人機(jī)皆可讀,適合進(jìn)階的用戶使用程序解析,而這里我們重點(diǎn)關(guān)注 HTML 格式的報(bào)告。


      6.1

      質(zhì)量含量分布曲線


      我們第一關(guān)注的當(dāng)然是質(zhì)量,所以 fastp ??供了質(zhì)量分布曲線,即每一個(gè) cycle的平均質(zhì)量值,而且 fastp 同時(shí)??供了 A/T/C/G 四種不同堿基的平均質(zhì)量,以及總的平均質(zhì)量,如下圖所示:



      從上圖我們可以看到,一共有 5 條曲線,分別是 A/T/C/G 和 mean。而且 HTML報(bào)告的每一個(gè)項(xiàng)目和分項(xiàng)目都是可以點(diǎn)擊進(jìn)行隱藏和展開的。


      6.2

      堿基含量分布曲線


      和質(zhì)量分布曲線類似,堿基含量分布曲線也是按照每一個(gè) cycle 來的,顯示了每一個(gè)位置的堿基含量。如下圖所示:



      從圖中可以看到,fastp同時(shí)顯示了A/T/C/G/N/GC 的每一個(gè)位置的比例和總的比例。而且如果你覺得頭部那里比較亂看不清的話,可以用鼠標(biāo)拉一個(gè)框,它就放大了。


      6.3

      KMER 統(tǒng)計(jì)表格


      fastp 對(duì) 5 個(gè)堿基長度的所有組合的出現(xiàn)次數(shù)進(jìn)行了統(tǒng)計(jì),然后把它放在了一張表格中,表格的每一個(gè)元素為深背景白字,背景越深,則表示重復(fù)次數(shù)越多。這樣,一眼望去,就可以發(fā)現(xiàn)有哪些異常的信息。



      從上面的 KMER 表格中,我們可以發(fā)現(xiàn),GGGGG 的顏色特別深,從鼠標(biāo)移上去之后顯示的信息中我們可以發(fā)現(xiàn)它的出現(xiàn)次數(shù)是平均次數(shù)的 12.8 倍,這是不正常的,因?yàn)?GGGGG 的正常倍數(shù)應(yīng)該在 1 倍左右。幸好我們有 fastp,它可以過濾掉這種 polyG,讓數(shù)值較多地回歸正常。


      6.4

      過表達(dá)序列 


      fastp 的最新版本(v0.12)??供了過表達(dá)序列(overrepresetned sequence )的分析,而且不但供了這些 overrepresented sequence 的序列個(gè)數(shù)和占比,還??供了他們?cè)跍y序cycles 中的分布情況,這有利于分析各種問題。具體示例如下圖所示:




      第七部分

        結(jié)語  


      好了,本次 fastp 的介紹就到此結(jié)束了。


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

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多