一種運行于多核計算機平臺的并行通用序列的比對方法
【專利摘要】本發(fā)明公開了一種運行于多核計算機平臺的并行通用序列的比對方法,首先利用聚類方法(Cluster)對待比對序列集進(jìn)行分類,得到大小不等的子序列集合(C1,C2,……,Cm)。然后,應(yīng)用分配方法(Distribute)將待比對的子序列集合分配到各計算核上(Core1,Core2,……,Coren),以各個核上的負(fù)載平衡為分配的最終目標(biāo)。接著,應(yīng)用現(xiàn)有的序列比對方法對各子序列集合分別進(jìn)行比對(Align)。最后,應(yīng)用合并方法(Merge),將已比對的子序列集合合并,得到待比對序列集的最終比對結(jié)果。本發(fā)明基于多核計算平臺,充分利用了數(shù)據(jù)并行的計算策略,從而顯著提高生物序列比對的處理效率。
【專利說明】—種運行于多核計算機平臺的并行通用序列的比對方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計算機軟件【技術(shù)領(lǐng)域】,涉及一種運行于多核計算機平臺的并行通用序列的比對方法。
【背景技術(shù)】
[0002]序列是生物信息的載體,包括DNA (脫氧核糖核酸)、RNA (核糖核酸)和蛋白質(zhì)等。生物序列比對(sequence alignment)是以序列為研究對象,通過比較序列中各字符間的對應(yīng)關(guān)系或字符的對比排列,發(fā)現(xiàn)序列之間的相似性,辨別序列之間的差異,從而推測其結(jié)構(gòu)、功能以及進(jìn)化上的聯(lián)系。序列比對是生物序列分析領(lǐng)域最重要的研究方向之一,已被廣泛應(yīng)用于進(jìn)化分析、功能預(yù)測、相似性搜索、生物制藥、疾病診斷與治療等方面。
[0003]高性能計算的發(fā)展現(xiàn)狀表明,計算機體系結(jié)構(gòu)已朝著單核到多核、同構(gòu)到異構(gòu)體系結(jié)構(gòu)快速發(fā)展。有關(guān)并行的序列比對方法主要分成二種思路。
[0004]第一種思路是在經(jīng)典體系結(jié)構(gòu)上提出并行序列比對解決方法,經(jīng)典體系結(jié)構(gòu)包括總線網(wǎng)、Mesh網(wǎng)、機群和眾核計算機等計算平臺。在國內(nèi),中科院計算技術(shù)研究所在DAWING2000-1機群系統(tǒng)上開發(fā)了并行S-W方法,通過應(yīng)用分而治之策略,有效地降低了內(nèi)存需求,實現(xiàn)了大規(guī)模序列比對數(shù)據(jù)的并行處理。還有應(yīng)用64核Tile64平臺實現(xiàn)的N-W序列比對方法,獲得了 20倍的加速效果。另外,還采用了 Amazon Elastic Cloud(EC2)平臺實現(xiàn)了T-COFFEE序列比對方法。
[0005]另一種思路是鑒于通用計算平臺處理生物序列比對的局限性,目前國內(nèi)外大多采用硬件加速部件與通用微處理器組成異構(gòu)處理結(jié)構(gòu),對生物序列比對的應(yīng)用進(jìn)行加速。硬件加速部分包括GPU(Graphic Processing Unit)、FPGA (Field Programmable Gate Array)和Cell BE (Cell Broadband Engine)。自2006年最早提出GPU加速S-W方法以來,已提出了許多GPU在序列比對領(lǐng)域的應(yīng)用。采用的GPU類型大部分基于NVIDIA GPU的實現(xiàn),2011年,中國首先采用AMD ATI HD4850實現(xiàn)多序列比對的加速,也是迄今為止唯一將AMD GPU應(yīng)用于序列比對領(lǐng)域的方法。除了單GPU上實現(xiàn)序列比對外,也提出了多GPU協(xié)同實現(xiàn)序列比對的方法。自1998年首次應(yīng)用FPGA加速序列比對應(yīng)用以來,已有許多采用線性脈動陣列處理器的序列比對方法。2007年,Sachdeva等第一次將Cell BE平臺應(yīng)用到序列比對領(lǐng)域,隨后提出了 FASTA、Clustalff, BLASTP等方法的Cell BE加速方法。
[0006]通用計算平臺和異構(gòu)計算平臺加速序列比對的方法各有優(yōu)劣。具體分析如下:
[0007]雖然采用通用計算平臺對序列比對的并行計算取得了明顯的加速效果,但從并行效率上分析,通用計算平臺對序列比對這類數(shù)據(jù)相關(guān)性較強的計算密集型應(yīng)用,并行效率一般不超過60%。而且隨著序列比對問題規(guī)模的增大和處理器數(shù)量的增加,并行效率呈明顯下降趨勢。
[0008]鑒于異構(gòu)體系結(jié)構(gòu)能夠適應(yīng)序列比對算法多樣性的同時保持系統(tǒng)軟件兼容,并且隨著GPU、FPGA和Cell BE性能提升和價格、功耗的不斷降低,基于異構(gòu)體系結(jié)構(gòu)的并行序列比對方法是序列比對領(lǐng)域正在探索的重要發(fā)展方向。雖然GPU等加速部件擁有強大的計算能力和卓越的性價比,但是由于其硬件結(jié)構(gòu)固定,擁有有限的內(nèi)存,不能在運算粒度、存儲調(diào)度、計算適應(yīng)度方面適應(yīng)序列比對具體應(yīng)用的特點,限制了實際計算性能。因此,異構(gòu)計算平臺序列比對加速方法研究目前急需解決以下問題:
[0009](I)異構(gòu)平臺的高效協(xié)同方式。CPU與加速部件(GPU、FPGA和Cell BE)之間的高效協(xié)同計算是提升序列比對性能的關(guān)鍵因素。必須根據(jù)硬件加速部件的計算能力和執(zhí)行特點,確定合理的協(xié)同方式,以保證CPU與加速部件之間的負(fù)載平衡,降低各種交互開銷,進(jìn)而提高并行方法的執(zhí)行效率。
[0010](2)序列比對程序的性能優(yōu)化。對采用硬件加速部件加速的序列比對并行計算程序而言,影響其性能的因素主要有:計算的組織方式、寄存器和緩存的使用、存儲器訪問特點、同步以及數(shù)據(jù)傳輸?shù)?。如何?yōu)化這些影響性能的主要因素,是研究序列比對硬件加速方法的難點。
【發(fā)明內(nèi)容】
[0011]本發(fā)明的所要解決的技術(shù)問題是提供一種運行于多核計算機平臺的并行通用序列的比對方法,以克服現(xiàn)有技術(shù)中序列比對的執(zhí)行效率不高的問題。
[0012]一種運行于多核計算機平臺的并行通用序列的比對方法,首先應(yīng)用聚類方法對待比對序列集合以已知功能序列作為聚類中心進(jìn)行劃分得到多個序列子集;然后將多個序列子集分配到各計算機核上獨立地與各自的聚類中心進(jìn)行比對,得到序列子集的比對結(jié)果;最后應(yīng)用漸進(jìn)式方法對序列子集的比對結(jié)果進(jìn)行合并,得到待比對序列集合的比對結(jié)果矩陣A,完成序列比對;
[0013]所述矩陣A滿足以下條件:
[0014](I)矩陣 A 中的元素 Bij e Σ U {.};
[0015]其中,Σ表示生物序列字母表,若為DNA序列,則Σ = {A、C、G、T};若為蛋白質(zhì)序列,則Σ為20個簡單氨基酸分子;{.}表示在序列比對過程中插入的空格;
[0016](2)若刪除空格,矩陣A中的行a, = anai2…an(l彡i彡η)即為待比對序列集合中的某一序列;
[0017](3)矩陣A中不存在全為空格的列。
[0018]所述將序列子集分配到各計算機核上獨立地進(jìn)行比對的具體過程如下:
[0019]I)計算每個序列子集Ci所需的比對時間WCi),i表示第i個序列子集;
[0020]2)根據(jù)序列子集的比對時間,以各個核的負(fù)載平衡為分配目標(biāo),采用最長處理時間優(yōu)先的啟發(fā)式序列子集分配方法,將序列子集分配到各個計算機核上執(zhí)行比對操作。
[0021]所述序列子集所需的比對時間計算方法包括以下兩種:
[0022]Dt(Ci) ~ NX L,比對時間 t (Ci)正比于 NXL;
[0023]2) t (Ci) aN4+bNL2,比對時間 t (Ci)正比于 aN4+bNL2 ;
[0024]其中,其中N和L分別為序列子集Ci所包含的序列數(shù)目和所有序列的平均長度;
[0025]a和b均為擬合系數(shù),從序列相似度在90%以上的已知序列中,隨機挑選序列構(gòu)建序列子集,利用現(xiàn)有比對工具獲得序列子集的比對時間,采用最小二乘法進(jìn)行非線性數(shù)據(jù)擬合求得a和b。
[0026]所述最長處理時間優(yōu)先的啟發(fā)式序列子集分配方法具體過程如下:
[0027]步驟1:將多個序列子集IC1, C2,…,CJ按序列子集的比對時間進(jìn)行非升序排列,即 WC1) ^ t(C2) >,...,> t(Cx);
[0028]步驟2:令Uj = Φ,Lj = 0,其中,Uj是J的子集,Lj是Uj中所有子集的比對時間之和,j = I,2,......,m, m表示計算機核數(shù);
[0029]步驟3:令i = I, U1(m) = Um, L1 (m) = Lm, U1(m)表示序號為m的計算機核上所分配的序列子集的集合;
[0030]步驟4 -.U1 ⑴=U1(1) U Ci, L1(1) = L1(1) U ^t(Ci),并將 U1 ⑴,U1 ⑵,......,U1(m)按照
Liw的大小進(jìn)行非降序排列,得到新的U' 1(1),U' 1(2),……’U, 1(ffl);
[0031 ] 步驟5:將U' i (m)賦值給U1 (m),使得 Li ⑴ < L1 ⑵......,< L1 (m);
[0032]步驟6:判斷i是否為X,若不是,則i = i+Ι,返回步驟4 ;若是,貝U按照l_m的順序?qū)?111)依次分配到序號為Ι-m的核上進(jìn)行序列比對。
[0033]所述聚類方法為Cchhit和UCLUST。
[0034]所述應(yīng)用漸進(jìn)式方法對序列子集的比對結(jié)果進(jìn)行合并是指:
[0035]首先進(jìn)行核內(nèi)的序列比對,然后進(jìn)行核與核之間的序列比對,直到得到η條序列的比對結(jié)果;
[0036]其中,序列比對的順序按照序列所在序列子集的編號和核編號從小到大的順序。
[0037]矩陣A是最后序列比對呈現(xiàn)的結(jié)果,在得到矩陣A以后,需計算Q得分或TC得分來評價序列比對的結(jié)果(即矩陣Α),評價序列的相似性。
[0038]有益效果
[0039]本發(fā)明的技術(shù)主要構(gòu)思是應(yīng)用數(shù)據(jù)并行的思想充分挖掘多核計算平臺的性能,提出多序列比對的并行解決方法。通過將輸入序列集合劃分為小的序列子集,并將這些子集分配到計算機核上并行地、獨立地執(zhí)行比對操作,最后將子集的比對結(jié)果進(jìn)行合并,得到輸入序列集合的比對結(jié)果。在此過程中,充分考慮了數(shù)據(jù)并行對多核計算平臺的計算性能的影響,通過設(shè)計負(fù)載平衡的核間比對任務(wù)分配方法,以及有效的漸進(jìn)式序列譜一序列譜比對方法對序列子集的合并結(jié)果進(jìn)行合并,顯著提高整個系統(tǒng)的比對處理效率。
[0040]另外,本發(fā)明所述方法是針對當(dāng)前流行的多核計算平臺而設(shè)計,運行于Windows操作系統(tǒng)之上,包括Windows XP, Windows Vista,和Win7。用戶只需要一臺多核計算機而不需要增加任何硬件成本即可應(yīng)用此方法比對高達(dá)3萬條的生物序列。應(yīng)用本發(fā)明所述方法比采用計算機集群、GPU、FPGA或Cell BE等對硬件有特殊要求的方法有無可比擬的優(yōu)勢。
【專利附圖】
【附圖說明】
[0041]圖1為本發(fā)明所述方法示意圖;
[0042]圖2為漸進(jìn)式序列一序列比對方法;
[0043]圖3為應(yīng)用本發(fā)明所述方法在4個核上的進(jìn)行序列比對所需運行時間比較;
[0044]圖4為本發(fā)明所述方法CDAM與方法MUSCLE的比對精度對比示意圖;
[0045]圖5為本發(fā)明所述方法CDAM (U⑶LST)與方法MUSCLE的加速比對比示意圖。
【具體實施方式】
[0046]下面將結(jié)合附圖和實施例對本發(fā)明做進(jìn)一步的說明。
[0047]一種運行于多核計算機平臺的并行通用序列的比對方法,首先應(yīng)用聚類方法對待比對序列集合以已知功能序列作為聚類中心進(jìn)行劃分得到多個序列子集;然后將多個序列子集分配到各計算機核上獨立地與各自的聚類中心進(jìn)行比對,得到序列子集的比對結(jié)果;最后應(yīng)用漸進(jìn)式方法對序列子集的比對結(jié)果進(jìn)行合并,得到待比對序列集合的比對結(jié)果矩陣A,完成序列比對;
[0048]所述矩陣A滿足以下條件:
[0049](I)矩陣 A 中的元素 aiJ; Bij e Σ U {.};
[0050]其中,Σ表示生物序列字母表,若為DNA序列,則Σ = {A、C、G、T};若為蛋白質(zhì)序列,則Σ為20個簡單氨基酸分子;{.}表示在序列比對過程中插入的空格;
[0051](2)若刪除空格,矩陣A中的行a, = anai2…an(l彡i彡η)即為待比對序列集合中的某一序列;
[0052](3)矩陣A中不存在全為空格的列。
[0053]所述將序列子集分配到各計算機核上獨立地進(jìn)行比對的具體過程如下:
[0054]I)計算每個序列子集Ci所需的比對時間t (Ci),i表示第i個序列子集;
[0055]2)根據(jù)序列子集的比對時間,以各個核的負(fù)載平衡為分配目標(biāo),采用最長處理時間優(yōu)先的啟發(fā)式序列子集分配方法,將序列子集分配到各個計算機核上執(zhí)行比對操作。
[0056]3.根據(jù)權(quán)利要求2所述的運行于多核計算機平臺的并行通用序列的比對方法,其特征在于,所述序列子集所需的比對時間計算方法包括以下兩種:
[0057]Dt(Ci) a NX L,比對時間 t (Ci)正比于 NXL;
[0058]2) t (Ci) ο- aN4+bNL2,比對時間 t (Ci)正比于 aN4+bNL2 ;
[0059]其中,其中N和L分別為序列子集Ci所包含的序列數(shù)目和所有序列的平均長度;
[0060]a和b均為擬合系數(shù),從序列相似度在90%以上的已知序列中,隨機挑選序列構(gòu)建序列子集,利用現(xiàn)有比對工具獲得序列子集的比對時間,采用最小二乘法進(jìn)行非線性數(shù)據(jù)擬合求得a和b。
[0061]使用PS1-BLAST搜索工具在NCBI非冗余蛋白質(zhì)序列數(shù)據(jù)庫搜索與RovA(NCBI:AAD51968, Yersinia enterocolitica)序列相似度得分最高的400條序列。這400條序列的平均長度為143個殘基,最長序列262個殘基,平均序列對之間的相似度為90%。在這些序列中隨機地選擇50、100、150、…、400條序列構(gòu)成8個序列集,利用CDAM所選用的比對方法分別測量這8個序列集的比對時間,已知N和L,使用最小二乘法進(jìn)行非線性數(shù)據(jù)擬合,求出系數(shù)a和b。
[0062]為了比較這兩種方法的性能,使用Rose序列生成器生成8個數(shù)據(jù)集,它們的平均序列長度為100,序列間的平均距離為150,序列的數(shù)目分別從1,000至8,000。通過在一臺多核計算機上測量CDAM選用的比對方法比對這些數(shù)據(jù)集的時間,記錄各個核上的運行時間。選擇兩種方法中各個核運行時間大致相等的作為CDAM序列子集比對時間的計算方法。
[0063]所述最長處理時間優(yōu)先的啟發(fā)式序列子集分配方法具體過程如下:
[0064]步驟1:將多個序列子集IC1, C2,…,CJ按序列子集的比對時間進(jìn)行非升序排列,即 WC1) ^ t(c2) >,...,> t(cx);
[0065]步驟2:令Uj = Φ,Lj = 0,其中,Uj是J的子集,Lj是Uj中所有子集的比對時間之和,j = I,2,......,m, m表示計算機核數(shù);
[0066]步驟3:令i = I, U1(m) = Um, L1 (m) = Lm, U1(m)表示序號為m的計算機核上所分配的序列子集的集合;
[0067]步驟4:U1(1) = U1 ⑴ U Ci, L1⑴=L1 ⑴ U t (Ci),并將 U1 ⑴,U1 ⑵,……,U1 (m)按照L1(m)的大小進(jìn)行非降序排列,得到新的U' 1(1),U' 1(2),……’U, 1(ffl);
[0068]步驟5:將U' I (m)賦值給U1 (m),使得 Li ⑴ < L1 ⑵......,< L1 (m);
[0069]步驟6:判斷i是否為X,若不是,則i = i+Ι,返回步驟4 ;若是,貝U按照l_m的順序?qū)?111)依次分配到序號為Ι-m的核上進(jìn)行序列比對。
[0070]舉例說明如下:
[0071]假定有八個序列子集,三個核,序列子集C1-C8的比對時間依次為8、8、7、5、3、2、2、1 ;
[0072]最后得到三個核上的序列子集為:核I包含Cl、C5、C8,核2包含C2、C6、C7,核3包含C3、C4。
[0073]所述聚類方法為Cd-hit和UCLUST。
[0074]聚類是生物信息學(xué)中常用的序列分類手段,為了提高CDAM方法的性能(即比對精度和比對時間),先定義出滿足其應(yīng)用需求的特性。通過定義序列聚類方法所具備的基本特征,來評估聚類方法與CDAM應(yīng)用的適合度。
[0075]可擴展性:聚類時間與算法的內(nèi)存需求不能隨著序列數(shù)目的增加而呈指數(shù)形式增長,算法應(yīng)在較短的時間內(nèi)完成大規(guī)模序列的聚類工作。另一方面,CDAM策略是為當(dāng)代流行的多核計算平臺而設(shè)計,通常多核計算機只有有限的計算資源,這就要求聚類算法必須具有可擴展性。
[0076]并行性:聚類算法可并行地運行,這樣才能在有限的時間內(nèi)處理大規(guī)模的序列數(shù)據(jù)。
[0077]聚類大規(guī)模序列數(shù)據(jù)的能力:如果聚類算法能在一定的時間內(nèi)聚類幾千條序列,則該算法適合于處理大規(guī)模的序列數(shù)據(jù)。
[0078]根據(jù)以上聚類算法必須滿足的基本特征,選擇5種聚類算法Cd-hit、UCLUST、SiLiXXLUSS和BLASTClust應(yīng)用到CDAM策略。雖然這5種算法均能進(jìn)行序列聚類,但僅前三種算法能處理大規(guī)模的序列聚類。這樣選擇的目的是通過比較這些算法的優(yōu)點和不足,得到選擇適合CDAM策略的聚類算法的標(biāo)準(zhǔn)。
[0079]分別將這5種聚類方法應(yīng)用到CDAM的數(shù)據(jù)預(yù)處理階段,選用BAl iBASE3.0、OXBenchl.3、IRMBASE2.0和PREFAB4.0等4個基準(zhǔn)多序列比對庫來評估聚類算法的性能。各CDAM程序比對基準(zhǔn)多序列比對庫的實驗結(jié)果清晰地表明,Cd-hit和UCLUST比SiLiX、CLUSS和BLASTClust具有更好的兼容性,更容易移植到CDAM方法中,建議采用Cd-hit和UCLUST作為CDAM默認(rèn)的聚類方法。
[0080]所述應(yīng)用漸進(jìn)式方法對序列子集的比對結(jié)果進(jìn)行合并是指:
[0081]首先進(jìn)行核內(nèi)的序列比對,然后進(jìn)行核與核之間的序列比對,直到得到η條序列的比對結(jié)果;
[0082]其中,序列比對的順序按照序列所在序列子集的編號和核編號從小到大的順序。
[0083]矩陣A是最后序列比對呈現(xiàn)的結(jié)果,在得到矩陣A以后,需計算Q得分或TC得分來評價序列比對的結(jié)果(即矩陣A),評價序列的相似性。
[0084]為測評CDAM的性能,選用MUSCLE方法作為各個核的序列子集的比對。定義Q得分、TC得分以及加速比來評估CDAM方法的性能。Q得分定義為比對結(jié)果中正確比對的字符對的數(shù)目與所有字符對的數(shù)目的商。TC得分定義為比對結(jié)果中正確比對的列數(shù)與所有列數(shù)的商。加速比定義為:加速比=T?saE/Tp,其中TmsaE為MUSCLE方法的比對時間,Tp為CDAM方法應(yīng)用P個計算機核的比對時間。
[0085]實施例1:
[0086]實驗分別測試兩組數(shù)據(jù),一組為傳統(tǒng)的序列比對Benchmarks,包括BAliBASE3.0、IRMBASE2.0、PREFAB4.0和OXBenchl.3,其目的用于計算CDAM方法的Q/TC得分,以評估其比對精度。一組為使用Rose序列產(chǎn)生器生成大規(guī)模序列集合,用于計算CDAM方法與MUSCLE方法的加速比,以評估CDAM方法處理大規(guī)模序列比對的效率。
[0087]測試?yán)?:分別運行MUSCLE和CDAM兩種方法,實驗數(shù)據(jù)為4組Benchmarks,收集兩種方法在4組Benchmarks下的Q得分和TC得分。實驗結(jié)果如附圖4所示,結(jié)果表明,CDAM與MUSCLE方法具有接近的比對精度。這是因為CDAM方法采用MUSCLE方法作為各個核的序列子集的比對方法,所以獲得了與MUSCLE方法接近的比對精度,這也驗證了 CDAM方法比對序列的有效性。
[0088]測試?yán)?:分別運行MUSCLE和CDAM兩種方法,實驗數(shù)據(jù)為由Rose序列產(chǎn)生器產(chǎn)生的28個序列集合。分別使用1、2、4和8個核,計算這兩種方法下的序列比對時間,求出加速比。Rose的參數(shù)設(shè)置為:序列數(shù)目為1000?8000,序列的平均長度為200 — 2000,序列的平均距離為150?1050。實驗結(jié)果如附圖5所示,當(dāng)序列集數(shù)目小于6000時,加速比線性上升,而當(dāng)序列數(shù)目大于6000時,加速比線性減小。這是因為當(dāng)序列數(shù)目增加時,應(yīng)用漸進(jìn)序列譜一序列譜比對方法合并序列子集的比對結(jié)果時,最后合并僅能由一個核執(zhí)行,合并的時間會隨著序列的數(shù)目慢慢增大。
[0089]在兩種測試?yán)卤景l(fā)明所述方法CDAM的各核的運行時間(圖3)、比對精度(圖4)、和加速比(圖5)。
[0090]圖3列出了基于WCi) ~ NXL這種假設(shè)的計算機內(nèi)核的運行時間。對比圖中各個核的運行時間可以得出,各個核的運行時間大致相同,取得了較好的負(fù)載平衡。因此,本發(fā)明選擇t (Ci) OC NXL作為LPT算法中運行時間的計算依據(jù)。
[0091]各類CDAM與方法MUSCLE的比對精度對比如圖4所示。從圖4可以看出,各CDAM方法取得了與方法MUSCLE接近的比對精度。“一”表示該CDAM程序不能比對該項數(shù)據(jù),這是因為BLASTClust算法在聚類時將PREFAB4.0的序列標(biāo)識(一個字符串)改變成了另一個名稱,使得CDAM算法在比對時找不到相應(yīng)的序列,CDAM(BLASTClust)不能正常比對PREFAB4.0。另外,由于CLUSS程序中存在的錯誤,CDAM(CLUSS)不能比對OXBenchl.3。
[0092]CDAM(UCLUST)與MUSCLE的加速比如圖5所示。從圖中可以看出,當(dāng)序列數(shù)目少于6000時,CDAM(UCLUST)表現(xiàn)了超線性加速。當(dāng)序列數(shù)目大于6000時,加速比呈下降趨勢,但使用8個核的加速比仍達(dá)150。
[0093]實驗結(jié)果表明,另外,結(jié)合圖3 - 5可知,LPT分配方法能根據(jù)序列子集的運行時間分配任務(wù),能達(dá)到各核的運行時間的基本一致。CDAM方法在維持與方法MUSCLE接近的比對精度的同時,最大能獲得219倍的速度提升。隨著比對序列集合的增加,數(shù)據(jù)并行策略的優(yōu)勢不斷擴大,CDAM方法的優(yōu)勢將更為明顯。本發(fā)明為高吞吐量的基因時代提供了一種高效處理序列比對數(shù)據(jù)的方法。
【權(quán)利要求】
1.一種運行于多核計算機平臺的并行通用序列的比對方法,其特征在于,首先應(yīng)用聚類方法對待比對序列集合以已知功能序列作為聚類中心進(jìn)行劃分得到多個序列子集;然后將多個序列子集分配到各計算機核上獨立地與各自的聚類中心進(jìn)行比對,得到序列子集的比對結(jié)果;最后應(yīng)用漸進(jìn)式方法對序列子集的比對結(jié)果進(jìn)行合并,得到待比對序列集合的比對結(jié)果矩陣A,完成序列比對; 所述矩陣A滿足以下條件: (1)矩陣A中的元素aij;aij e Σ U {.}; 其中,Σ表示生物序列字母表,若為DNA序列,則Σ = {A、C、G、T};若為蛋白質(zhì)序列,則Σ為20個簡單氨基酸分子;{.}表示在序列比對過程中插入的空格; (2)若刪除空格,矩陣A中的行=anai2…an(l彡i彡η)即為待比對序列集合中的某一序列; (3)矩陣A中不存在全為空格的列。
2.根據(jù)權(quán)利要求1所述的運行于多核計算機平臺的并行通用序列的比對方法,其特征在于,所述將序列子集分配到各計算機核上獨立地進(jìn)行比對的具體過程如下: 1)計算每個序列子集Ci所需的比對時間t(Ci),i表示第i個序列子集; 2)根據(jù)序列子集的比對時間,以各個核的負(fù)載平衡為分配目標(biāo),采用最長處理時間優(yōu)先的啟發(fā)式序列子集分配方法,將序列子集分配到各個計算機核上執(zhí)行比對操作。
3.根據(jù)權(quán)利要求2所述的運行于多核計算機平臺的并行通用序列的比對方法,其特征在于,所述序列子集所需的比對時間計算方法包括以下兩種: Dt(Ci) ο- NXL,比對時間t (Ci)正比于NXL ;
2)t (Ci) ο- aN4+bNL2,比對時間 t (Ci)正比于 aN4+bNL2 ; 其中,其中N和L分別為序列子集Ci所包含的序列數(shù)目和所有序列的平均長度; a和b均為擬合系數(shù),從序列相似度在90%以上的已知序列中,隨機挑選序列構(gòu)建序列子集,利用現(xiàn)有比對工具獲得序列子集的比對時間,采用最小二乘法進(jìn)行非線性數(shù)據(jù)擬合求得a和b。
4.根據(jù)權(quán)利要求2所述的運行于多核計算機平臺的并行通用序列的比對方法,其特征在于,所述最長處理時間優(yōu)先的啟發(fā)式序列子集分配方法具體過程如下: 步驟1:將多個序列子集IC1, C2,…,CJ按序列子集的比對時間進(jìn)行非升序排列,即WC1) ^ t (C2)彡,…,彡 t (Cx); 步驟2:令% = Φ,Lj = 0,其中,%是J的子集,Lj是Uj中所有子集的比對時間之和,j = 1,2,......,m,m表示計算機核數(shù); 步驟3:令i = I, U1(m) = Um, L1(m) = Lm, Uiw表示序號為m的計算機核上所分配的序列子集的集合;
步驟 4:U1(1) = U1⑴ U Ci, L1 ⑴=L1⑴ U t (Ci),并將 U1 ⑴,U1(2),......,U1(m)按照 L1(m)的大小進(jìn)行非降序排列,得到新的U, 1(1),U I ⑵,......,U Km); 步驟5:將U' 1(m)賦值給U1 (m),使得 Li ⑴ < L1 ⑵......,< L1 (m); 步驟6:判斷i是否為X,若不是,則i = i+Ι,返回步驟4 ;若是,則按照Ι-m的順序?qū)iw依次分配到序號為Ι-m的核上進(jìn)行序列比對。
5.根據(jù)權(quán)利要求1-4任一項所述的運行于多核計算機平臺的并行通用序列的比對方法,其特征在于,所述聚類方法為Cd-hit和UCLUST。
6.根據(jù)權(quán)利要求1-4所述的運行于多核計算機平臺的并行通用序列的比對方法,其特征在于,所述應(yīng)用漸進(jìn)式方法對序列子集的比對結(jié)果進(jìn)行合并是指: 首先進(jìn)行核內(nèi)的序列比對,然后進(jìn)行核與核之間的序列比對,直到得到η條序列的比對結(jié)果; 其中,序列比對的順序按照序列所在序列子集的編號和核編號從小到大的順序。
【文檔編號】G06F19/00GK104239732SQ201410491798
【公開日】2014年12月24日 申請日期:2014年9月24日 優(yōu)先權(quán)日:2014年9月24日
【發(fā)明者】李肯立, 朱香元, 唐卓, 徐雨明, 李克勤, 肖正 申請人:湖南大學(xué)