中的邊進(jìn)行復(fù)制,并將復(fù)制的邊加入最終拼接圖的邊集中,此外,還可保留第一個(gè)錨點(diǎn)邊之前的邊及其弧關(guān)系、以及最后一個(gè)錨點(diǎn)邊之后的邊及其弧關(guān)系,從而可保證后續(xù)分析時(shí)數(shù)據(jù)的完整性。在圖9中,帶有小黑點(diǎn)標(biāo)記的長方形表示錨點(diǎn)邊,無標(biāo)記的表示正常邊,帶有下標(biāo)r標(biāo)記的表示重復(fù)邊,這些邊一般都有分叉,需要對(duì)其弧關(guān)系進(jìn)行處理。在獲得最后的錨點(diǎn)D到錨點(diǎn)L之間的邊集的過程中,將其間遇到的重復(fù)邊復(fù)制一份,將復(fù)制的內(nèi)容加入到邊集,而原來的邊序列留在原處,原來的邊弧關(guān)系依舊留在原處,重新建立新的邊與前后邊之間的弧關(guān)系。處理后的結(jié)果如圖9中箭頭下方所示,這樣得到一條由錨點(diǎn)D開始、L結(jié)束的一條長路徑,最終連成一條長contig。
[0043]綜上步驟S1-S13,本實(shí)施例的優(yōu)點(diǎn)在于,首先,在把連通的Illumina數(shù)據(jù)比對(duì)到原始邊的過程中,允許一條read產(chǎn)生數(shù)條不連續(xù)的路徑信息,提高數(shù)據(jù)的利用率;其次,對(duì)原始邊進(jìn)行了類型識(shí)別后,后續(xù)可以針對(duì)不同類型的邊采取不同的處理措施;然后,根據(jù)路徑信息去除測(cè)序錯(cuò)誤,對(duì)錨點(diǎn)邊進(jìn)行篩選,提高可用錨點(diǎn)邊的數(shù)量和準(zhǔn)確性,其中錨點(diǎn)邊的選擇不僅限于單一序列,還包括重復(fù)序列里面的特異序列、雜合邊等,在選取的方法上,僅通過測(cè)序深度排除測(cè)序覆蓋度遠(yuǎn)大于平均覆蓋度的邊(不選為錨點(diǎn)邊),而且去除測(cè)序錯(cuò)誤是通過kmer圖的拓?fù)浣Y(jié)構(gòu)和reads支持路徑無沖突等條件來實(shí)現(xiàn);最后,把具有重疊關(guān)系的不同錨點(diǎn)邊的路徑合并,獲得更長的路徑,達(dá)到了解決錨點(diǎn)邊之間的重復(fù)序列的路徑選擇問題的目的;從而,在經(jīng)過后續(xù)的其它處理后,可以獲得更長contig序列。
[0044]圖10示出了本實(shí)施例的核酸序列拼接方法的詳細(xì)處理流程,圖示中虛線框部分為SOAPdenovo原有的模塊,實(shí)線框部分為本實(shí)施例發(fā)明新增的技術(shù)特征??梢?,本實(shí)施例以特異性好的原始邊為錨點(diǎn)邊,利用連通的Illumina數(shù)據(jù)的長度優(yōu)勢(shì),把不同的錨點(diǎn)邊連接起來。這種策略對(duì)于錨點(diǎn)邊之間的重復(fù)序列形成的拓?fù)浣Y(jié)構(gòu)沒有要求,避免了SOAPdenovo現(xiàn)有策略中對(duì)重復(fù)序列形成的拓?fù)浣Y(jié)構(gòu)的要求作出的限制,增加了可以解決重復(fù)的重復(fù)序列的數(shù)量。此外,本實(shí)施例還通過迭代過程選擇特異性較好的原始邊作為錨點(diǎn)邊,在每一輪的局部子圖處理與更新(即去除測(cè)序錯(cuò)誤的分叉,去除局部子圖中reads測(cè)序錯(cuò)誤指示的錯(cuò)誤路徑等),將再進(jìn)行新一輪的錨點(diǎn)邊選取,直至再也無法選取出新的滿足條件(即前述錨點(diǎn)邊的相關(guān)定義)的未被選取過的錨點(diǎn)邊為止。
[0045]依據(jù)本發(fā)明的另一方面,還提供與前述核酸序列拼接方法相對(duì)應(yīng)的拼接裝置,其包括:
接收模塊,用于接收測(cè)序序列,所述測(cè)序序列包括reads和連通數(shù)據(jù);
原始構(gòu)建模塊,用于根據(jù)reads構(gòu)建原始拼接圖; 比對(duì)模塊,用于將連通數(shù)據(jù)比對(duì)到原始拼接圖的邊上;
選擇模塊,用于從原始拼接圖的邊集中選擇錨點(diǎn)邊,錨點(diǎn)邊的兩端沒有分叉且跨過該錨點(diǎn)邊的讀段的路徑?jīng)]有沖突;
子圖構(gòu)建模塊,用于構(gòu)建以錨點(diǎn)邊為中心的局部子圖;
化簡模塊,用于化簡所述局部子圖,在化簡結(jié)果中重復(fù)選擇錨點(diǎn)邊進(jìn)行處理直至不存在新的錨點(diǎn)邊;
合并模塊,用于對(duì)處理后剩余的局部子圖進(jìn)行合并,將合并結(jié)果作為拼接結(jié)果輸出。
[0046]上述模塊的實(shí)現(xiàn)可參考前述方法實(shí)施例中相關(guān)的描述,不作重述。此外,一種實(shí)施例還提供一種采用該核酸序列拼接裝置的基因組測(cè)序設(shè)備。
[0047]以下結(jié)合具體核酸序列對(duì)依據(jù)本發(fā)明的核酸序列拼接方法或裝置的運(yùn)行結(jié)果進(jìn)行詳細(xì)的描述。
[0048]在具體實(shí)例中,選取的是玉米I號(hào)染色體模擬數(shù)據(jù),玉米I號(hào)染色體是高重復(fù)基因組序列,重復(fù)序列達(dá)到60%以上,在模擬數(shù)據(jù)中,首先模擬了 40X插入片段長度在180左右,reads長度為10bp的數(shù)據(jù),然后根據(jù)SOAPdenovo的特點(diǎn),模擬了插入片段長度為500和800bp的數(shù)據(jù)各10X,2K,5K,10K數(shù)據(jù)各10Χ。在模擬數(shù)據(jù)生成以后,利用中國華大基因開發(fā)的COPE軟件對(duì)插入長度為180的40Χ數(shù)據(jù)進(jìn)行連接,用連接后的數(shù)據(jù)與其它數(shù)據(jù)一起進(jìn)行組裝。為了說明效果,還進(jìn)行了與S0apden0V02.0結(jié)果的比照,即在相同數(shù)據(jù)與參數(shù)的前提下,分別用兩個(gè)版本的程序進(jìn)行組裝,比較組裝結(jié)果。
[0049](I) contig組裝結(jié)果與結(jié)果分析
首先,在相同參數(shù)和前期數(shù)據(jù)的情況下,用S0APdenovo2.0 (這里稱為舊版本oldvers1n)與采用本發(fā)明實(shí)施例(這里稱為新版本New vers1n)分別構(gòu)建contig, contig組裝結(jié)果如圖11所示的Maize chrl contig組裝結(jié)果,圖示中參數(shù)K表示用于構(gòu)建原始拼接圖所使用的kmer的長度,_d表示去除出現(xiàn)頻率小于d參數(shù)所設(shè)定的值的kmer, -R表示用reads跨過解決原始拼接圖中由于重復(fù)序列導(dǎo)致的重復(fù)結(jié)構(gòu)(該值在舊版本的程序中只能簡單處理短reads能跨過的簡單的結(jié)構(gòu),在新版本的程序中是指使用選取錨點(diǎn)構(gòu)建子圖的方式解決原始拼接圖中由于重復(fù)序列導(dǎo)致的復(fù)雜結(jié)構(gòu)),-M表示合并由于雜合形成的bubble結(jié)構(gòu)(根據(jù)雜合率的不同,可以設(shè)置1、2、3三個(gè)檔值),readLen表示讀段長度(包含使用COPE等工具將測(cè)通讀段連通后的最長讀段長度)。
[0050]玉米是高重復(fù)基因組,從采用S0APdenovo2.0版本來看,N50, N90都很短,新版本通過利用連通數(shù)據(jù)或是測(cè)通的長reads解重復(fù)處理后,contig N50.N90都有很大提升,N50都從200-300bp提升至2K以上??傮w而言,對(duì)于玉米這樣高重復(fù)的基因組,新版本在contig的N50、N90提升是較為明顯的。
[0051](2) scaffold組裝結(jié)果與結(jié)果分析
對(duì)玉米I號(hào)染色體模擬數(shù)據(jù),在相同參數(shù)和前期數(shù)據(jù)的情況下,用soapdenovo2.0與新版本分別構(gòu)建scaffold, scaffold組裝結(jié)果如圖12所示的Maize chrl scaffold構(gòu)建結(jié)果,圖示中Size_includeN表示包含有用N填充洞內(nèi)序列的總長度,Size_withoutN表示剔除用N表示的序列后的總長度,ScafTold_Num表示支架個(gè)數(shù),Mean_Size表示支架的平均長度,Longest_Seq表示最長支架長度,Singleton_Num表示支架結(jié)果序列中不含N的序列的個(gè)數(shù),這種一般是沒有參與構(gòu)建支架的重疊群序列,Average_length_of_break (N) _in_scaffold表示將支架里面填充的N剔除后的序列平均長度。
[0052]從組裝結(jié)果看,對(duì)于不同K值組裝的scaffold在N50,N90,平均長度等方面,新版本相對(duì)于舊版本都有了很大的提升,K=63的結(jié)果中,scaffold N50從616996上升到1753939,N90也是從127bp提升到了 119133bp??偟膩碚f,新版本contig結(jié)果的改進(jìn)也帶來了 scaffold的提升,最終獲得更好的組裝效果。
[0053](3)組裝結(jié)果評(píng)價(jià)與結(jié)果分析
首先,對(duì)Maize基因組contig評(píng)價(jià)結(jié)果與分析。將組裝后的contig比對(duì)到reference上,獲得組裝后的contig的比對(duì)數(shù)量,基因組覆蓋度等相關(guān)信息,如圖13所示的Maizechrl contig評(píng)價(jià)結(jié)果,圖不中contig_num表不contig的個(gè)數(shù),contig_size表不所有contig序列的長度總和,contig_coverage表示contig總長與基因組總長度的比值,aligned_num表示比對(duì)上參數(shù)序列的contig數(shù)目,aligned_size表示比對(duì)上參數(shù)序列的contig的總長度,aligned_coverage表示比對(duì)上的contig長度與基因組總長的比值,genome_covered_len表示contig序列覆蓋上的基因組序列的長度,genome_coverage表示contig序列比對(duì)上基因組的長度與基因組總長的比值,mismatch_base表示比對(duì)上的contig的錯(cuò)配堿基數(shù),mismatch_rat1表示錯(cuò)配堿基比例,indel_base表示插入缺失堿基數(shù),indel_rat1表示插入缺失堿基比例。
[0054]從比對(duì)結(jié)果看,舊版本組裝結(jié)果中,contig數(shù)量更多,即短碎contig居多,最后在統(tǒng)計(jì)contig總長時(shí)候舊版本的contig總長更長,新版本為了使子圖簡化,以方便重復(fù)路徑的處理,在contig前去除部分低覆蓋度的分叉,這樣操作的結(jié)果可能會(huì)誤刪除掉部分正確的路徑,導(dǎo)致最后基因覆蓋度略有下降,這可以借助后續(xù)的補(bǔ)洞把這部分補(bǔ)回來,見補(bǔ)洞后scaftig基因覆蓋度(參見圖14所示)。此外,新版本在indel與mismatch的數(shù)量與比例上有明顯下降,這說明新版本相比舊版本準(zhǔn)確度有所提升。
[0055]其次,對(duì)Maize基因組scaffold補(bǔ)洞后scaftig (將補(bǔ)洞的N去掉后的序列)結(jié)果統(tǒng)計(jì)與評(píng)價(jià)分析,如圖14所示的Maize基因組補(bǔ)洞后scaftig統(tǒng)計(jì)結(jié)果,圖示中N50表示將序列按照長度從大