本申請實(shí)施例涉及計(jì)算機(jī)領(lǐng)域,并且更具體地,涉及一種用于基因分析的資源分配方法和裝置。
背景技術(shù):
隨著脫氧核糖核酸(deoxyribonucleicacid,dna)測序技術(shù)的進(jìn)步,基因分析已成為檢測和針對性治療遺傳和突變類疾病的重要手段。
其中,基因是指攜帶有遺傳信息的dna序列。dna是一種長鏈聚合物,組成單位包括四種脫氧核苷酸,dna的載體可以稱為染色體。
簡單來說,基因分析包括以下三個(gè)階段:dna測序(sequencing),dna序列拼裝(assembly)與變異識別(variantcalling),以及基因注釋(annotation)與分析。
在dna測序中,dna會被打斷成多個(gè)片段,然后由測序儀同時(shí)對幾十到幾百萬條片段進(jìn)行同時(shí)測序。測序輸出的堿基符號序列可以稱為堿基序列讀串。
dna序列拼裝與變異識別是利用計(jì)算機(jī)方法將測序儀輸出的堿基序列讀串(read)拼裝為dna序列,并通過比對參考dna發(fā)現(xiàn)變異堿基位點(diǎn)的過程。具體地,將測序儀輸出的堿基序列讀串進(jìn)行回帖,確定各個(gè)讀串的坐標(biāo),其中,經(jīng)回貼處理后坐標(biāo)已知的讀串稱為已定序讀串;然后,可以以各個(gè)染色體區(qū)域?yàn)閷ο?,對各個(gè)染色體區(qū)域的已定序讀串進(jìn)行整理和變異識別;并對各個(gè)染色體區(qū)域的變異識別結(jié)果進(jìn)行合并。
染色體區(qū)域的整理和異變識別任務(wù)需要大量的計(jì)算資源,因此亟需一種合理的資源分配方法,來提升計(jì)算資源利用效率和基因分析的執(zhí)行效率。
技術(shù)實(shí)現(xiàn)要素:
本申請實(shí)施例提供了一種用于基因分析作業(yè)的資源分配方法和裝置,可 以有效的利用計(jì)算資源。
第一方面,提供了一種用于基因分析的資源分配方法,包括:根據(jù)目標(biāo)染色體區(qū)域中的已定序讀串,確定該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值;根據(jù)該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值,為基因分析中針對該目標(biāo)染色體區(qū)域中的已定序讀串的整理與異變識別任務(wù)中的操作分配計(jì)算資源。
在本申請實(shí)施例中,根據(jù)染色體區(qū)域中的已定序讀串,來獲取用于資源分配的參數(shù)值,并根據(jù)該參數(shù)值,為已定序讀串的整理與異變識別任務(wù)中的操作分配計(jì)算資源,可以實(shí)現(xiàn)根據(jù)染色體區(qū)域中的已定序讀串,動(dòng)態(tài)調(diào)度計(jì)算資源,從而可以實(shí)現(xiàn)有效的資源利用。
結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)包括:所述目標(biāo)染色體區(qū)域中的已定序讀串的數(shù)量和所述目標(biāo)染色體區(qū)域中的位點(diǎn)的平均覆蓋深度的至少一種。
其中,染色體區(qū)域中的已定序讀串的數(shù)量是指覆蓋該染色體區(qū)域的已定序讀串的數(shù)量。染色體區(qū)域中位點(diǎn)的平均覆蓋深度值可以通過以下方式計(jì)算:計(jì)算覆蓋該染色體區(qū)域的所有已定序讀串的長度值之和,將覆蓋該染色體區(qū)域的所有已定序讀串的長度值之和除以該染色體區(qū)域的長度值,以商值作為該染色體區(qū)域中的位點(diǎn)的平均覆蓋深度值。
在本申請實(shí)施例中,堿基在dna出現(xiàn)的位置稱為位點(diǎn)。已定序讀串是指經(jīng)回貼處理后具有明確染色體坐標(biāo)的讀串。
結(jié)合第一方面或其上述任一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述根據(jù)目標(biāo)染色體區(qū)域中的已定序讀串,獲得所述目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值,包括:根據(jù)覆蓋在所述目標(biāo)染色體區(qū)域中的位點(diǎn)上的已定序讀串的數(shù)量值,獲得所述目標(biāo)染色體區(qū)域中位點(diǎn)的覆蓋深度值;根據(jù)所述目標(biāo)染色體區(qū)域中位點(diǎn)的覆蓋深度值,確定所述目標(biāo)染色體區(qū)域中的間隙,從而得到以所述間隙為間隔的所述目標(biāo)染色體區(qū)域的至少兩個(gè)片段,其中,所述間隙中位點(diǎn)的覆蓋深度值低于第一閾值,所述間隙為所述目標(biāo)染色體區(qū)域的片段或位點(diǎn),所述至少兩個(gè)片段不包括所述間隙;將所述目標(biāo)染色體區(qū)域的所述至少兩個(gè)片段中的全部或部分片段確定為目標(biāo)片段;將所述目標(biāo)片段的數(shù)量、所述目標(biāo)片段的長度、所述目標(biāo)片段中的已定序讀串的數(shù)量和所述目標(biāo)片段的覆蓋深度中的至少一種,作為所述目標(biāo)染 色體區(qū)域的用于資源分配的參數(shù),所述目標(biāo)片段的覆蓋深度為所述目標(biāo)片段中位點(diǎn)的平均覆蓋深度;獲得所述目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值。
其中,目標(biāo)片段中的已定序讀串的數(shù)量是指覆蓋該目標(biāo)片段的已定序讀串的數(shù)量。目標(biāo)片段的長度可以是指該目標(biāo)片段所具有的位點(diǎn)的數(shù)量。目標(biāo)片段中的位點(diǎn)的平均覆蓋深度值可以通過以下方式計(jì)算:計(jì)算該目標(biāo)片段內(nèi)的已定序讀串的長度值之和,將該目標(biāo)片段內(nèi)的已定序讀串的長度值之和除以該目標(biāo)片段的長度值,以商值作為該目標(biāo)片段中的位點(diǎn)的平均覆蓋深度值。
結(jié)合第一方面或其上述任一種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述根據(jù)目標(biāo)染色體區(qū)域中的已定序讀串,獲得所述目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值,包括:根據(jù)覆蓋在所述目標(biāo)染色體區(qū)域中的位點(diǎn)上的已定序讀串的數(shù)量值,獲得所述目標(biāo)染色體區(qū)域中位點(diǎn)的覆蓋深度值;根據(jù)所述目標(biāo)染色體區(qū)域中位點(diǎn)的覆蓋深度值,確定所述目標(biāo)染色體區(qū)域中的間隙,從而獲得以所述間隙為間隔的所述目標(biāo)染色體區(qū)域的至少兩個(gè)片段,其中,所述間隙中位點(diǎn)的覆蓋深度值低于第一閾值,所述間隙為所述目標(biāo)染色體區(qū)域的片段或位點(diǎn),所述至少兩個(gè)片段不包括所述間隙;將所述目標(biāo)染色體區(qū)域的所述至少兩個(gè)片段中的全部或部分片段確定為目標(biāo)片段,所述目標(biāo)片段的數(shù)量為至少兩個(gè);將所述目標(biāo)片段的覆蓋深度值的加權(quán)平均值,作為所述目標(biāo)染色體區(qū)域的用于資源分配的參數(shù),所述目標(biāo)片段的覆蓋深度為所述目標(biāo)片段中位點(diǎn)的平均覆蓋深度;獲得所述目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值。
結(jié)合第一方面的第三種可能的實(shí)現(xiàn)方式,在第一方面的第四種可能的實(shí)現(xiàn)方式中,所述獲取所述目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值,包括:將所述目標(biāo)片段中一個(gè)目標(biāo)片段的長度值與所述目標(biāo)染色體區(qū)域的長度值的比值,作為所述一個(gè)目標(biāo)片段的覆蓋深度值的權(quán)值,計(jì)算所述目標(biāo)片段的覆蓋深度值的加權(quán)平均值。
應(yīng)理解,此處中的一個(gè)目標(biāo)片段可以是指目標(biāo)染色體區(qū)域中的任一個(gè)目標(biāo)片段,也即,對任一目標(biāo)片段而言,均可以通過該目標(biāo)片段的長度值與目標(biāo)染色體區(qū)域的長度值的比值作為該目標(biāo)片段的覆蓋深度值的權(quán)值。
結(jié)合第一方面的第二種至第四種中任一種的實(shí)現(xiàn)方式,在第一方面的第五種可能的實(shí)現(xiàn)方式中,所述將所述目標(biāo)染色體區(qū)域的所述至少兩個(gè)片段中的全部或部分片段確定為所述目標(biāo)片段,包括:將所述目標(biāo)染色體區(qū)域的至 少兩個(gè)片段中已定序讀串的數(shù)量滿足預(yù)設(shè)的數(shù)量要求的片段,和所述目標(biāo)染色體區(qū)域的至少兩個(gè)片段中位點(diǎn)的平均覆蓋深度滿足預(yù)設(shè)的覆蓋深度要求的片段中至少一種,作為所述目標(biāo)片段。
例如,將該至少兩個(gè)片段中位點(diǎn)的平均覆蓋深度最大的k個(gè)片段的每個(gè)片段確定為該目標(biāo)片段;或?qū)⒃撝辽賰蓚€(gè)片段中位點(diǎn)的平均覆蓋深度大于第二閾值的每個(gè)片段確定為該目標(biāo)片段;或?qū)⒃撝辽賰蓚€(gè)片段中已定序讀串的數(shù)量最多的k個(gè)片段的每個(gè)片段確定為該目標(biāo)片段;或?qū)⒃摱鄠€(gè)片段中已定序讀串的數(shù)量大于第三閾值的每個(gè)片段確定為該目標(biāo)片段。
因此,在本申請實(shí)施例中,將位點(diǎn)的平均覆蓋深度低于閾值的間隙作為間隔,將染色體區(qū)域劃分為多個(gè)片段,并從該多個(gè)片段中選取目標(biāo)片段,將目標(biāo)片段的參數(shù)作為用于分配資源的參數(shù),可以局部統(tǒng)計(jì)讀串?dāng)?shù)量較多或覆蓋深度較大的片段,可以更好的確定目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)的偏斜情況。并且,進(jìn)一步地,將多個(gè)片段中的覆蓋深度較高或者讀串?dāng)?shù)量較多的片段選取為目標(biāo)片段,使得資源分配時(shí)參考的參數(shù)更有意義。
結(jié)合第一方面或其上述任一種可能的實(shí)現(xiàn)方式,在第一方面的第六種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值,為基因分析中針對所述目標(biāo)染色體區(qū)域中的已定序讀串的整理與變異識別任務(wù)中的操作分配計(jì)算資源,包括:獲取至少兩個(gè)染色體區(qū)域各自的用于資源分配的參數(shù)值的平均值;根據(jù)所述目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值,以及所述至少兩個(gè)染色體區(qū)域各自的用于資源分配的參數(shù)值的平均值,獲得所述目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值相對至少兩個(gè)染色體區(qū)域各自的用于資源分配的參數(shù)值的平均值的偏斜;根據(jù)所述偏斜,為所述操作分配計(jì)算資源。
結(jié)合第一方面的第六種可能的實(shí)現(xiàn)方式,在第一方面的第七種可能的實(shí)現(xiàn)方式中,所述至少兩個(gè)染色體區(qū)域包括所述目標(biāo)染色體區(qū)域。
結(jié)合第一方面的第六種或第七種可能的實(shí)現(xiàn)方式,在第一方面的第八種可能的實(shí)現(xiàn)方式中,所述偏斜包括:所述目標(biāo)片段的覆蓋深度值的加權(quán)平均值與所述至少兩個(gè)染色體區(qū)域各自的覆蓋深度值的加權(quán)平均值的比值,所述染色體區(qū)域的覆蓋深度包括所述染色體區(qū)域的至少兩個(gè)片段各自的位點(diǎn)的覆蓋深度值的加權(quán)平均值,或包括所述染色體區(qū)域的位點(diǎn)的平均覆蓋深度。
結(jié)合第一方面的第六種或第七種可能的實(shí)現(xiàn)方式,在第一方面的第九種 可能的實(shí)現(xiàn)方式中,所述偏斜包括:所述目標(biāo)染色體區(qū)域的已定序讀串的數(shù)量值與所述至少兩個(gè)染色體區(qū)域各自的已定序讀串的數(shù)量值的算術(shù)均值的比值。
應(yīng)理解,在本申請實(shí)施例中,也可以根據(jù)目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值與至少兩個(gè)染色體區(qū)域的各自的用于資源分配的參數(shù)值的平均值之差或其他方式來確定偏斜,只要能反映出目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值與至少兩個(gè)染色體區(qū)域的各自的用于資源分配的參數(shù)值的平均值的偏離程度即可。
還應(yīng)理解,不僅可以根據(jù)目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值對至少兩個(gè)染色體區(qū)域各自的用于資源分配的參數(shù)值的平均值的偏斜,來進(jìn)行資源的分配,還可以通過其他方式進(jìn)行計(jì)算資源的分配。例如,根據(jù)目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值來進(jìn)行資源的分配,而不考慮至少兩個(gè)染色體區(qū)域各自的用于資源分配的參數(shù)值的平均值。
還應(yīng)理解,本申請實(shí)施例可以同時(shí)考慮多個(gè)參數(shù)進(jìn)行資源的分配。
結(jié)合第一方面的第六種至第九種任一種可能的實(shí)現(xiàn)方式,在第一方面的第十種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述偏斜,為所述操作分配計(jì)算資源,包括:根據(jù)所述偏斜,對用于實(shí)現(xiàn)所述操作的初始計(jì)算資源進(jìn)行調(diào)整,以得到所述計(jì)算資源。
在本申請實(shí)施例中,在進(jìn)行資源分配時(shí),如果確定某一任務(wù)所需的計(jì)算資源較多,可以將預(yù)分配給所需計(jì)算量較少的任務(wù)的一部分資源,重新分配給所需計(jì)算資源較多的任務(wù)?;蛘撸梢圆桓淖冾A(yù)分配給所需計(jì)算資源較少的任務(wù)的計(jì)算資源,而是將其他計(jì)算資源(還未被預(yù)分配的備用計(jì)算資源)分配給所需的計(jì)算資源較多的任務(wù)。
可選地,在本申請實(shí)施例中,在已存在預(yù)先配置的計(jì)算資源,可以按照以下計(jì)算方式更新資源分配計(jì)劃:
r-update=r+[t×(x-region/x-average-1)×p]=
<r-cpu_cores+[t×(x-region/x-average-1)×p-cpu_cores],
r-mem+[t×(x-region/x-average-1)×p-mem],
r-gpu+[t×(x-region/x-average-1)×p-gpu],
r-fpga+[t×(x-region/x-average-1)×p-fpga]>,
其中,x-region為目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值,x-average 為至少兩個(gè)染色體區(qū)域的用于資源分配的參數(shù)值的平均值;r<r-cpu_cores,r-mem,r-gpu,r-fpga>為已定序讀串的整理與變異識別任務(wù)的某一個(gè)或多個(gè)操作的基礎(chǔ)資源分配計(jì)劃,用于分別描述預(yù)先分配的執(zhí)行該一個(gè)或多個(gè)操作所需的cpu核、內(nèi)存、gpu和fpga資源;p<p-cpu_cores,p-mem,p-gpu,p-fpga>描述該一個(gè)或多個(gè)操作的資源分配調(diào)整單元;t為調(diào)節(jié)參數(shù);[]為取整運(yùn)算符。
因此,在本申請實(shí)施例中,通過根據(jù)染色體區(qū)域的已定序讀串,判斷各染色體區(qū)域分析任務(wù)的計(jì)算量差異,引導(dǎo)調(diào)度系統(tǒng)為復(fù)雜分析任務(wù)優(yōu)先分配優(yōu)勢計(jì)算資源,提升基因分析作業(yè)的整體性能,提升分析系統(tǒng)計(jì)算資源利用效率,從整體上降低基因分析作業(yè)的時(shí)間開銷。
結(jié)合第一方面或其上述任一種可能的實(shí)現(xiàn)方式,在第一方面的第十一種可能的實(shí)現(xiàn)方式中,所述至少一種操作包括去重操作、過濾操作、局部重排操作、堿基質(zhì)量分?jǐn)?shù)校正操作和變異識別操作中的至少一種。
可選地,由于去重操作、過濾操作、局部重排和堿基質(zhì)量分?jǐn)?shù)校正操作與目標(biāo)染色體區(qū)域的已定序讀串?dāng)?shù)量的相關(guān)性較大,則可以在該去重操作、過濾操作、局部重排和堿基質(zhì)量分?jǐn)?shù)校正操作中每個(gè)操作之前均根據(jù)染色體區(qū)域的經(jīng)過前置處理的已定序讀串的數(shù)量,進(jìn)行資源分配,或者僅在去重操作之前根據(jù)染色體區(qū)域的已定序讀串的數(shù)量進(jìn)行資源分配。
可選地,由于變異識別操作與目標(biāo)片段的覆蓋深度值的加權(quán)平均值相關(guān)性較大,因此可以在變異識別操作之前根據(jù)染色體區(qū)域的經(jīng)過前置處理的已定序讀串的數(shù)量,確定目標(biāo)片段以及確定目標(biāo)片段的覆蓋深度值的加權(quán)平均值,并進(jìn)行資源分配。
結(jié)合第一方面或其上述任一種可能的實(shí)現(xiàn)方式,在第一方面的第十二種可能的實(shí)現(xiàn)方式中,所述計(jì)算資源,包括:中央處理單元資源,內(nèi)存資源、圖像處理單元資源和現(xiàn)場可編程門陣列資源中的至少一種。
第二方面,提供了一種用于基因分析的資源分配裝置,該裝置包括獲取單元,用于根據(jù)目標(biāo)染色體區(qū)域中的已定序讀串,獲得所述目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值;分配單元,用于根據(jù)所述目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值,為基因分析中針對所述目標(biāo)染色體區(qū)域中的已定序讀串的整理與異變識別任務(wù)中的操作分配計(jì)算資源。
結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)包括:所述目標(biāo)染色體區(qū)域中的已定序讀串的 數(shù)量和所述目標(biāo)染色體區(qū)域中的位點(diǎn)的平均覆蓋深度的至少一種。
結(jié)合第二方面,在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述獲取單元用于:根據(jù)覆蓋在所述目標(biāo)染色體區(qū)域中的位點(diǎn)上的已定序讀串的數(shù)量值,獲得所述目標(biāo)染色體區(qū)域中位點(diǎn)的覆蓋深度值;根據(jù)所述目標(biāo)染色體區(qū)域中位點(diǎn)的覆蓋深度值,確定所述目標(biāo)染色體區(qū)域中的間隙,從而得到以所述間隙為間隔的所述目標(biāo)染色體區(qū)域的至少兩個(gè)片段,其中,所述間隙中位點(diǎn)的覆蓋深度值低于第一閾值,所述間隙為所述目標(biāo)染色體區(qū)域的片段或位點(diǎn),所述至少兩個(gè)片段不包括所述間隙;將所述目標(biāo)染色體區(qū)域的所述至少兩個(gè)片段中的全部或部分片段確定為目標(biāo)片段;將所述目標(biāo)片段的數(shù)量、所述目標(biāo)片段的長度、所述目標(biāo)片段中的已定序讀串的數(shù)量和所述目標(biāo)片段的覆蓋深度中的至少一種,作為所述目標(biāo)染色體區(qū)域的用于資源分配的參數(shù),所述目標(biāo)片段的覆蓋深度為所述目標(biāo)片段中位點(diǎn)的平均覆蓋深度;獲得所述目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值。
結(jié)合第二方面,在第二方面的第三種可能的實(shí)現(xiàn)方式中,所述獲取單元用于:根據(jù)覆蓋在所述目標(biāo)染色體區(qū)域中的位點(diǎn)上的已定序讀串的數(shù)量值,獲得所述目標(biāo)染色體區(qū)域中位點(diǎn)的覆蓋深度值;根據(jù)所述目標(biāo)染色體區(qū)域中位點(diǎn)的覆蓋深度值,確定所述目標(biāo)染色體區(qū)域中的間隙,從而獲得以所述間隙為間隔的所述目標(biāo)染色體區(qū)域的至少兩個(gè)片段,其中,所述間隙中位點(diǎn)的覆蓋深度值低于第一閾值,所述間隙為所述目標(biāo)染色體區(qū)域的片段或位點(diǎn),所述至少兩個(gè)片段不包括所述間隙;將所述目標(biāo)染色體區(qū)域的所述至少兩個(gè)片段中的全部或部分片段確定為目標(biāo)片段,所述目標(biāo)片段的數(shù)量為至少兩個(gè);將所述目標(biāo)片段的覆蓋深度值的加權(quán)平均值,作為所述目標(biāo)染色體區(qū)域的用于資源分配的參數(shù),所述目標(biāo)片段的覆蓋深度為所述目標(biāo)片段中位點(diǎn)的平均覆蓋深度;獲得所述目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值。
結(jié)合第二方面的第二種或第三種可能的實(shí)現(xiàn)方式,在第二方面的第四種可能的實(shí)現(xiàn)方式中,所述獲取單元用于:將所述目標(biāo)染色體區(qū)域的至少兩個(gè)片段中已定序讀串的數(shù)量滿足預(yù)設(shè)的數(shù)量要求的片段,和所述目標(biāo)染色體區(qū)域的至少兩個(gè)片段中位點(diǎn)的平均覆蓋深度滿足預(yù)設(shè)的覆蓋深度要求的片段中至少一種,作為所述目標(biāo)片段。
結(jié)合第二方面的第三種可能的實(shí)現(xiàn)方式,在第二方面的第五種可能的實(shí)現(xiàn)方式中,所述獲取單元用于:將所述目標(biāo)片段中一個(gè)目標(biāo)片段的長度值與 所述目標(biāo)染色體區(qū)域的長度值的比值,作為所述一個(gè)目標(biāo)片段的覆蓋深度值的權(quán)值,計(jì)算所述目標(biāo)片段的覆蓋深度值的加權(quán)平均值。
結(jié)合第二方面或其上述任一種可能的實(shí)現(xiàn)方式,在第二方面的第六種可能的實(shí)現(xiàn)方式中,所述獲取單元還用于:獲取至少兩個(gè)染色體區(qū)域各自的用于資源分配的參數(shù)值的平均值;所述分配單元用于:根據(jù)所述獲取單元獲取的目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值,以及所述獲取單元獲取的所述至少兩個(gè)染色體區(qū)域各自的用于資源分配的參數(shù)值的平均值,獲得所述目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值相對至少兩個(gè)染色體區(qū)域各自的用于資源分配的參數(shù)值的平均值的偏斜;根據(jù)所述偏斜,為所述操作分配計(jì)算資源。
結(jié)合第二方面的第六種可能的實(shí)現(xiàn)方式,在第二方面的第七種可能的實(shí)現(xiàn)方式中,所述至少兩個(gè)染色體區(qū)域包括所述目標(biāo)染色體區(qū)域。
結(jié)合第二方面的第六種或第七種可能的實(shí)現(xiàn)方式,在第二方面的第八種可能的實(shí)現(xiàn)方式中,所述偏斜包括:所述目標(biāo)片段的覆蓋深度值的加權(quán)平均值與所述至少兩個(gè)染色體區(qū)域各自的覆蓋深度值的加權(quán)平均值的比值,所述染色體區(qū)域的覆蓋深度包括所述染色體區(qū)域的至少兩個(gè)片段各自的位點(diǎn)的覆蓋深度值的加權(quán)平均值,或包括所述染色體區(qū)域的位點(diǎn)的平均覆蓋深度。
結(jié)合第二方面的第六種或第七種可能的實(shí)現(xiàn)方式,在第二方面的第九種可能的實(shí)現(xiàn)方式中,所述偏斜包括:所述目標(biāo)染色體區(qū)域的已定序讀串的數(shù)量值與所述至少兩個(gè)染色體區(qū)域各自的已定序讀串的數(shù)量值的算數(shù)平均值的比值。
結(jié)合第二方面的第六種至第九種中任一種可能的實(shí)現(xiàn)方式,在第二方面的第十種可能的實(shí)現(xiàn)方式中,,所述分配單元用于:根據(jù)所述偏斜,對用于實(shí)現(xiàn)所述操作的初始計(jì)算資源進(jìn)行調(diào)整,以得到所述計(jì)算資源。
第三方面,提供了一種用于基因分析的資源分配裝置,包括:存儲器和處理器,該存儲器用于存儲指令,該處理器用于執(zhí)行該存儲器存儲的指令,并且當(dāng)該處理器執(zhí)行該存儲器存儲的指令時(shí),該執(zhí)行使得該處理器執(zhí)行第一方面或第一方面的任意可能的實(shí)現(xiàn)方式中的方法。
第四方面,提供了一種計(jì)算機(jī)存儲介質(zhì),該計(jì)算機(jī)存儲介質(zhì)中存儲有程序代碼,該程序代碼用于指示執(zhí)行上述第一方面或第一方面的任意可能的實(shí)現(xiàn)方式中的方法。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是根據(jù)本申請實(shí)施例的應(yīng)用場景示意性圖。
圖2是根據(jù)本申請實(shí)施例的資源分配方法的示意性流程圖。
圖3是根據(jù)本申請實(shí)施例的資源分配方法的示意性圖。
圖4是根據(jù)本申請實(shí)施例的資源分配方法的示意性圖。
圖5是根據(jù)本申請實(shí)施例的資源分配裝置的示意性框圖。
圖6是根據(jù)本申請實(shí)施例的資源分配裝置的示意性框圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
以下為了理解而非限定對本申請實(shí)施例涉及到的術(shù)語進(jìn)行說明。
基因是指攜帶有遺傳信息的dna序列,是控制性狀的基本遺傳單位,亦即一段具有功能性的堿基序列。基因通過指導(dǎo)蛋白質(zhì)的合成來表現(xiàn)所攜帶的遺傳信息,從而控制生物個(gè)體的性狀(差異)表現(xiàn)。
dna是一種長鏈聚合物,組成單位稱為四種脫氧核苷酸。脫氧核苷酸由脫氧核糖(五碳糖)、磷酸和堿基(base)組成,其中脫氧核糖和磷酸由酯鍵相連,組成外側(cè)的長鏈骨架,每個(gè)糖分子在內(nèi)側(cè)與四種堿基里的其中一種相接,這些堿基沿著dna長鏈所排列而成的序列,可組成遺傳密碼,是蛋白質(zhì)氨基酸序列合成的依據(jù)。組成脫氧核醣核酸的堿基,分別是腺嘌呤(adenine,a)、胸腺嘧啶(thymine,t)、胞嘧啶(cytosine,c)與鳥嘌呤(guanine,g),相應(yīng)的四種脫氧核苷酸分別為腺嘌呤脫氧核苷酸(damp)、胸腺嘧啶脫氧核苷酸(dtmp)、胞嘧啶脫氧核苷酸(dcmp)、鳥嘌呤脫氧核苷酸(dgmp)。
dna是雙鏈結(jié)構(gòu),即一條鏈上的堿基會與另一條鏈對應(yīng)位置的堿基配對 出現(xiàn),按照a與t結(jié)合、c與g結(jié)合的規(guī)則形成堿基對(basepair,bp),一般以bp作為dna的長度單位,并將a、t、c、g在dna中出現(xiàn)的位置稱為位點(diǎn)。在計(jì)算機(jī)系統(tǒng)中,分別以字符a、t、c、g表示四種堿基,每個(gè)字符占用1個(gè)字節(jié),因此也以字節(jié)作為堿基序列的長度單位。
染色體(chromosome)是dna的主要載體,人類的染色體成對出現(xiàn),也稱二倍體。正常人的體細(xì)胞共有22對常染色體(chr1~chr22)和一對性染色體(chrx、chry),染色體編號是劃分基因區(qū)域的自然單位。
基因分析包括dna測序,dna序列拼裝與變異識別,以及基因注釋與分析三個(gè)步驟。
dna測序是從dna分子中測定核苷酸排列順序的過程。dna測序可以采用基于大規(guī)模并行測序的基因測序技術(shù)。
在該測序技術(shù)中,為了提升測序速度,dna會被打斷成數(shù)十到數(shù)百堿基長度的片段,然后由測序儀同時(shí)對幾十到幾百萬條片段進(jìn)行同時(shí)測序。測序輸出的堿基符號序列可以稱為讀串。
為了提升測序的準(zhǔn)確度和覆蓋度(coverage),通常會對目標(biāo)區(qū)域進(jìn)行重復(fù)測序以增加測序深度(sequencedepth)。
其中,覆蓋度是指測序觀察到的堿基位點(diǎn)占待測目標(biāo)染色體區(qū)域的比例。測序深度是指測序得到的總堿基數(shù)與待測基因組長度的比值。測序深度與覆蓋度大致呈正相關(guān),一般認(rèn)為測序深度在18x以上,能夠達(dá)到較好的準(zhǔn)確度,常見的全基因測序深度為30x~80x,針對特定疾病相關(guān)區(qū)域的深度測序可達(dá)100x~10000x,其中,x表示倍數(shù)/深度,也即目標(biāo)染色體區(qū)域內(nèi)位點(diǎn)被讀串覆蓋到的次數(shù)。
測序過程中,dna片段會出現(xiàn)“丟失”的情況,可以認(rèn)為覆蓋度主要用來評估“丟失”的比例。為了避免丟失,會復(fù)制dna重復(fù)測多次,增加了“測序深度”,進(jìn)而增加了輸出結(jié)果的“覆蓋深度”。
dna序列拼裝與變異識別是利用計(jì)算機(jī)方法將測序儀輸出的零散堿基序列讀串(read)拼裝為完整dna序列,并通過比對參考dna發(fā)現(xiàn)變異堿基位點(diǎn)的過程。
讀串為長度幾十到幾百字節(jié)的字符串,需要回貼(map)到參考序列才能確定其在dna中的原始坐標(biāo)。由于人類dna本身有很多重復(fù)堿基序列,部分讀串可能被回貼到多個(gè)位置,或者深度測序輸出的多個(gè)讀串可能被回貼 到相同位置,或者其他原因造成的多個(gè)讀串被回貼到相同位置。由此可以采用去重(deduplication)操作,去重操作用于移除坐標(biāo)、長度和內(nèi)容相同的讀串以精簡數(shù)據(jù)。之后,可以采用局部重排操作,即識別插入和缺失(indel)變異點(diǎn),并在其周圍做局部重排(localrealignment)校正讀串坐標(biāo)。然后,可以采用變異識別操作,即通過分析讀串的測序和回貼質(zhì)量分?jǐn)?shù)(qualityscore),并比對參考序列識別變異點(diǎn)(callvariants)。
上述回貼操作、去重操作和變異識別操作之間也可以加入過濾(filter)操作、堿基質(zhì)量分?jǐn)?shù)校正(basequalityscorerecalibration)操作等環(huán)節(jié)優(yōu)化分析質(zhì)量。
基因注釋與分析是指通過生物信息學(xué)方法,結(jié)合蛋白組學(xué)、轉(zhuǎn)錄組學(xué),分析測序結(jié)果,識別基因及其功能,并挖掘變異點(diǎn)與相關(guān)疾病之間的關(guān)系。
在基因分析的三個(gè)必要階段中,dna序列拼裝與變異識別是需要大量計(jì)算開銷的環(huán)節(jié)。為了縮短基因分析的時(shí)間開銷,可采用并行計(jì)算框架構(gòu)建可擴(kuò)展的基因分析流水線,例如可以采用hadoop/spark等并行計(jì)算框架。hadoop/spark等并行計(jì)算框架主要面向同構(gòu)集群節(jié)點(diǎn)設(shè)計(jì),并假定并行任務(wù)的執(zhí)行開銷具有均衡性,而dna測序數(shù)據(jù)在經(jīng)過若干處理步驟之后,各任務(wù)單元的數(shù)據(jù)量和計(jì)算時(shí)間會出現(xiàn)明顯的統(tǒng)計(jì)偏斜,從而出現(xiàn)由少量復(fù)雜計(jì)算任務(wù)導(dǎo)致的“長尾”問題,也即部分子任務(wù)拖延計(jì)算時(shí)間導(dǎo)致整體分析任務(wù)無法及時(shí)結(jié)束。
為了更加清楚地理解該問題,以下將參考圖1,結(jié)合halvade框架100,對dna的序列拼裝和變異識別進(jìn)行簡要說明,其中,halvade系統(tǒng)是在mapreduce架構(gòu)下,基于hadoop計(jì)算框架開發(fā)的分布式基因分析流水線應(yīng)用框架,它的方法抽象出來也可以在spark計(jì)算框架上實(shí)現(xiàn)。
在圖1中,在數(shù)據(jù)預(yù)處理(datapreprocessing)階段(110),用于保存讀串(reads)的fastq文件被切分為n個(gè)約60mb的塊(chunks)上傳到分布式文件系統(tǒng)。各工作節(jié)點(diǎn)在映射(map)階段(120)從分布式文件系統(tǒng)讀取數(shù)據(jù),并針對各個(gè)塊并發(fā)執(zhí)行獨(dú)立的讀串回貼任務(wù)?;刭N后的讀串在混洗(shuffle)階段(130)排序并分發(fā)到m個(gè)化簡(reduce)任務(wù)單元,每個(gè)化簡任務(wù)(140)僅處理指定染色體區(qū)域的讀串,其中,m可以等于或不等于n。最后,各化簡任務(wù)輸出的變異識別結(jié)果合并(merge)(150)到統(tǒng)一的vcf文件。
其中,每個(gè)化簡任務(wù)對應(yīng)一段指定的染色體區(qū)域?;嗠A段的任務(wù)分為數(shù)據(jù)整理(datacleansing)和變異識別步驟,其中數(shù)據(jù)整理包括去重、局部重排、堿基質(zhì)量校正等操作。在本申請實(shí)施例中,化簡還可以稱為規(guī)約。
回貼任務(wù)的數(shù)量可以由fastq數(shù)據(jù)的分塊數(shù)量來決定,化簡任務(wù)的數(shù)量可以由染色體區(qū)域的數(shù)量來決定,回貼或化簡任務(wù)的并發(fā)數(shù)可以由集群資源確定。應(yīng)理解,fastq是一種本申請實(shí)施例中讀串的一種保存格式,但是本申請實(shí)施例并不僅限于此。
halvade可以在回貼階段使用bwamem或bwaaln+bwasampe執(zhí)行讀串回貼,并將輸出sam格式的定序讀串?dāng)?shù)據(jù)。混洗后的讀串?dāng)?shù)據(jù)在reduce階段可以由elprep或picard工具去重,并輸出bam格式數(shù)據(jù),然后可以由gatk工具集執(zhí)行插入/缺失點(diǎn)重排、堿基質(zhì)量校正以及變異識別,其中haplotypecaller是比unifiedgenotyper準(zhǔn)確度更好但計(jì)算復(fù)雜度更高的變異識別工具。
測序儀輸出的讀串在不同染色體區(qū)域上的覆蓋深度具有不均勻性,例如,平均測序深度為60x的堿基序列,在經(jīng)過回貼操作之后,不同染色體區(qū)域的實(shí)際覆蓋深度在零到數(shù)千(甚至更高)不等。
并行計(jì)算框架(如hadoop、spark等)要求在回貼任務(wù)啟動(dòng)前確定混洗數(shù)據(jù)在化簡階段的數(shù)據(jù)分發(fā)規(guī)則,halvade以固定長度的染色體區(qū)域作為讀串分發(fā)依據(jù),從而導(dǎo)致不同化簡任務(wù)處理的數(shù)據(jù)量和計(jì)算量存在嚴(yán)重的不均衡性。因此,halvade的缺點(diǎn)在于為所有任務(wù)分配均衡的計(jì)算資源,無法解決由任務(wù)偏斜導(dǎo)致的分析時(shí)間“長尾”問題。少量復(fù)雜化簡任務(wù)的時(shí)間開銷可達(dá)平均任務(wù)時(shí)間的10倍以上,1%的計(jì)算任務(wù)可能拖延20%~50%的整體分析時(shí)間。
因此,本申請?zhí)岢隽艘环N資源分配方法,可以合理分配計(jì)算資源。
圖2是根據(jù)本申請實(shí)施例的資源分配方法200的示意性流程圖。如圖2所示,該方法200包括210和220。
在210中,根據(jù)目標(biāo)染色體區(qū)域中的已定序讀串,獲得該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值;
在220中,根據(jù)該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值,為基因分析中針對該目標(biāo)染色體區(qū)域中的已定序讀串的整理與異變識別任務(wù)中的操作分配計(jì)算資源。
可選地,在本申請實(shí)施例中,可以預(yù)劃分染色體區(qū)域。其中,可以將一 條染色體作為一個(gè)染色體區(qū)域,也可以將一條染色體的部分區(qū)域作為一個(gè)染色體區(qū)域,或者可以將多條染色體作為一個(gè)染色體區(qū)域,然后可以以一個(gè)染色體區(qū)域?yàn)檎w為已定序讀串的整理和變異識別任務(wù)中的操作分配計(jì)算資源。
可選地,本申請實(shí)施例可以應(yīng)用于mapreduce架構(gòu)下,在該mapreduce架構(gòu)下,已定序讀串的整理與變異識別任務(wù)可以稱為化簡任務(wù)或規(guī)約任務(wù),英文稱為reduce任務(wù)。當(dāng)然,本申請實(shí)施例還可以應(yīng)用于其他架構(gòu)下。
可選地,已定序讀串的整理與變異識別任務(wù)可以包括去重操作、局部重排操作、過濾操作、堿基質(zhì)量分?jǐn)?shù)校正操作和變異識別操作中的至少一種。
在本申請實(shí)施例中,已定序讀串是指經(jīng)回貼處理后具有明確染色體坐標(biāo)的讀串。
可選地,在本申請實(shí)施例中,目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)可以包括該目標(biāo)染色體區(qū)域中的已定序讀串的數(shù)量和該目標(biāo)染色體區(qū)域中的位點(diǎn)的平均覆蓋深度中的至少一種。
其中,染色體區(qū)域中的已定序讀串的數(shù)量是指覆蓋該染色體區(qū)域的已定序讀串的數(shù)量,其中,如果某一已定序讀串只有部分堿基屬于該染色體區(qū)域,可以將該已定序讀串的數(shù)量值確定為1,也可以按照該已定序讀串在該染色體區(qū)域的比例,將該已定序讀串的數(shù)量值確定為小于1,例如,0.6,也即該已定序讀串中60%的堿基屬于該染色體區(qū)域。
染色體區(qū)域中位點(diǎn)的平均覆蓋深度值可以通過以下方式計(jì)算:計(jì)算覆蓋該染色體區(qū)域的所有已定序讀串長度值之和,除以該染色體區(qū)域的長度值,以商值作為該染色體區(qū)域中的位點(diǎn)的平均覆蓋深度值。其中,已定序讀串的長度和染色體區(qū)域的長度可以是以位點(diǎn)的數(shù)量為單位,例如,該染色體區(qū)域包括100個(gè)位點(diǎn),則該染色體區(qū)域的長度值為100個(gè)位點(diǎn)長度。
在本申請實(shí)施例中,可以將染色體區(qū)域劃分為多個(gè)片段,將多個(gè)片段中的全部或部分片段選定為目標(biāo)片段。
可選地,目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)可以包括該目標(biāo)染色體區(qū)域中目標(biāo)片段的數(shù)量、目標(biāo)片段的長度、目標(biāo)片段的已定序讀串的數(shù)量、目標(biāo)片段中的位點(diǎn)的平均覆蓋深度中的至少一種。
其中,目標(biāo)片段中的已定序讀串的數(shù)量是指覆蓋該目標(biāo)片段的已定序讀串的數(shù)量。
目標(biāo)片段的長度可以是指該目標(biāo)片段所具有的位點(diǎn)的數(shù)量。
目標(biāo)片段中的位點(diǎn)的平均覆蓋深度值可以通過以下方式計(jì)算:計(jì)算該目標(biāo)片段內(nèi)的已定序讀串的長度值之和,除以該目標(biāo)片段的長度值,以商值作為該目標(biāo)片段中的位點(diǎn)的平均覆蓋深度值。
可選地,該目標(biāo)染色體區(qū)域中目標(biāo)片段的覆蓋深度值的加權(quán)平均值,其中,目標(biāo)片段的覆蓋深度為該目標(biāo)片段中位點(diǎn)的平均覆蓋深度,此時(shí),該目標(biāo)染色體區(qū)域至少包括兩個(gè)目標(biāo)片段。
目標(biāo)片段的覆蓋深度值的加權(quán)平均值可以通過將所有目標(biāo)片段中位點(diǎn)的平均覆蓋深度值進(jìn)行加權(quán)處理而得到。
例如,所述目標(biāo)片段的覆蓋深度值的加權(quán)平均值是以各個(gè)目標(biāo)片段的長度值占目標(biāo)染色體區(qū)域的目標(biāo)片段的長度值之和的比值作為權(quán)值確定得到。
具體地,目標(biāo)染色體區(qū)域包括k個(gè)目標(biāo)片段,設(shè)k個(gè)目標(biāo)片段的覆蓋深度值分別為d1~dk,長度值分別為l1~lk,長度之和值為l=l1+l2+…+lk,則加權(quán)覆蓋深度值d-region的一種計(jì)算方法可以為:d-region=d1×l1/l+d2×l2/l+…+dk×lk/l。
可選地,本申請實(shí)施例可以通過以下方式確定目標(biāo)片段:根據(jù)覆蓋在目標(biāo)染色體區(qū)域中的位點(diǎn)上的已定序讀串的數(shù)量值,獲得該目標(biāo)染色體區(qū)域中位點(diǎn)的覆蓋深度值;根據(jù)該目標(biāo)染色體區(qū)域中位點(diǎn)的覆蓋深度值,確定該目標(biāo)染色體區(qū)域中的間隙,從而得到以該間隙為間隔的該目標(biāo)染色體區(qū)域的至少兩個(gè)片段,其中,該間隙中位點(diǎn)的覆蓋深度值低于第一閾值,該間隙為該目標(biāo)染色體區(qū)域的片段或位點(diǎn),該至少兩個(gè)片段不包括該間隙;將該目標(biāo)染色體區(qū)域的該至少兩個(gè)片段中的全部或部分片段確定為目標(biāo)片段。
具體地,可以將覆蓋深度值低于第一閾值的任意位點(diǎn)均作為間隙中的位點(diǎn),或者,可以以n(n大于等于2)個(gè)位點(diǎn)為單位,將位點(diǎn)的平均覆蓋深度值低于第一閾值的任意n個(gè)位點(diǎn)為整體作為間隙,其中,在選取n個(gè)位點(diǎn)時(shí),可以按照位點(diǎn)重疊或不重疊的方式選取。
例如,假設(shè)有100個(gè)位點(diǎn),n為5,按照位點(diǎn)不重疊的方式選擇,則可以確定位點(diǎn)1-5的平均覆蓋深度值,然后確定位點(diǎn)6-10的平均覆蓋深度值,依次類推,并將平均覆蓋深度值低于第一閾值的任意5個(gè)位點(diǎn)作為劃分片段的間隙。
再例如,假設(shè)有100個(gè)位點(diǎn),n為5,按照位點(diǎn)重疊的方式選擇,則可 以確定位點(diǎn)1-5的平均覆蓋深度值,確定位點(diǎn)2-6的平均覆蓋深度值,確定位點(diǎn)3-7的平均覆蓋深度值,將平均覆蓋深度值低于第一閾值的任意5個(gè)位點(diǎn)均作為劃分片度的間隙,例如,假設(shè)位點(diǎn)1-5和位點(diǎn)2-6的平均覆蓋深度值均低于第一閾值,則可以將位點(diǎn)1-6作為間隙。
其中,位點(diǎn)的覆蓋深度值可以通過確定覆蓋在該位點(diǎn)上的讀串?dāng)?shù)量來得到??蛇x地,該第一閾值可以根據(jù)實(shí)際情況而定,例如,根據(jù)計(jì)算系統(tǒng)所能承受的統(tǒng)計(jì)計(jì)算量的來設(shè)定,例如,計(jì)算系統(tǒng)所能承受的統(tǒng)計(jì)計(jì)算量越低,則該閾值可以設(shè)置的越高。
可選地,在從染色體區(qū)域劃分的至少兩個(gè)片段選擇目標(biāo)片段時(shí),可以根據(jù)該至少兩個(gè)片段中已定序讀串的數(shù)量和位點(diǎn)的平均覆蓋深度中的至少一種來選擇目標(biāo)片段。
具體地,將目標(biāo)染色體區(qū)域的至少兩個(gè)片段中已定序讀串的數(shù)量滿足預(yù)設(shè)的數(shù)量要求的片段,和目標(biāo)染色體區(qū)域的至少兩個(gè)片段中位點(diǎn)的平均覆蓋深度滿足預(yù)設(shè)的覆蓋深度要求的片段中至少一種,作為目標(biāo)片段。
例如,將該至少兩個(gè)片段中位點(diǎn)的平均覆蓋深度值最大的k個(gè)片段的每個(gè)片段確定為該目標(biāo)片段;或?qū)⒃撝辽賰蓚€(gè)片段中位點(diǎn)的平均覆蓋深度值大于第二閾值的每個(gè)片段確定為該目標(biāo)片段;或?qū)⒃撝辽賰蓚€(gè)片段中已定序讀串的數(shù)量值最多的k個(gè)片段的每個(gè)片段確定為該目標(biāo)片段;或?qū)⒃摱鄠€(gè)片段中已定序讀串的數(shù)量值大于第三閾值的每個(gè)片段確定為該目標(biāo)片段。
因此,在本申請實(shí)施例中,將位點(diǎn)的平均覆蓋深度值低于閾值的間隙作為間隔,將染色體區(qū)域劃分為多個(gè)片段,并從該多個(gè)片段中選取目標(biāo)片段,將目標(biāo)片段的參數(shù)作為用于分配資源的參數(shù),可以局部統(tǒng)計(jì)讀串?dāng)?shù)量較多或覆蓋深度較大的片段,可以更好的確定目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)的偏斜情況。
并且,進(jìn)一步地,將多個(gè)片段中的覆蓋深度較高或者讀串?dāng)?shù)量較多的片段選取為目標(biāo)片段,使得資源分配時(shí)參考的參數(shù)更有意義。
在本申請實(shí)施例中,還可以其他方式來確定染色體區(qū)域中的目標(biāo)片段,例如,選取特定位點(diǎn)作為選取目標(biāo)片段的起始點(diǎn)和終止點(diǎn),例如,選取染色體區(qū)域的第2個(gè)位點(diǎn)作為第一個(gè)目標(biāo)片段的起始點(diǎn),以及選取第50個(gè)位點(diǎn)作為目標(biāo)片段的終止點(diǎn),選取染色體區(qū)域的第102個(gè)位點(diǎn)作為第一個(gè)目標(biāo)片段的起始點(diǎn),以及選取第150個(gè)位點(diǎn)作為第二個(gè)目標(biāo)片段的終止點(diǎn),選取染色 體區(qū)域的第202個(gè)位點(diǎn)作為第一個(gè)目標(biāo)片段的起始點(diǎn),以及選取第250個(gè)位點(diǎn)作為第三個(gè)目標(biāo)片段的終止點(diǎn),依此類推。此時(shí),可以將目標(biāo)片段的已定序讀串的數(shù)量、目標(biāo)片段中的位點(diǎn)的平均覆蓋深度和該目標(biāo)染色體區(qū)域中目標(biāo)片段的覆蓋深度值的加權(quán)平均值的至少一種作為用于資源分配的參數(shù)。
可選地,本申請實(shí)施例提到的計(jì)算資源可以包括中央處理單元(centerprocessingunit,cpu)資源,內(nèi)存資源、圖像處理單元(graphicsprocessingunit,gpu)資源和現(xiàn)場可編程門陣列(fieldprogrammablegatearray,fpga)資源中的至少一種。
可選地,在本申請實(shí)施例中,可以獲取至少兩個(gè)染色體區(qū)域各自的用于資源分配的參數(shù)值的平均值;根據(jù)該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值,以及該至少兩個(gè)染色體區(qū)域各自的用于資源分配的參數(shù)值的平均值,獲得該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值相對至少兩個(gè)染色體區(qū)域各自的用于資源分配的參數(shù)值的平均值的偏斜;根據(jù)該偏斜,為該操作分配計(jì)算資源。
在本申請實(shí)施例中,上述偏斜可以通過目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值與至少兩個(gè)染色體區(qū)域各自的用于資源分配的參數(shù)值的平均值的比值來確定,并根據(jù)該偏斜進(jìn)行計(jì)算資源的分配。
其中,目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值與至少兩個(gè)染色體區(qū)域各自的用于資源分配的參數(shù)值的平均值的比值,可以是指將目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值除以至少兩個(gè)染色體區(qū)域各自的用于資源分配的參數(shù)值的平均值得到的值。此時(shí),為目標(biāo)染色體區(qū)域分配的資源的數(shù)量值可以與該比值正相關(guān)。
或者,目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值與至少兩個(gè)染色體區(qū)域各自的用于資源分配的參數(shù)值的平均值的比值,可以是將至少兩個(gè)染色體區(qū)域各自的用于資源分配的參數(shù)值的平均值除以目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值得到的值。此時(shí),為目標(biāo)染色體區(qū)域分配的資源的數(shù)量值可以與該比值負(fù)相關(guān)。
可選地,上述平均值可以指算數(shù)平均值或加權(quán)平均值。
在一種實(shí)現(xiàn)方式中,該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)包括該目標(biāo)染色體區(qū)域中的已定序讀串的數(shù)量;則可以根據(jù)該目標(biāo)染色體區(qū)域中的已定序讀串的數(shù)量值與至少兩個(gè)染色體區(qū)域的各自的已定序讀串的數(shù)量值的算 數(shù)平均值的比值,分配計(jì)算資源。
在本申請實(shí)施例中,目標(biāo)染色體區(qū)域的已定序讀串的數(shù)量值對至少兩個(gè)染色體區(qū)域的各自的已定序讀串的數(shù)量值的算術(shù)平均值的偏斜,可以通過目標(biāo)染色體區(qū)域的輸入文件大小對多個(gè)染色體區(qū)域的平均輸入文件大小的偏斜來確定。
在另一種實(shí)現(xiàn)方式中,該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)包括該目標(biāo)染色體區(qū)域中的位點(diǎn)的平均覆蓋深度;則可以根據(jù)該目標(biāo)染色體區(qū)域中的位點(diǎn)的平均覆蓋深度值與至少兩個(gè)染色體區(qū)域的各自的位點(diǎn)的平均覆蓋深度值的算術(shù)平均值的比值,分配計(jì)算資源。
在另一種實(shí)現(xiàn)方式中,該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)包括目標(biāo)片段的數(shù)量;可以按照與目標(biāo)染色體區(qū)域相同的目標(biāo)片段劃分原則,對至少兩個(gè)染色體區(qū)域中的非目標(biāo)染色體區(qū)域進(jìn)行目標(biāo)片段的劃分,確定該至少兩個(gè)染色體區(qū)域各自具有的目標(biāo)片段的數(shù)量值的算術(shù)平均值;則可以根據(jù)目標(biāo)染色體區(qū)域的目標(biāo)片段的數(shù)量值與至少兩個(gè)染色體區(qū)域的各自具有的目標(biāo)片段的數(shù)量值的算術(shù)平均值的比值,分配計(jì)算資源。
在另一種實(shí)現(xiàn)方式中,該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)包括目標(biāo)片段的長度;可以按照與目標(biāo)染色體區(qū)域相同的目標(biāo)片段劃分原則,對至少兩個(gè)染色體區(qū)域中的非目標(biāo)染色體區(qū)域進(jìn)行目標(biāo)片段的劃分,確定每個(gè)染色體區(qū)域的目標(biāo)片段的總長度值;則可以根據(jù)目標(biāo)染色體區(qū)域的目標(biāo)片段的總長度值與至少兩個(gè)染色體區(qū)域的各自具有的目標(biāo)片段的總長度值的算術(shù)平均值的比值,分配計(jì)算資源。
在另一種實(shí)現(xiàn)方式中,該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)包括目標(biāo)片段中已定序讀串的數(shù)量;可以按照與目標(biāo)染色體區(qū)域相同的目標(biāo)片段劃分原則,對至少兩個(gè)染色體區(qū)域中的非目標(biāo)染色體區(qū)域進(jìn)行目標(biāo)片段的劃分,確定每個(gè)染色體區(qū)域的目標(biāo)片段中所具有的讀串的總量;則可以根據(jù)目標(biāo)染色體區(qū)域的目標(biāo)片段的已定序讀串的總量與至少兩個(gè)染色體區(qū)域的各自具有的目標(biāo)片段的已定序讀串的總量的算術(shù)平均值的比值,分配計(jì)算資源。
在另一種實(shí)現(xiàn)方式中,該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)包括目標(biāo)片段中的位點(diǎn)的平均覆蓋深度,則可以計(jì)算該目標(biāo)染色體區(qū)域的所有目標(biāo)片段中的位點(diǎn)的平均覆蓋深度值;以及,按照與目標(biāo)染色體區(qū)域相同的目標(biāo)片段劃分原則,對至少兩個(gè)染色體區(qū)域中的非目標(biāo)染色體區(qū)域進(jìn)行目標(biāo)片段 的劃分,確定至少兩個(gè)染色體區(qū)域中的非目標(biāo)染色體區(qū)域的每個(gè)染色體區(qū)域所具有的所有目標(biāo)片段的位點(diǎn)的平均覆蓋深度值;則可以根據(jù)目標(biāo)染色體區(qū)域的所有目標(biāo)片段的位點(diǎn)的平均覆蓋深度值與至少兩個(gè)染色體區(qū)域的各自具有的目標(biāo)片段的位點(diǎn)的平均覆蓋深度的算術(shù)平均值的比值,分配計(jì)算資源。
在另一種實(shí)現(xiàn)方式中,目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)包括目標(biāo)染色體區(qū)域的目標(biāo)片段的覆蓋深度值的加權(quán)平均值;則可以根據(jù)目標(biāo)染色體區(qū)域的目標(biāo)片段的覆蓋深度值的加權(quán)平均值與至少兩個(gè)染色體區(qū)域各自的覆蓋深度值的加權(quán)平均值的比值,來分配計(jì)算資源,所述染色體區(qū)域的覆蓋深度包括所述染色體區(qū)域的至少兩個(gè)片段的各自的位點(diǎn)的覆蓋深度值的加權(quán)平均值,或包括所述染色體區(qū)域的位點(diǎn)的平均覆蓋深度。
可選地,所述至少兩個(gè)染色體區(qū)域中的非目標(biāo)染色體區(qū)域中的片段可以按照與目標(biāo)染色體區(qū)域進(jìn)行目標(biāo)片段的劃分相同的方式來劃分片段。
可選地,非目標(biāo)染色體區(qū)域的至少兩個(gè)片段的加權(quán)覆蓋深度值也可以以至少兩個(gè)片段中每個(gè)片段的長度值對該至少兩個(gè)片段的總長度值的比值,作為權(quán)值計(jì)算得到。
可選地,至少兩個(gè)染色體區(qū)域各自的覆蓋深度值的加權(quán)平均值可以以至少兩個(gè)染色體區(qū)域中每個(gè)染色體區(qū)域的長度值與至少兩個(gè)染色體區(qū)域的長度總值的比值,作為權(quán)值計(jì)算得到。
應(yīng)理解,在本申請實(shí)施例中,也可以根據(jù)目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值與至少兩個(gè)染色體區(qū)域的各自的用于資源分配的參數(shù)值的平均值之差或其他方式來確定偏斜,只要能反映出目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值與至少兩個(gè)染色體區(qū)域的各自的用于資源分配的參數(shù)值的平均值的偏離程度即可。
還應(yīng)理解,不僅可以根據(jù)目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值對至少兩個(gè)染色體區(qū)域各自的用于資源分配的參數(shù)值的平均值的偏斜,來進(jìn)行資源的分配,還可以通過其他方式進(jìn)行計(jì)算資源的分配。例如,根據(jù)標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值來進(jìn)行資源的分配,而不考慮至少兩個(gè)染色體區(qū)域各自的用于資源分配的參數(shù)值的平均值。例如,假設(shè)目標(biāo)染色體區(qū)域具有100個(gè)已定序讀串,則可以確定每個(gè)已定序讀串所需的計(jì)算資源,并從而確定100個(gè)已定序讀串所需的資源。例如,目標(biāo)染色體區(qū)域中的位點(diǎn)的覆蓋深度值和所需計(jì)算資源的數(shù)量值具有一定的函數(shù)關(guān)系,可以根據(jù)該函數(shù)關(guān)系, 進(jìn)行資源的分配,其中,在該函數(shù)關(guān)系中,覆蓋深度值與計(jì)算資源的數(shù)量值呈正相關(guān)。
還應(yīng)理解,雖然上述舉例時(shí),是根據(jù)一種參數(shù)來進(jìn)行資源的分配的,本申請實(shí)施例可以同時(shí)考慮多個(gè)參數(shù)進(jìn)行資源的分配,例如,同時(shí)考慮目標(biāo)染色體區(qū)域中的位點(diǎn)的平均覆蓋深度和目標(biāo)染色體區(qū)域中的目標(biāo)片段中的位點(diǎn)的平均覆蓋深度等。
在本申請實(shí)施例中,對用于實(shí)現(xiàn)已定序讀串的整理和變異識別任務(wù)中的至少一種操作的初始計(jì)算資源進(jìn)行調(diào)整,以得到用于該操作的計(jì)算資源。
具體地,可以對已定序讀串的整理和變異識別任務(wù)中的至少一種操作預(yù)先分配資源,然后根據(jù)目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值,對該預(yù)先分配的資源進(jìn)行調(diào)整。
或者在本申請實(shí)施例中,可以不對已定序讀串的整理和變異識別任務(wù)中的操作預(yù)先分配資源,可以直接根據(jù)目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值,進(jìn)行資源的分配。
在本申請實(shí)施例中,在進(jìn)行資源分配時(shí),如果確定某一任務(wù)所需的計(jì)算資源較多,可以將預(yù)分配給所需計(jì)算量較少的任務(wù)的一部分資源,重新分配給所需計(jì)算資源較多的任務(wù)?;蛘?,可以不改變預(yù)分配給所需計(jì)算資源較少的任務(wù)的計(jì)算資源,而是將其他計(jì)算資源(還未被預(yù)分配的備用計(jì)算資源)分配給所需的計(jì)算資源較多的任務(wù)。
在本申請實(shí)施例中,在進(jìn)行已定序讀串的整理和變異識別任務(wù)之前,可以根據(jù)一種或多種上述用于資源分配的參數(shù)值,進(jìn)行資源的分配,然后進(jìn)行已定序讀串的整理和變異識別任務(wù)的所有操作。在此種情況下,可以簡化實(shí)現(xiàn)資源分配。
例如,如圖3所示,在經(jīng)過回貼處理之后以及在數(shù)據(jù)整理之前,可以進(jìn)行參數(shù)統(tǒng)計(jì),也即,確定用于資源分配的參數(shù)值;將該參數(shù)值發(fā)送給偏斜調(diào)度器;偏斜調(diào)度器根據(jù)該參數(shù)值,確定資源分配計(jì)劃,然后將該資源分配資源通知給任務(wù)調(diào)度器;該任務(wù)調(diào)度器通知相應(yīng)的任務(wù)執(zhí)行模塊利用更新后的任務(wù)資源進(jìn)行數(shù)據(jù)整理,以及通知相應(yīng)的任務(wù)執(zhí)行模塊利用更新后的任務(wù)資源進(jìn)行變異識別。
資源管理器負(fù)責(zé)可以跟蹤系統(tǒng)計(jì)算資源使用情況,包括cpu核、內(nèi)存、gpu和fpga等,各個(gè)操作必須先獲取資源配額才能啟動(dòng)執(zhí)行,資源管理器 可以優(yōu)先按照資源分配裝置的資源分配計(jì)劃進(jìn)行資源分配,必要時(shí)可超負(fù)載分配資源,在可用資源不足時(shí)及時(shí)啟動(dòng)偏斜步驟。
或者,可以在已定序讀串的整理和變異識別任務(wù)的某一操作之前,均進(jìn)行資源的分配,具體采用哪種參數(shù),可以根據(jù)對應(yīng)的操作,例如,去重操作、過濾操作、局部重排操作和堿基質(zhì)量分?jǐn)?shù)校正操作與染色體區(qū)域的已定序讀串的數(shù)量相關(guān)性更大,以及變異識別操作與目標(biāo)片段的覆蓋深度值的加權(quán)平均值的相關(guān)性更大,則可以在進(jìn)行相應(yīng)操作之前,根據(jù)相關(guān)性較大的參數(shù)值,來對該操作進(jìn)行資源的分配。在此種情況下,可以實(shí)現(xiàn)資源的精確分配。
例如,如圖4所示,在經(jīng)過回貼處理之后在進(jìn)行每個(gè)操作之前,例如,去重操作,局部重排操作(未示出)、變異識別操作等,進(jìn)行參數(shù)統(tǒng)計(jì)(也即,確定目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值),然后偏斜調(diào)度器根據(jù)該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值,確定資源分配計(jì)劃,然后將該資源分配計(jì)劃通知給任務(wù)調(diào)度器,由該任務(wù)調(diào)度器對化簡任務(wù)進(jìn)行資源的分配。
應(yīng)理解,雖然圖3和圖4示出的是對任務(wù)資源的更新,也即已經(jīng)存在預(yù)配置的資源分配,但是本申請實(shí)施例并不限于此,本申請實(shí)施例可以不存在預(yù)配置的資源分配,直接目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值進(jìn)行資源的分配。
可選地,在本申請實(shí)施例中,在已存在預(yù)先配置的計(jì)算資源,可以按照以下計(jì)算方式更新資源分配計(jì)劃:
r-update=r+[t×(x-region/x-average-1)×p]=
<r-cpu_cores+[t×(x-region/x-average-1)×p-cpu_cores],
r-mem+[t×(x-region/x-average-1)×p-mem],
r-gpu+[t×(x-region/x-average-1)×p-gpu],
r-fpga+[t×(x-region/x-average-1)×p-fpga]>,
其中,x-region為目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值,x-average為至少兩個(gè)染色體區(qū)域的用于資源分配的參數(shù)值的平均值;r<r-cpu_cores,r-mem,r-gpu,r-fpga>為已定序讀串的整理與變異識別任務(wù)的某一個(gè)或多個(gè)操作的基礎(chǔ)資源分配計(jì)劃,用于分別描述預(yù)先分配的執(zhí)行該一個(gè)或多個(gè)操作所需的cpu核、內(nèi)存、gpu和fpga資源;p<p-cpu_cores,p-mem,p-gpu,p-fpga>描述該一個(gè)或多個(gè)操作的資源分配調(diào)整單元;t為調(diào)節(jié)參數(shù);[]為取整運(yùn)算符。
為了更加清楚地理解本發(fā)明,以下將結(jié)合幾種具體參數(shù),描述如何結(jié)合 目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值進(jìn)行資源的分配。
例如,目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)為目標(biāo)染色體區(qū)域的已定序讀串的數(shù)量;則可以獲取至少兩個(gè)染色體區(qū)域各自的已定序讀串的數(shù)量值的平均值,可選地,該至少兩個(gè)染色體區(qū)域包括該目標(biāo)染色體區(qū)域;根據(jù)該目標(biāo)染色體區(qū)域的已定序讀串的數(shù)量值與該平均值的比值,為該目標(biāo)染色體區(qū)域的已定序讀串的整理與變異識別任務(wù)中的至少一種操作分配計(jì)算資源。
其中,更新資源分配計(jì)劃的一種計(jì)算方法為:
r-update=r+[t×(c-region/c-average-1)×p]=
<r-cpu_cores+[t×(c-region/c-average-1)×p-cpu_cores],
r-mem+[t×(c-region/c-average-1)×p-mem],
r-gpu+[t×(c-region/c-average-1)×p-gpu],
r-fpga+[t×(c-region/c-average-1)×p-fpga]>,
其中,c-region為目標(biāo)染色體區(qū)域的已定序讀串的數(shù)量值,c-average為至少兩個(gè)染色體區(qū)域各自的已定序讀串的數(shù)量值的平均值;r<r-cpu_cores,r-mem,r-gpu,r-fpga>為化簡任務(wù)的某一個(gè)或多個(gè)操作的基礎(chǔ)資源分配計(jì)劃,用于分別描述預(yù)先分配的執(zhí)行該一個(gè)或多個(gè)操作所需的cpu核、內(nèi)存、gpu和fpga資源;p<p-cpu_cores,p-mem,p-gpu,p-fpga>描述該一個(gè)或多個(gè)操作的資源分配調(diào)整單元;t為調(diào)節(jié)參數(shù);[]為取整運(yùn)算符。
其中,由于去重操作、過濾操作、局部重排和堿基質(zhì)量分?jǐn)?shù)校正操作與染色體區(qū)域的讀串?dāng)?shù)量的相關(guān)性較大,則可以在該去重操作、過濾操作、局部重排和堿基質(zhì)量分?jǐn)?shù)校正操作中每個(gè)操作之前,均根據(jù)染色體區(qū)域的經(jīng)過前置處理的已定序讀串的數(shù)量值,進(jìn)行資源分配,或者僅在去重操作之前根據(jù)染色體區(qū)域的已定序讀串的數(shù)量值進(jìn)行資源分配。
再例如,用于目標(biāo)染色體區(qū)域的資源分配的參數(shù)為包括該目標(biāo)染色體區(qū)域的目標(biāo)片段的覆蓋深度值的加權(quán)平均值;則還需要獲取至少兩個(gè)染色體區(qū)域各自的覆蓋深度值的加權(quán)平均值;根據(jù)該目標(biāo)染色體區(qū)域的目標(biāo)片段的覆蓋深度值的加權(quán)平均值與至少兩個(gè)染色體區(qū)域各自的覆蓋深度值的加權(quán)平均值的比值,為該目標(biāo)染色體區(qū)域的已定序讀串的整理和變異識別任務(wù)的至少一種操作分配計(jì)算資源。其中,染色體區(qū)域的覆蓋深度可以包括所述染色體區(qū)域的至少兩個(gè)片段各自的位點(diǎn)的覆蓋深度值的加權(quán)平均值,或包括所述染色體區(qū)域的位點(diǎn)的平均覆蓋深度。
更新資源分配計(jì)劃的一種計(jì)算方法為:
r-update=r+[t×(d-region/d-average-1)×p]=
<r-cpu_cores+[t×(d-region/d-average-1)×p-cpu_cores],
r-mem+[t×(d-region/d-average-1)×p-mem],
r-gpu+[t×(d-region/d-average-1)×p-gpu],
r-fpga+[t×(d-region/d-average-1)×p-fpga]>
其中,d-region為目標(biāo)染色體區(qū)域的目標(biāo)片段的覆蓋深度值的加權(quán)平均值,d-average為至少兩個(gè)染色體區(qū)域的各自的覆蓋深度值的加權(quán)平均值;r<r-cpu_cores,r-mem,r-gpu,r-fpga>為已定序讀串的整理與變異識別任務(wù)的某一個(gè)或多個(gè)操作的基礎(chǔ)資源分配計(jì)劃,用于分別描述預(yù)先分配的執(zhí)行該一個(gè)或多個(gè)操作所需的cpu核、內(nèi)存、gpu和fpga資源;p<p-cpu_cores,p-mem,p-gpu,p-fpga>描述該一個(gè)或多個(gè)操作的資源分配調(diào)整單元;t為調(diào)節(jié)參數(shù);[]為取整運(yùn)算符。
由于變異識別操作與目標(biāo)片段的覆蓋深度值的加權(quán)平均值相關(guān)性較大,因此可以在變異識別操作之前,根據(jù)染色體區(qū)域的經(jīng)過前置處理的已定序讀串的數(shù)量值,確定目標(biāo)片段以及確定目標(biāo)片段的覆蓋深度值的加權(quán)平均值,并進(jìn)行資源分配。
應(yīng)理解,上述c-average、d-average可通過各化簡任務(wù)提交的染色體區(qū)域統(tǒng)計(jì)結(jié)果實(shí)時(shí)計(jì)算得出,也可在化簡任務(wù)啟動(dòng)前,根據(jù)回貼輸出的定序讀串總數(shù)和劃分的染色體區(qū)域信息提前計(jì)算得出。
因此,在本申請實(shí)施例中,通過根據(jù)染色體區(qū)域的已定序讀串,判斷各染色體區(qū)域分析任務(wù)的計(jì)算量差異,引導(dǎo)調(diào)度系統(tǒng)為復(fù)雜分析任務(wù)優(yōu)先分配優(yōu)勢計(jì)算資源,提升基因分析作業(yè)的整體性能,提升分析系統(tǒng)計(jì)算資源利用效率,從整體上降低基因分析作業(yè)的時(shí)間開銷。
圖5是根據(jù)本申請實(shí)施例的用于基因分析的資源分配裝置300的示意性框圖。如圖5所示,該裝置包括獲取單元310和分配單元320。其中,獲取單元310,用于根據(jù)目標(biāo)染色體區(qū)域中的已定序讀串,獲得該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值;分配單元320,用于根據(jù)該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值,為基因分析中針對該目標(biāo)染色體區(qū)域中的已定序讀串的整理與異變識別任務(wù)中的操作分配計(jì)算資源。
可選地,該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)包括:該目標(biāo)染色體 區(qū)域中的已定序讀串的數(shù)量和該目標(biāo)染色體區(qū)域中的位點(diǎn)的平均覆蓋深度的至少一種。
可選地,該獲取單元用于:根據(jù)覆蓋在該目標(biāo)染色體區(qū)域中的位點(diǎn)上的已定序讀串的數(shù)量值,獲得該目標(biāo)染色體區(qū)域中位點(diǎn)的覆蓋深度值;根據(jù)該目標(biāo)染色體區(qū)域中位點(diǎn)的覆蓋深度值,確定該目標(biāo)染色體區(qū)域中的間隙,從而得到以該間隙為間隔的該目標(biāo)染色體區(qū)域的至少兩個(gè)片段,其中,該間隙中位點(diǎn)的覆蓋深度值低于第一閾值,該間隙為該目標(biāo)染色體區(qū)域的片段或位點(diǎn),該至少兩個(gè)片段不包括該間隙;
將該目標(biāo)染色體區(qū)域的該至少兩個(gè)片段中的全部或部分片段確定為目標(biāo)片段;將該目標(biāo)片段的數(shù)量、該目標(biāo)片段的長度、該目標(biāo)片段中的已定序讀串的數(shù)量和該目標(biāo)片段的覆蓋深度中的至少一種,作為該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù);獲得該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值。
可選地,該獲取單元310用于:根據(jù)覆蓋在該目標(biāo)染色體區(qū)域中的位點(diǎn)上的已定序讀串的數(shù)量值,獲得該目標(biāo)染色體區(qū)域中位點(diǎn)的覆蓋深度值;根據(jù)該目標(biāo)染色體區(qū)域中位點(diǎn)的覆蓋深度值,確定該目標(biāo)染色體區(qū)域中的間隙,從而獲得以該間隙為間隔的該目標(biāo)染色體區(qū)域的至少兩個(gè)片段,其中,該間隙中位點(diǎn)的覆蓋深度值低于第一閾值,該間隙為該目標(biāo)染色體區(qū)域的片段或位點(diǎn),該至少兩個(gè)片段不包括該間隙;將該目標(biāo)染色體區(qū)域的該至少兩個(gè)片段中的全部或部分片段確定為目標(biāo)片段,該目標(biāo)片段的數(shù)量為至少兩個(gè);將該目標(biāo)片段的覆蓋深度值的加權(quán)平均值,作為該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù),該目標(biāo)片段的覆蓋深度為該目標(biāo)片段中位點(diǎn)的平均覆蓋深度;獲得該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值。
可選地,該獲取單元310用于:將該目標(biāo)染色體區(qū)域的至少兩個(gè)片段中已定序讀串的數(shù)量滿足預(yù)設(shè)的數(shù)量要求的片段,和該目標(biāo)染色體區(qū)域的至少兩個(gè)片段中位點(diǎn)的平均覆蓋深度滿足預(yù)設(shè)的覆蓋深度要求的片段中至少一種,作為該目標(biāo)片段。
可選地,該獲取單元310用于:將該目標(biāo)片段的長度值與該目標(biāo)染色體區(qū)域的長度值的比值,作為該目標(biāo)片段的覆蓋深度值的權(quán)值,計(jì)算該目標(biāo)片段的覆蓋深度值的加權(quán)平均值。
可選地,該獲取單元310還用于:獲取至少兩個(gè)染色體區(qū)域各自的用于資源分配的參數(shù)值的平均值;該分配單元320用于:根據(jù)該獲取單元310獲 取的目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值,以及該獲取單元310獲取的至少兩個(gè)染色體區(qū)域各自的用于資源分配的參數(shù)值的平均值,獲得該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值相對至少兩個(gè)染色體區(qū)域各自的用于資源分配的參數(shù)值的平均值的偏斜;根據(jù)該偏斜,為該操作分配計(jì)算資源。
可選地,該至少兩個(gè)染色體區(qū)域包括該目標(biāo)染色體區(qū)域。
可選地,該偏斜包括:該目標(biāo)片段的覆蓋深度值的加權(quán)平均值與該至少兩個(gè)染色體區(qū)域各自的覆蓋深度值的加權(quán)平均值的比值,該染色體區(qū)域的覆蓋深度包括該染色體區(qū)域的至少兩個(gè)片段各自的位點(diǎn)的覆蓋深度值的加權(quán)平均值,或包括該染色體區(qū)域的位點(diǎn)的平均覆蓋深度。
可選地,該偏斜包括:該目標(biāo)染色體區(qū)域的已定序讀串的數(shù)量值與該至少兩個(gè)染色體區(qū)域各自的已定序讀串的數(shù)量值的算數(shù)平均值的比值。
可選地,該分配單元320用于:根據(jù)該偏斜,對用于實(shí)現(xiàn)該操作的初始計(jì)算資源進(jìn)行調(diào)整,以得到該計(jì)算資源。
應(yīng)理解,根據(jù)本發(fā)明實(shí)施例的裝置300可以實(shí)現(xiàn)圖2所示的方法實(shí)施例或其他可選實(shí)施例(例如,如圖3或圖4所示)的相應(yīng)流程,為了簡潔,在此不再贅述。
圖6是根據(jù)本申請實(shí)施例的用于基因分析作業(yè)的資源分配裝置400的示意性框圖。
如圖6所示,該裝置400包括處理器410和存儲器420。存儲器420,用于存放程序指令。處理器410可以調(diào)用存儲器420中存放的程序指令,可以執(zhí)行圖2所示實(shí)施例中的一個(gè)或多個(gè)步驟,或方法實(shí)施例中的其他可選的實(shí)施方式。
具體地,處理器410可以調(diào)用存儲器420中存放的程序指令,執(zhí)行以下處理:根據(jù)目標(biāo)染色體區(qū)域中的已定序讀串,獲得該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值;根據(jù)該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值,為基因分析中針對該目標(biāo)染色體區(qū)域中的已定序讀串的整理與異變識別任務(wù)中的操作分配計(jì)算資源。
可選地,該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)包括:該目標(biāo)染色體區(qū)域中的已定序讀串的數(shù)量和該目標(biāo)染色體區(qū)域中的位點(diǎn)的平均覆蓋深度的至少一種。
可選地,處理器410可以調(diào)用存儲器420中存放的程序指令,執(zhí)行以下 處理:根據(jù)覆蓋在該目標(biāo)染色體區(qū)域中的位點(diǎn)上的已定序讀串的數(shù)量值,獲得該目標(biāo)染色體區(qū)域中位點(diǎn)的覆蓋深度值;根據(jù)該目標(biāo)染色體區(qū)域中位點(diǎn)的覆蓋深度值,確定該目標(biāo)染色體區(qū)域中的間隙,從而得到以該間隙為間隔的該目標(biāo)染色體區(qū)域的至少兩個(gè)片段,其中,該間隙中位點(diǎn)的覆蓋深度值低于第一閾值,該間隙為該目標(biāo)染色體區(qū)域的片段或位點(diǎn),該至少兩個(gè)片段不包括該間隙;將該目標(biāo)染色體區(qū)域的該至少兩個(gè)片段中的全部或部分片段確定為目標(biāo)片段;將該目標(biāo)片段的數(shù)量、該目標(biāo)片段的長度、該目標(biāo)片段中的已定序讀串的數(shù)量和該目標(biāo)片段的覆蓋深度中的至少一種,作為該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù);獲得該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值。
可選地,具體地,處理器410可以調(diào)用存儲器420中存放的程序指令,執(zhí)行以下處理:根據(jù)覆蓋在該目標(biāo)染色體區(qū)域中的位點(diǎn)上的已定序讀串的數(shù)量值,獲得該目標(biāo)染色體區(qū)域中位點(diǎn)的覆蓋深度值;根據(jù)該目標(biāo)染色體區(qū)域中位點(diǎn)的覆蓋深度值,確定該目標(biāo)染色體區(qū)域中的間隙,從而獲得以該間隙為間隔的該目標(biāo)染色體區(qū)域的至少兩個(gè)片段,其中,該間隙中位點(diǎn)的覆蓋深度值低于第一閾值,該間隙為該目標(biāo)染色體區(qū)域的片段或位點(diǎn),該至少兩個(gè)片段不包括該間隙;將該目標(biāo)染色體區(qū)域的該至少兩個(gè)片段中的全部或部分片段確定為目標(biāo)片段,該目標(biāo)片段的數(shù)量為至少兩個(gè);將該目標(biāo)片段的覆蓋深度值的加權(quán)平均值,作為該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù),該目標(biāo)片段的覆蓋深度為該目標(biāo)片段中位點(diǎn)的平均覆蓋深度;獲得該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值。
可選地,處理器410可以調(diào)用存儲器420中存放的程序指令,執(zhí)行以下處理:將該目標(biāo)染色體區(qū)域的至少兩個(gè)片段中已定序讀串的數(shù)量滿足預(yù)設(shè)的數(shù)量要求的片段,和該目標(biāo)染色體區(qū)域的至少兩個(gè)片段中位點(diǎn)的平均覆蓋深度滿足預(yù)設(shè)的覆蓋深度要求的片段中至少一種,作為該目標(biāo)片段。
可選地,處理器410可以調(diào)用存儲器420中存放的程序指令,執(zhí)行以下處理:將該目標(biāo)片段的長度值與該目標(biāo)染色體區(qū)域的長度值的比值,作為該目標(biāo)片段的覆蓋深度值的權(quán)值,計(jì)算該目標(biāo)片段的覆蓋深度值的加權(quán)平均值。
可選地,處理器410可以調(diào)用存儲器420中存放的程序指令,執(zhí)行以下處理:獲取至少兩個(gè)染色體區(qū)域各自的用于資源分配的參數(shù)值的平均值;根據(jù)該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值,以及該至少兩個(gè)染色體區(qū)域 各自的用于資源分配的參數(shù)值的平均值,獲得該目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值相對至少兩個(gè)染色體區(qū)域各自的用于資源分配的參數(shù)值的平均值的偏斜;根據(jù)該偏斜,為該操作分配計(jì)算資源。
可選地,該至少兩個(gè)染色體區(qū)域包括該目標(biāo)染色體區(qū)域。
可選地,該偏斜包括:該目標(biāo)片段的覆蓋深度值的加權(quán)平均值與該至少兩個(gè)染色體區(qū)域各自的覆蓋深度值的加權(quán)平均值的比值,該染色體區(qū)域的覆蓋深度包括該染色體區(qū)域的至少兩個(gè)片段各自的位點(diǎn)的覆蓋深度值的加權(quán)平均值,或包括該染色體區(qū)域的位點(diǎn)的平均覆蓋深度。
可選地,該偏斜包括:該目標(biāo)染色體區(qū)域的已定序讀串的數(shù)量值與該至少兩個(gè)染色體區(qū)域各自的已定序讀串的數(shù)量值的算數(shù)平均值的比值。
可選地,處理器410可以調(diào)用存儲器420中存放的程序指令,執(zhí)行以下處理:根據(jù)該偏斜,對用于實(shí)現(xiàn)該操作的初始計(jì)算資源進(jìn)行調(diào)整,以得到該計(jì)算資源。
可選地,如圖6所示,裝置400還可以包括總線系統(tǒng)430,處理器410、和存儲器420通過總線系統(tǒng)430相連。處理器410和存儲器420也可以通過其他方式相連,例如:直接連接。
可選地,如圖6所示,裝置400還包括接收器440,用于與其他裝置進(jìn)行數(shù)據(jù)的收發(fā),例如,接收其他裝置發(fā)送的已定序讀串,從而處理器可以基于該已定序讀串,獲取用于目標(biāo)染色體區(qū)域的用于資源分配的參數(shù)值。
在本申請實(shí)施例中,處理器410可以是中央處理器(centralprocessingunit,cpu),網(wǎng)絡(luò)處理器(networkprocessor,np)或者cpu和np的組合。處理器410還可以進(jìn)一步包括硬件芯片。上述硬件芯片可以是專用集成電路(application-specificintegratedcircuit,asic),可編程邏輯器件(programmablelogicdevice,pld)或其組合。上述pld可以是復(fù)雜可編程邏輯器件(complexprogrammablelogicdevice,cpld),現(xiàn)場可編程邏輯門陣列(field-programmablegatearray,fpga),通用陣列邏輯(genericarraylogic,gal)或其任意組合。
該總線系統(tǒng)430除包括數(shù)據(jù)總線之外,還可以包括電源總線、控制總線和狀態(tài)信號總線等。為便于表示,圖中僅用一條粗線表示總線系統(tǒng)430,但并不表示僅有一根總線或一種類型的總線。
應(yīng)理解,根據(jù)本發(fā)明實(shí)施例的裝置400可以實(shí)現(xiàn)圖2所示的方法實(shí)施例 或其他可選實(shí)施例的相應(yīng)流程,為了簡潔,在此不再贅述。
本領(lǐng)域普通技術(shù)人員可以意識到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來實(shí)現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。
在本申請所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。
所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲在一個(gè)計(jì)算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個(gè)存儲介質(zhì)中,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲器(rom,read-onlymemory)、隨機(jī)存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等各種可 以存儲程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。