本發(fā)明涉及生物信息處理領(lǐng)域,尤其涉及基于標(biāo)準(zhǔn)熵的局部敏感哈希的dna序列聚類。
背景技術(shù):
:隨著互聯(lián)網(wǎng)時(shí)代的到來和信息技術(shù)的發(fā)展,基因測序技術(shù)發(fā)展地愈發(fā)成熟,加之各項(xiàng)基因項(xiàng)目的開展,生物數(shù)據(jù)的數(shù)量呈暴增式增長,傳統(tǒng)的方法已經(jīng)無法滿足海量的數(shù)據(jù)處理分析。生物信息學(xué)是指將生物學(xué)與計(jì)算機(jī)技術(shù)結(jié)合,與數(shù)學(xué)學(xué)科交互,獲取生物信息對(duì)其加工、提取、分析、存儲(chǔ)等,挖掘遺傳物質(zhì)的位置信息。數(shù)據(jù)挖掘技術(shù)是一種能從大量數(shù)據(jù)中提取有用的、潛在的有效信息的技術(shù)。數(shù)據(jù)挖掘中的聚類能將具有某些相同特征的序列聚集在一起,更好的分析數(shù)據(jù)的功能或結(jié)構(gòu),從已知的功能和結(jié)構(gòu)的序列探索出未知序列的有效信息是具有極大意義的?,F(xiàn)有的序列聚類方法存在很多的缺陷?;趧澐值膋-medoid算法、基于層次的全連接(complete-link)算法,這些傳統(tǒng)聚類算法,需要對(duì)序列進(jìn)行兩兩比對(duì),時(shí)間復(fù)雜度高,如今的dna序列數(shù)量增長極快,傳統(tǒng)算法無法應(yīng)用于海量數(shù)據(jù)中。k-means算法需要確定聚類個(gè)數(shù),序列數(shù)據(jù)的質(zhì)心也不易計(jì)算,初始聚類中心隨機(jī)使得聚類結(jié)果不穩(wěn)定,應(yīng)用到生物序列數(shù)據(jù)聚類效果不佳。基于bag圖的聚類算法的結(jié)果有效,但在類的分割時(shí)需要使用聚類單元引導(dǎo),而基因庫中的序列數(shù)目過多,導(dǎo)致其使用無向圖表示過多的序列異常困難。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供基于標(biāo)準(zhǔn)熵的局部敏感哈希的dna序列聚類。為了實(shí)現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:基于標(biāo)準(zhǔn)熵的局部敏感哈希的dna序列聚類,包括以下步驟:(1)采用第二代測序技術(shù)對(duì)整條待測序列進(jìn)行測序,得到一批dna短片段,每一個(gè)短片段稱為dna片段序列;(2)dna片段序列中的字母集合為{a、c、g、t},|∑|表示該字母集合中字母的個(gè)數(shù),初始化待處理字的字長大小l,對(duì)dna片段序列使用固定長度的滑動(dòng)窗口獲得待處理字y集合,待處理字y集合中待處理字y的個(gè)數(shù)為|∑|l,,根據(jù)每個(gè)待處理字的位置信息xt計(jì)算其熵值h;所述待處理字的位置信息xt是指待處理字在dna片段序列中兩次出現(xiàn)時(shí)對(duì)應(yīng)的兩個(gè)位置間的距離的倒數(shù);其中,y表示待處理字,t表示待處理字出現(xiàn)的位置順序,lfty表示待處理字y的第t次出現(xiàn)在dna片段序列的位置,yλ表示第λ個(gè)預(yù)處理字;λ表示待處理字的編號(hào);z代表待處理字出現(xiàn)的頻數(shù);p[t]為離散概率p的第t個(gè)離散概率,即為部分和st占總和z比的離散概率;部分和st表示位置信息xt之和,st=x1+x2+...+xt;總和z=s1+s2+...+sn;(3)計(jì)算特征向量:將熵值使用公式標(biāo)準(zhǔn)化得到標(biāo)準(zhǔn)熵值hlf作為哈希函數(shù)的特征變量,標(biāo)準(zhǔn)熵值hlf的計(jì)算公式如下:h(yλ)是字yλ的熵,z代表待處理字出現(xiàn)的頻數(shù);(4)計(jì)算哈希矩陣hm:將n條dna片段序列對(duì)應(yīng)的標(biāo)準(zhǔn)熵值hlf采用lsh方法進(jìn)行計(jì)算,使用num_f個(gè)哈希函數(shù)計(jì)算得到num_f*n的哈希矩陣hm,哈希函數(shù)的公式如下:其中v為dna片段序列的特征向量,a為與特征向量v個(gè)數(shù)相同的0到1之間的隨機(jī)向量,m為0到w的任一整數(shù),w為任意正整數(shù),這樣哈希函數(shù)fa,m(v)將一個(gè)d維空間向量v映射為一個(gè)整數(shù);(5)計(jì)算拼接哈希矩陣phm:使用變量b,將哈希矩陣hm分成b個(gè)桶,每個(gè)桶有r行,其中r=num_f/b,對(duì)于每個(gè)桶的哈希矩陣hm,第i(i∈[1,num_f])行表示第i個(gè)哈希函數(shù),第j(j∈[1,n])列表示第j條dna片段序列,則hmij表示將第j條dna片段序列的標(biāo)準(zhǔn)熵值采用第i個(gè)哈希函數(shù)進(jìn)行哈希映射后的整數(shù)值;然后對(duì)hmij只保留前三位,不足三位則高位補(bǔ)充0;最后將hmj的每行進(jìn)行拼接作為哈希拼接值,得到b*n的拼接哈希矩陣phm;(6)計(jì)算候選dna片段序列集合:對(duì)于dna片段序列si(i∈[1,n]),當(dāng)在拼接哈希矩陣phm中存在dna片段序列sj(j∈[1,n],i≠j)與si在同一行的哈希拼接值相同,則sj是si的候選dna片段序列,si的所有候選dna片段序列構(gòu)成候選dna片段序列集合candidate;(7)實(shí)現(xiàn)聚類:隨機(jī)選取一條未被聚類的dna片段序列作為聚類中心,篩選該聚類中心對(duì)應(yīng)的候選dna片段序列集合candidate與該聚類中心的編輯距離小于指定的閥值d的候選序列作為一個(gè)聚類結(jié)果,(由于已進(jìn)行聚類的序列不再作為聚類中心或出現(xiàn)在其他聚類結(jié)果中),將已經(jīng)被聚類的dna片段序列存儲(chǔ)在clustered中,循環(huán)上述聚類步驟,直到所有dna片段序列都被聚類(即clustered中包含所有的序列)。其中,編輯距離反映兩條序列之間的不相似度,編輯距離越大說明越不相似。在聚類過程中,我們希望將相似的序列聚在一起,因此會(huì)指定一個(gè)閥值d,編輯距離小于d說明這兩條序列符合定義的相似的要求。進(jìn)一步,所述步驟(4),w的取值為4。本發(fā)明采用以上技術(shù)方案,在眾多的dna序列分析方法中,我們通過對(duì)原始的dna序列按著l-gram模型進(jìn)行映射,即由于dna序列是由{a,t,c,g}四個(gè)字母組成,預(yù)處理字長為l,從而獲得|∑|l個(gè)待處理字;從而原始dna序列經(jīng)過映射得到一個(gè)新的數(shù)字序列。通過計(jì)算n條序列的localfrequency(簡稱lf)熵值構(gòu)成n*|∑|l的矩陣,進(jìn)而得出其標(biāo)準(zhǔn)熵作為特征向量;使用locality-sensitivehashing(簡稱lsh)對(duì)標(biāo)準(zhǔn)熵進(jìn)行哈希映射,得到dna片段序列的候選集合,在候選集合中計(jì)算編輯距離小于指定的閥值d的dna片段序列得到相似序列。采用localfrequency綜合考慮到在轉(zhuǎn)換后的特征空間包含足夠的原始dna信息,避免dna序列信息的丟失;以localfrequency為基礎(chǔ)的計(jì)算而得的熵值更能精細(xì)的反應(yīng)dna序列的結(jié)構(gòu)信息;采用locality-sensitivehashing對(duì)特征向量進(jìn)行映射得到候選dna片段序列集合,大大減少了序列兩兩比對(duì)的序列數(shù)量,縮短了序列比對(duì)時(shí)間。dna序列的相似性作為生物信息學(xué)中的基本度量,在許多場合中都會(huì)有應(yīng)用,包括預(yù)測一段未知序列的作用和功能、構(gòu)建生物或者物種的系統(tǒng)進(jìn)化樹、分析物種的同源性等。對(duì)于大量dna序列的聚類,本發(fā)明基于標(biāo)準(zhǔn)熵的局部敏感哈希的dna序列聚類,這種方法計(jì)算每一段dna序列的標(biāo)準(zhǔn)熵,將其作為局部敏感哈希的特征向量,計(jì)算dna片段序列的候選dna片段序列集合,大幅度縮小比對(duì)序列的數(shù)量,在保證精確度的情況下提高運(yùn)算速度。附圖說明以下結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明做進(jìn)一步詳細(xì)說明:圖1為本發(fā)明基于標(biāo)準(zhǔn)熵的局部敏感哈希的dna序列聚類的流程圖。具體實(shí)施方式如圖1所示,本發(fā)明基于標(biāo)準(zhǔn)熵的局部敏感哈希的dna序列聚類,其包括以下步驟:(1)采用第二代測序技術(shù)對(duì)整條待測序列進(jìn)行測序,得到一批dna短片段,每一個(gè)短片段稱為dna片段序列;(2)dna片段序列中的字母集合為{a、c、g、t},|∑|表示該字母集合中字母的個(gè)數(shù),初始化待處理字的字長大小l,對(duì)dna片段序列使用固定長度的滑動(dòng)窗口獲得待處理字y集合,待處理字y集合中待處理字y的個(gè)數(shù)為|∑|l,根據(jù)每個(gè)待處理字的位置信息xt計(jì)算其熵值h;所述待處理字的位置信息xt是指待處理字在dna片段序列中兩次出現(xiàn)時(shí)對(duì)應(yīng)的兩個(gè)位置間的距離的倒數(shù);其中,y表示待處理字,t表示待處理字出現(xiàn)的位置順序,lfty表示待處理字y的第t次出現(xiàn)在dna片段序列的位置,yλ表示第λ個(gè)預(yù)處理字;λ表示待處理字的編號(hào);z代表待處理字出現(xiàn)的頻數(shù);p[t]為離散概率p的第t個(gè)離散概率,即為部分和st占總和z比的離散概率;部分和st表示位置信息xt之和,st=x1+x2+...+xt;總和z=s1+s2+...+sn;(3)計(jì)算特征向量:將熵值使用公式標(biāo)準(zhǔn)化得到標(biāo)準(zhǔn)熵值hlf作為哈希函數(shù)的特征變量,標(biāo)準(zhǔn)熵值hlf的計(jì)算公式如下:h(yλ)是字yλ的熵,z代表待處理字出現(xiàn)的頻數(shù);(4)計(jì)算哈希矩陣hm:將n條dna片段序列對(duì)應(yīng)的標(biāo)準(zhǔn)熵值hlf采用lsh方法進(jìn)行計(jì)算,使用num_f個(gè)哈希函數(shù)計(jì)算得到num_f*n的哈希矩陣hm,哈希函數(shù)的公式如下:其中v為dna片段序列的特征向量,a為與特征向量v個(gè)數(shù)相同的0到1之間的隨機(jī)向量,m為0到w的任一整數(shù),w為任意正整數(shù),這樣哈希函數(shù)fa,m(v)將一個(gè)d維空間向量v映射為一個(gè)整數(shù);(5)計(jì)算拼接哈希矩陣phm:使用變量b,將哈希矩陣hm分成b個(gè)桶,每個(gè)桶有r行,其中r=num_f/b,對(duì)于每個(gè)桶的哈希矩陣hm,第i(i∈[1,num_f])行表示第i個(gè)哈希函數(shù),第j(j∈[1,n])列表示第j條dna片段序列,則hmij表示將第j條dna片段序列的標(biāo)準(zhǔn)熵值采用第i個(gè)哈希函數(shù)進(jìn)行哈希映射后的整數(shù)值;然后對(duì)hmij只保留前三位,不足三位則高位補(bǔ)充0;最后將hmj的每行進(jìn)行拼接作為哈希拼接值,得到b*n的拼接哈希矩陣phm;(6)計(jì)算候選dna片段序列集合:對(duì)于dna片段序列si(i∈[1,n]),當(dāng)在拼接哈希矩陣phm中存在dna片段序列sj(j∈[1,n],i≠j)與si在同一行的哈希拼接值相同,則sj是si的候選dna片段序列,si的所有候選dna片段序列構(gòu)成候選dna片段序列集合candidate;(7)實(shí)現(xiàn)聚類:隨機(jī)選取一條未被聚類的dna片段序列作為聚類中心,篩選該聚類中心對(duì)應(yīng)的候選dna片段序列集合candidate與該聚類中心的編輯距離小于指定的閥值d的候選序列作為一個(gè)聚類結(jié)果,(由于已進(jìn)行聚類的序列不再作為聚類中心或出現(xiàn)在其他聚類結(jié)果中),將已經(jīng)被聚類的dna片段序列存儲(chǔ)在clustered中,循環(huán)上述聚類步驟,直到所有dna片段序列都被聚類。下面就本發(fā)明的處理過程做詳細(xì)的說明:為了更清楚描述本發(fā)明中dna序列的處理過程,隨機(jī)抽取12條dna編碼序列作為分析對(duì)象,以這些dna序列為樣例對(duì)發(fā)明實(shí)施過程進(jìn)行詳細(xì)的描述?;跇?biāo)準(zhǔn)熵的局部敏感哈希的dna序列聚類步驟如下:(1)采用第二代測序技術(shù)對(duì)整條待測序列進(jìn)行測序,得到一批dna短片段,每一個(gè)短片段稱為dna片段序列;表112條dna片段(2)dna片段序列中的字母集合為{a、c、g、t},|∑|表示該字母集合中字母的個(gè)數(shù),初始化待處理字的字長大小l,對(duì)dna片段序列使用固定長度的滑動(dòng)窗口獲得待處理字y集合,待處理字y集合中待處理字y的個(gè)數(shù)為|∑|l,根據(jù)每個(gè)待處理字的位置信息xt計(jì)算其熵值h;所述待處理字的位置信息xt是指待處理字在dna片段序列中兩次出現(xiàn)時(shí)對(duì)應(yīng)的兩個(gè)位置間的距離的倒數(shù);其中,y表示待處理字,t表示待處理字出現(xiàn)的位置順序,lfty表示待處理字y的第t次出現(xiàn)在dna片段序列的位置,yλ表示第λ個(gè)預(yù)處理字;λ表示待處理字的編號(hào);z代表待處理字出現(xiàn)的頻數(shù);p[t]為離散概率p的第t個(gè)離散概率,即為部分和st占總和z比的離散概率;部分和st表示位置信息xt之和,st=x1+x2+...+xt;總和z=s1+s2+...+sn;(3)計(jì)算特征向量:將熵值使用公式標(biāo)準(zhǔn)化得到標(biāo)準(zhǔn)熵值hlf作為哈希函數(shù)的特征變量,標(biāo)準(zhǔn)熵值hlf的計(jì)算公式如下:h(yλ)是字yλ的熵,z代表待處理字出現(xiàn)的頻數(shù);根據(jù)公式計(jì)算得到特征向量表如下:表2特征向量表aaacagatcacccgctgagcgggttatctgtt15.0961.067-0.001-0.0010.258-0.001-0.001-0.001-0.001-0.001-0.001-0.001-0.001-0.001-0.001-0.00125.166-0.001-0.0010.957-0.001-0.001-0.001-0.001-0.001-0.001-0.001-0.0010.000-0.001-0.001-0.00134.9901.561-0.001-0.0011.559-0.001-0.001-0.001-0.001-0.001-0.001-0.001-0.001-0.001-0.001-0.00145.1340.708-0.001-0.0010.0000.000-0.001-0.001-0.001-0.001-0.001-0.001-0.001-0.001-0.001-0.00155.201-0.0010.000-0.001-0.001-0.001-0.001-0.0010.000-0.001-0.001-0.001-0.001-0.001-0.001-0.00165.1900.000-0.001-0.0010.000-0.001-0.001-0.001-0.001-0.001-0.001-0.001-0.001-0.001-0.001-0.00175.0590.482-0.0010.0000.475-0.001-0.001-0.001-0.001-0.001-0.001-0.0010.000-0.001-0.001-0.00185.0650.408-0.0010.0000.402-0.001-0.001-0.001-0.001-0.001-0.001-0.0010.000-0.001-0.001-0.00194.9501.592-0.0010.0001.094-0.001-0.001-0.001-0.001-0.001-0.001-0.0010.000-0.001-0.001-0.001105.131-0.0010.0000.000-0.001-0.001-0.001-0.0010.000-0.001-0.001-0.0010.000-0.001-0.001-0.001115.125-0.001-0.0010.994-0.001-0.001-0.001-0.001-0.001-0.001-0.001-0.0010.992-0.001-0.001-0.001125.0321.498-0.001-0.0011.162-0.001-0.001-0.001-0.001-0.001-0.001-0.001-0.001-0.001-0.001-0.001(4)計(jì)算哈希矩陣hm:將n條dna片段序列對(duì)應(yīng)的標(biāo)準(zhǔn)熵值hlf采用lsh方法進(jìn)行計(jì)算,使用num_f個(gè)哈希函數(shù)計(jì)算得到num_f*n的哈希矩陣hm,哈希函數(shù)的公式如下:其中v為dna片段序列的特征向量,a為與特征向量v個(gè)數(shù)相同的0到1之間的隨機(jī)向量,m為0到w的任一整數(shù),w為任意正整數(shù),這樣哈希函數(shù)fa,m(v)將一個(gè)d維空間向量v映射為一個(gè)整數(shù);在本實(shí)施例中num_f=8,w=4;表3哈希矩陣(5)計(jì)算拼接哈希矩陣phm:使用變量b,將哈希矩陣hm分成b個(gè)桶,每個(gè)桶有r行,其中r=num_f/b,對(duì)于每個(gè)桶的哈希矩陣hm,第i(i∈[1,num_f])行表示第i個(gè)哈希函數(shù),第j(j∈[1,n])列表示第j條dna片段序列,則hmij表示將第j條dna片段序列的標(biāo)準(zhǔn)熵值采用第i個(gè)哈希函數(shù)進(jìn)行哈希映射后的整數(shù)值;然后對(duì)hmij只保留前三位,不足三位則高位補(bǔ)充0;最后將hmj的每行進(jìn)行拼接作為哈希拼接值,得到b*n的拼接哈希矩陣phm;(6)計(jì)算候選dna片段序列集合:對(duì)于dna片段序列si(i∈[1,n]),當(dāng)在拼接哈希矩陣phm中存在dna片段序列sj(j∈[1,n],i≠j)與si在同一行的哈希拼接值相同,則sj是si的候選dna片段序列,si的所有候選dna片段序列構(gòu)成候選dna片段序列集合candidate;下表是候選dna片段序列集合表,為了便于理解,將本實(shí)施例中的12條序列的候選dna片段序列集合表統(tǒng)計(jì)如下:表4候選序列集合表s[1]391245678102s[2]5610114781s[3]1912s[4]1567891012211s[5]2610111478912s[6]2510111478912s[7]8145691012211s[8]7145691012211s[9]13124567810s[10]256111478912s[11]25610478s[12]1394567810(7)實(shí)現(xiàn)聚類:隨機(jī)選取一條未被聚類的dna片段序列作為聚類中心,篩選該聚類中心對(duì)應(yīng)的候選dna片段序列集合candidate與該聚類中心的編輯距離小于指定的閥值d的候選序列作為一個(gè)聚類結(jié)果,(由于已進(jìn)行聚類的序列不再作為聚類中心或出現(xiàn)在其他聚類結(jié)果中),將已經(jīng)被聚類的dna片段序列存儲(chǔ)在clustered中,循環(huán)上述聚類步驟,直到所有dna片段序列都被聚類。本發(fā)明采用以上技術(shù)方案,在眾多的dna序列分析方法中,我們通過對(duì)原始的dna序列按著l-gram模型進(jìn)行映射,即由于dna序列是由{a,t,c,g}四個(gè)字母組成,預(yù)處理字長為l,從而獲得|∑|l個(gè)待處理字;從而原始dna序列經(jīng)過映射得到一個(gè)新的數(shù)字序列。通過計(jì)算n條序列的localfrequency(簡稱lf)熵值構(gòu)成n*|∑|l的矩陣,進(jìn)而得出其標(biāo)準(zhǔn)熵作為特征向量;使用locality-sensitivehashing(簡稱lsh)對(duì)標(biāo)準(zhǔn)熵進(jìn)行哈希映射,得到dna片段序列的候選集合,在候選集合中計(jì)算編輯距離小于d的dna片段序列得到相似序列。采用localfrequency綜合考慮到在轉(zhuǎn)換后的特征空間包含足夠的原始dna信息,避免dna序列信息的丟失;以localfrequency為基礎(chǔ)的計(jì)算而得的熵值更能精細(xì)的反應(yīng)dna序列的結(jié)構(gòu)信息;采用locality-sensitivehashing對(duì)特征向量進(jìn)行映射得到候選dna片段序列集合,大大減少了序列兩兩比對(duì)的序列數(shù)量,縮短了序列比對(duì)時(shí)間。dna序列的相似性作為生物信息學(xué)中的基本度量,在許多場合中都會(huì)有應(yīng)用,包括預(yù)測一段未知序列的作用和功能、構(gòu)建生物或者物種的系統(tǒng)進(jìn)化樹、分析物種的同源性等。對(duì)于大量dna序列的聚類,基于標(biāo)準(zhǔn)熵的局部敏感哈希的dna序列聚類,這種方法計(jì)算每一段dna序列的標(biāo)準(zhǔn)熵,將其作為局部敏感哈希的特征向量,計(jì)算dna片段序列的候選dna片段序列集合,大幅度縮小比對(duì)序列的數(shù)量,在保證精確度的情況下提高運(yùn)算速度。當(dāng)前第1頁12