專利名稱:篩選核苷酸序列的計算機系統(tǒng)和方法
技術(shù)領域:
本發(fā)明與篩選核苷酸序列有關。具體地說,本發(fā)明涉及一種篩選預定的核苷酸序列以便有效地確定這種預定的核苷酸序列是否構(gòu)成另一種核苷酸序列的一部分的系統(tǒng)、這種系統(tǒng)所用的方法、使計算機執(zhí)行這種方法的程序、存儲這種程序的計算機可讀記錄媒體和通過網(wǎng)絡在其上執(zhí)行核苷酸序列篩選的服務器。
背景技術(shù):
眾所周知DNA是由A(腺嘌呤)、T(胸腺嘧啶)、C(胞嘧啶)和G(鳥嘌呤)四種類型核苷酸組成的核苷酸鏈,而RNA由A、U(尿嘧啶)、G和C四種類型核苷酸組成。已知所有這五種核苷酸以稱為互補堿基配對的方式相互特異性地結(jié)合。也就是說,腺嘌呤(A)與胸腺嘧啶(T)配對(然而,在RNA的情況下,腺嘌呤(A)與尿嘧啶(U))配對),胞嘧啶(C)與鳥嘌呤(G)配對,這樣這些堿基對就形成了雙鏈。這個雙鏈稱為“雜交”,而雙鏈的產(chǎn)生稱為“使其雜交”。此外,一個可以與一個給定的核苷酸序列結(jié)合而形成一個雙鏈的核苷酸序列稱為“互補序列”。
有時候,需要用以上所述的核苷酸互補性確定在一個可能含有一些預定類型的DNA或RNA的樣本內(nèi)是否存在目的DNA或RNA(以下,在本發(fā)明中作為測試目標的核苷酸序列稱為靶核苷酸序列)。此外,還可能需要準備一種在本發(fā)明中稱為探針的核苷酸鏈,可以與DNA或RNA指定部位的核苷酸特異性地結(jié)合,以便確定這種核苷酸鏈是否與靶序列結(jié)合(也就是說,與靶序列雜交)。以上確定稱為結(jié)合確定或雜交確定。此外,用來檢測靶核苷酸序列的互補序列稱為探針。
以上結(jié)合情況的確定有各種用途。例如,DNA芯片是一個信息處理芯片,使用以上說明的雜交特征。在很多情況下,信息處理芯片準備一些與各種類型的DNA或者RNA核苷酸序列互補的序列,同時執(zhí)行大量的雜交確定,從而執(zhí)行目的過程。此外,所謂PCR(聚合酶鏈式反應)是一種通過產(chǎn)生與DNA序列上的兩個部分的序列互補的序列并大量拷貝這些互補序列包圍的區(qū)域來確定和鑒定DNA序列的方法。
在很多用這些互補序列進行確定和鑒定的情況下,在一個實際的目標樣本內(nèi)可能混有一些與靶序列不同的DNA或RNA序列。在這種情況下,如果準備或提供的探針不與所混的這些核苷酸序列結(jié)合,就可以提供高效率、高精度和高可靠性的確定和鑒定。有時候,可以用一個DNA或RNA合成儀來制備一個專用于一個給定DNA的探針P。因此,認為通過有效地剔除靶序列之外的一些探針P可以顯著地提高蛋白質(zhì)合成、篩選之類的效率。
圖18為示出一個靶核苷酸序列與一個探針之間的關系的示意圖。圖中,靶核苷酸序列用符號T表示,而探針用符號P表示。靶核苷酸序列T可以是例如一個長鏈核苷酸序列,其中結(jié)合了數(shù)千個核苷酸(以下,在本發(fā)明中核苷酸數(shù)表示為堿基對(bp))。實質(zhì)上,理想情況是圖18中的探針102是一個與靶核苷酸序列T內(nèi)一個用Tp表示的區(qū)域的序列完全互補的序列。
然而,事實上,一個預定的核苷酸序列可以與不完全互補的另一個核苷酸序列結(jié)合(同一性為80%至90%的序列可以相互結(jié)合)。此外,諸如測序儀之類的核苷酸序列確定設備可能會引起分析誤差。所以,它不適合剔除核苷酸序列,因為核苷酸序列不是100%一致的,從而它們不能是探針候選對象。為了確保探針P不與靶核苷酸序列結(jié)合,通常要求用諸如Smith-Waterman方法之類的高精度比對算法分析兩部分的核苷酸序列,以保證在靶核苷酸序列內(nèi)沒有與探針的互補序列相似的序列。
業(yè)已提出諸如BLAST(Altchul SF.,Miller,GW.,Myers EW.,Lipman DJ.的“基本局部比對搜索工具”(“Basic local alignmentsearch tool”,J.Mol.Biol. 1990,Oct.5,215(3),403-410))或FASTA(Pearson,WR.,Lipman,DJ.的“改進的生物序列比較”(“Improved tools for biological sequence comparison”,Proc.Natl.Acad.Sci.USA,1988,Apr;85(8),2444-2448 Related Articles,Links))之類的高速搜索算法作為搜查相互相似的核苷酸序列的措施。然而,即使用這些算法,也不能發(fā)現(xiàn)上述靶核苷酸序列內(nèi)所有相似的部分序列,因此它們不適合保證探針不與靶序列結(jié)合的篩選。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)的上述問題,本發(fā)明旨在為用戶迅速地提供一個探針P與一個靶核苷酸序列T至少不結(jié)合的鑒定結(jié)果。也就是說,如果可以為用戶提供探針P與靶核苷酸序列T至少不結(jié)合的信息,就可以迅速地為用戶提供有關探針有效性和可靠性的信息。過去已經(jīng)提出了各種搜索方法。有關在用戶可以接受的誤差范圍內(nèi)一個探針是否與一個給定的靶核苷酸序列結(jié)合的信息是實質(zhì)性的。然而,在探針與靶核苷酸序列結(jié)合的情況下,除了以上信息之外,還需要有一種能為用戶提供一個合適的探針P序列的核苷酸序列篩選系統(tǒng)、這種系統(tǒng)所用的方法、使一個計算機執(zhí)行這種方法的程序、錄有這種程序的計算機可讀存儲媒體和為此所需的服務器。
本發(fā)明是根據(jù)這樣一種基本觀念作出的通過為用戶提供在用戶要求的精度內(nèi)一個探針P至少不與一個靶核苷酸序列T結(jié)合的信息、而如果在用戶指定的可接受范圍內(nèi)有結(jié)合可能還提供有關結(jié)合可能性、相似度和相應的子序列的信息,可以執(zhí)行高速的探針篩選。
為了解決以上問題,在本發(fā)明中,由用戶指定最大編輯距離,從鑒定是否只是最大編輯距離是不同的開始鑒定,然后以遞降次序鑒定探針P與靶核苷酸序列之間的結(jié)合情況。在發(fā)現(xiàn)編輯距離成為大于用戶指定的最大編輯距離時,可以提供信息“不結(jié)合”,而不再執(zhí)行整個靶核苷酸序列的鑒定。此外,通過根據(jù)一個子序列與一個互補序列Q之間存在的核苷酸差別動態(tài)地改變鑒定終止條件,在確定有結(jié)合可能時,本發(fā)明為用戶提供諸如它們的相似度或核苷酸序列之類的附加數(shù)據(jù)。
此外,本發(fā)明旨在改善精度,以便可靠地提供對長鏈靶核苷酸序列的高速和高精度篩選。也就是說,在本發(fā)明的另一個實施例中,將靶核苷酸序列分成一些有一定交疊的部分序列Tp,根據(jù)每個部分序列Tp確定靶核苷酸序列不與探針P結(jié)合。具體地說,將一個需鑒定的靶核苷酸序列T分成若干個有一定程度交疊的部分序列Tp(p=1至w)。根據(jù)每個分成的部分序列Tp,確定在部分序列Tp內(nèi)是否含有一個與探針P的序列互補的序列,以便提高可靠性。此外,對于將靶核苷酸序列分成一些部分序列Tp的情況下的鏈長度,本發(fā)明的方法也可以應用。
就是說,本發(fā)明提供了一種篩選核苷酸序列的計算機系統(tǒng),這種計算機系統(tǒng)包括一個存儲靶核苷酸序列數(shù)據(jù)的靶核苷酸序列存儲單元;一個根據(jù)一個可能與靶核苷酸序列結(jié)合的探針核苷酸序列產(chǎn)生互補序列數(shù)據(jù)和存儲所產(chǎn)生的互補序列數(shù)據(jù)的互補序列數(shù)據(jù)存儲單元;一個以編輯距離遞降次序鑒定上述靶核苷酸序列數(shù)據(jù)和上述互補序列數(shù)據(jù)、確定上述探針核苷酸序列與上述靶核苷酸序列的結(jié)合可能性的鑒定處理單元;以及一個存儲上述鑒定處理單元得到的鑒定結(jié)果的存儲單元。
本發(fā)明的上述計算機系統(tǒng)最好包括一個存儲上述靶核苷酸序列與上述探針核苷酸序列之間的最大可接受編輯距離的最大編輯距離存儲單元。
上述鑒定處理單元包括一個動態(tài)地確定終止鑒定的終止確定單元,上述終止確定單元確定上述互補序列數(shù)據(jù)的鑒定是否執(zhí)行到上述最大編輯距離。
本發(fā)明提供了一種篩選核苷酸序列的計算機系統(tǒng),這種計算機系統(tǒng)包括一個存儲靶核苷酸序列數(shù)據(jù)的靶核苷酸序列存儲單元;一個根據(jù)一個可能與靶核苷酸序列結(jié)合的探針核苷酸序列產(chǎn)生互補序列數(shù)據(jù)和存儲所產(chǎn)生的互補序列數(shù)據(jù)的互補序列數(shù)據(jù)存儲單元;
一個從上述靶核苷酸序列數(shù)據(jù)中指定一個部分短鏈序列、根據(jù)每個上述部分序列以編輯距離遞降次序鑒定上述互補序列數(shù)據(jù)和確定上述探針核苷酸序列與上述靶核苷酸序列的結(jié)合可能性的鑒定處理單元;以及一個存儲上述鑒定處理單元得到的鑒定結(jié)果的存儲單元。
本發(fā)明提供了一種控制一個計算機、使一個計算機系統(tǒng)執(zhí)行篩選核苷酸序列的方法,上述方法使上述計算機系統(tǒng)執(zhí)行下列步驟存儲靶核苷酸序列數(shù)據(jù)和一個探針核苷酸序列;根據(jù)一個可能與靶核苷酸序列結(jié)合的探針核苷酸序列產(chǎn)生互補序列數(shù)據(jù)和存儲所產(chǎn)生的互補序列數(shù)據(jù);存儲上述靶核苷酸序列與上述探針核苷酸序列之間的最大可接受編輯距離;從上述每個存儲單元讀出上述每個核苷酸序列數(shù)據(jù)和上述最大編輯距離,以編輯距離遞降次序鑒定上述靶核苷酸序列數(shù)據(jù)與上述互補序列數(shù)據(jù)的結(jié)合可能性;以及將上述鑒定的結(jié)果存儲在一個存儲單元內(nèi)。
本發(fā)明提供了一種控制一個計算機、使一個計算機系統(tǒng)執(zhí)行篩選核苷酸序列的方法,上述方法使上述計算機系統(tǒng)執(zhí)行下列步驟存儲靶核苷酸序列數(shù)據(jù)和一個探針核苷酸序列;根據(jù)一個可能與靶核苷酸序列結(jié)合的探針核苷酸序列產(chǎn)生互補序列數(shù)據(jù)和存儲所產(chǎn)生的互補序列數(shù)據(jù);存儲上述靶核苷酸序列與上述探針核苷酸序列之間的最大可接受編輯距離;從上述靶核苷酸序列數(shù)據(jù)中指定一個部分短鏈序列,根據(jù)每個上述部分序列以編輯距離遞降次序鑒定上述互補序列數(shù)據(jù)和鑒定上述探針核苷酸序列與上述靶核苷酸序列的結(jié)合可能性;以及將上述鑒定的結(jié)果存儲在一個存儲單元內(nèi)。
本發(fā)明提供了一種使一個計算機系統(tǒng)執(zhí)行核苷酸序列篩選的控制計算機的方法的計算機可執(zhí)行程序,上述程序控制上述計算機系統(tǒng),使它執(zhí)行下列步驟存儲靶核苷酸序列數(shù)據(jù)和一個探針核苷酸序列;根據(jù)一個可能與靶核苷酸序列結(jié)合的探針核苷酸序列產(chǎn)生互補序列數(shù)據(jù)和存儲所產(chǎn)生的互補序列數(shù)據(jù);存儲上述靶核苷酸序列與上述探針核苷酸序列之間的最大可接受編輯距離;從上述每個存儲單元讀出每段上述核苷酸序列數(shù)據(jù)和上述最大編輯距離,以編輯距離遞降次序鑒定上述靶核苷酸序列數(shù)據(jù)與上述互補序列數(shù)據(jù)的結(jié)合可能性;以及將上述鑒定的結(jié)果存儲在一個存儲單元內(nèi)。
本發(fā)明提供了一種使一個計算機系統(tǒng)執(zhí)行核苷酸序列篩選的控制計算機的方法的計算機可執(zhí)行程序,上述程序控制上述計算機系統(tǒng),使它執(zhí)行下列步驟存儲靶核苷酸序列數(shù)據(jù)和一個探針核苷酸序列;根據(jù)一個可能與靶核苷酸序列結(jié)合的探針核苷酸序列產(chǎn)生互補序列數(shù)據(jù)和存儲所產(chǎn)生的互補序列數(shù)據(jù);存儲上述靶核苷酸序列與上述探針核苷酸序列之間的最大可接受編輯距離;從上述靶核苷酸序列數(shù)據(jù)中指定一個部分短鏈序列,根據(jù)每個上述部分序列以編輯距離遞降次序鑒定上述互補序列數(shù)據(jù)和鑒定上述探針核苷酸序列與上述靶核苷酸序列的結(jié)合可能性;以及將上述鑒定的結(jié)果存儲在一個存儲單元內(nèi)。
本發(fā)明提供了一種錄有使一個計算機系統(tǒng)執(zhí)行核苷酸序列篩選的控制計算機的方法的計算機可執(zhí)行程序的計算機可讀存儲媒體,上述程序控制上述計算機系統(tǒng),使它執(zhí)行下列步驟存儲靶核苷酸序列數(shù)據(jù)和一個探針核苷酸序列;根據(jù)一個可能與靶核苷酸序列結(jié)合的探針核苷酸序列產(chǎn)生互補序列數(shù)據(jù)和存儲所產(chǎn)生的互補序列數(shù)據(jù);存儲上述靶核苷酸序列與上述探針核苷酸序列之間的最大可接受編輯距離;從上述每個存儲單元讀出每段上述核苷酸序列數(shù)據(jù)和上述最大編輯距離,以編輯距離遞降次序鑒定上述靶核苷酸序列數(shù)據(jù)與上述互補序列數(shù)據(jù)的結(jié)合可能性;以及將上述鑒定的結(jié)果存儲在一個存儲單元內(nèi)。
本發(fā)明提供了一種錄有使一個計算機系統(tǒng)執(zhí)行核苷酸序列篩選的控制計算機的方法的計算機可執(zhí)行程序的計算機可讀存儲媒體,上述程序控制上述計算機系統(tǒng),使它執(zhí)行下列步驟存儲靶核苷酸序列數(shù)據(jù)和一個探針核苷酸序列;根據(jù)一個可能與靶核苷酸序列結(jié)合的探針核苷酸序列產(chǎn)生互補序列數(shù)據(jù)和存儲所產(chǎn)生的互補序列數(shù)據(jù);存儲上述靶核苷酸序列與上述探針核苷酸序列之間的最大可接受編輯距離;從上述靶核苷酸序列數(shù)據(jù)中指定一個部分短鏈序列,根據(jù)每個上述部分序列以編輯距離遞降次序鑒定上述互補序列數(shù)據(jù)和鑒定上述探針核苷酸序列與上述靶核苷酸序列的結(jié)合可能性;以及將上述鑒定的結(jié)果存儲在一個存儲單元內(nèi)。
本發(fā)明提供了一種通過網(wǎng)絡在其上執(zhí)行核苷酸序列篩選的服務器,上述服務器包括一個存儲靶核苷酸序列數(shù)據(jù)的數(shù)據(jù)庫;一個通過網(wǎng)絡接收目標指定數(shù)據(jù)和一個可能與靶核苷酸序列結(jié)合的探針核苷酸序列和通過上述網(wǎng)絡發(fā)送篩選結(jié)果的發(fā)送和接收單元;一個根據(jù)上述探針核苷酸序列產(chǎn)生互補序列數(shù)據(jù)并予以存儲的互補序列數(shù)據(jù)存儲單元;以及一個用上述目標指定數(shù)據(jù)搜索上述數(shù)據(jù)庫、以編輯距離遞降次序鑒定搜索得的靶核苷酸序列數(shù)據(jù)和上述互補序列數(shù)據(jù)、確定上述探針核苷酸序列與上述靶核苷酸序列的結(jié)合可能性和將結(jié)果發(fā)送給上述發(fā)送和接收單元的鑒定處理單元。
圖1為示出本發(fā)明的靶核苷酸序列、探針和互補序列之間的關系的示意圖;圖2為示出執(zhí)行本發(fā)明的對一個靶核苷酸序列進行篩選的實施例的示意圖;圖3為示出本發(fā)明的篩選方法的第一實施例中的過程的流程圖;圖4為示出本發(fā)明的篩選方法的第二實施例中的過程的流程圖;圖5為示出在本發(fā)明中鑒定結(jié)合可能性的步驟的示意流程圖;圖6為示出在本發(fā)明中為鑒定結(jié)合可能性的步驟執(zhí)行的初始化步驟的示意圖;圖7為示出在本發(fā)明中鑒定結(jié)合可能性的鑒定步驟的詳細情況的流程圖;圖8為詳細示出本發(fā)明的篩選方法的第二實施例中的過程的流程圖;圖9示出了本發(fā)明的使一個計算機系統(tǒng)執(zhí)行鑒定結(jié)合可能性的步驟的程序的偽碼;圖10示出了在本發(fā)明的第二實施例中指定一個鑒定結(jié)合可能性的部分序列的程序的偽碼;圖11為示出在本發(fā)明中有關鑒定結(jié)果輸出數(shù)據(jù)結(jié)構(gòu)的實施例的示意圖;圖12為示出在本發(fā)明中為得到鑒定結(jié)果用圖9所示的偽碼所執(zhí)行的過程的示意圖;圖13為示出本發(fā)明的核苷酸序列篩選系統(tǒng)的第一實施例的原理方框圖;圖14為示出本發(fā)明的核苷酸序列篩選系統(tǒng)的第二實施例的原理方框圖;圖15為示出本發(fā)明的核苷酸序列篩選系統(tǒng)的第三實施例的原理方框圖;圖16為示出本發(fā)明的一個例子的結(jié)果以及比較例的結(jié)果的示意圖;圖17為示出本發(fā)明的例子和比較例兩者的結(jié)果的示意圖,比較了在相似度為100%的情況下本發(fā)明的例子和比較例為得到鑒定結(jié)果所需的時間;以及圖18為示出一個靶核苷酸序列與一個探針之間的關系的示意圖。
具體實施例方式
以下將結(jié)合附圖就一些具體實施例對本發(fā)明作進一步說明。然而,以下所陳述的實施例只是例示性的,并不是要限制本發(fā)明的范圍。在本發(fā)明的結(jié)合確定中,從一個靶核苷酸序列中得到的計算機可處理的靶核苷酸序列數(shù)據(jù)以下簡稱為靶核苷酸序列T,而從探針的核苷酸序列中得到的計算機可處理的核苷酸序列數(shù)據(jù)以下簡稱為探針P。此外,計算機可處理的探針P的互補序列數(shù)據(jù)稱為互補序列Q。
A在本發(fā)明中所用的參數(shù)和基本過程的一般說明圖1為示出靶核苷酸序列T、探針P和互補序列Q之間的關系。如圖1(a)所示,在本發(fā)明的一個具體實施例中,如果探針P規(guī)定為P=ATGGCCTGAC,與P互補的序列Q就為Q=GTCAGGCCAT。應指出的是,如圖1(a)所示,探針P與互補序列Q之間的關系是不僅探針P的各個核苷酸在互補序列Q內(nèi)由各個互補核苷酸代替,而且互補序列Q在方向上如箭頭AL所示與探針P相反。此外,本發(fā)明的鑒定的基本過程是互補序列Q是一個序列部分,在用戶所指定的最大編輯距離內(nèi)它構(gòu)成靶核苷酸序列T的一個部分。
同時,在靶核苷酸序列T與探針P或本發(fā)明中的互補序列Q之間定義了一個相似度r。為了靶序列T與探針P結(jié)合,在本發(fā)明中要求至少靶序列T含有一個與探針P的相似度為r或更大的序列部分。也就是說,在本發(fā)明中,除非靶核苷酸序列T含有一個相似度為r的序列部分,靶核苷酸序列就不能與探針P結(jié)合。
可以用各種方法來確定相似度r。在本發(fā)明中,相似度r可以按照以下準則具體確定。在將一個包含在靶核苷酸序列T內(nèi)的序列定為子序列S時,需要至少總共為k次的諸如替換、缺失或插入核苷酸之類的字符分析和確定處理以從子序列S生成互補序列Q。值k可以稱為子序列S與互補序列Q之間的最大編輯距離(maximum edit distance)。這樣,如果將探針P的互補序列Q的核苷酸鏈長度定為m,相似度r就可以定義為r=(m-k)/m。因此,“相似度為r或更大”就以上的對于r的算式來說相當于表示一個子序列S與一個互補序列Q它們的最大編輯距離為m(1-r)或更短。
圖1(b)為用一個具體實施例示出確定上述編輯距離的步驟的示意圖。這個圖示出了一個子序列S=ATGCGCGTAAGT和互補序列Q=ATGCGTTAACT的實施例。在圖1(b)所示的實施例中,子序列S與互補序列Q之間的編輯距離為4,而相似度r=(11-4)/11=0.6364。圖1(b)示出了在完全對準(上述步驟以下稱為對準)中的部分序列Tq和互補序列Q。在圖1(b)所示的實施例中,由于出現(xiàn)缺失兩次、替換和插入各一次,因此編輯距離為4。
在本發(fā)明中,如果在一個預定靶核苷酸序列T上沒有按相同的順序出現(xiàn)一個互補序列Q的多于(m-k)個核苷酸,就可以說沒有離互補序列Q的編輯距離比k短的靶核苷酸序列T。由于在探針P與互補序列Q之間存在圖1(a)所示的關系,因此如果可以得到從探針P得出的互補序列Q的信息和靶核苷酸序列T的信息,探針P與子序列S之間的關系就很容易得到。
此外,在本發(fā)明中,可以篩選給定探針P可能結(jié)合的靶核苷酸序列。圖2為示出在本發(fā)明中確定在一個部分序列Tp與一個互補序列Q之間的關系中的互補序列Q的專用性的步驟的示意圖。在圖2中,準備了多個靶核苷酸序列,作為篩選的目標。這個圖示意性地示出了確定探針P是否只特異性地與靶核苷酸序列T1結(jié)合的實施例。這個圖示出,靶核苷酸序列T1含有探針P的整個互補序列Q,而靶核苷酸序列Ta也含有一個互補序列Qa,只是編輯距離為(m-a)(其中a為一個大于k的正整數(shù))。此外,靶核苷酸序列Tb含有一個編輯距離為(m-b)的部分序列(其中b為一個小于k的正整數(shù))。因此,可以表明探針可能與靶核苷酸序列T1和Tb結(jié)合。在這種情況下,按照本發(fā)明,由于與子序列的相似度和核苷酸序列的長度以及有關結(jié)合可能性的信息給了用戶,因此就能設計探針P,賦予它另外一些性質(zhì)。
B.本發(fā)明的篩選法的過程通過有效地利用上述特性,本發(fā)明能比高精度序列分析更迅速地確定靶核苷酸序列作為一個探針P是否恰當和是否應該提供另一個探針P。就是說,按照本發(fā)明,可以保證探針P不與靶核苷酸序列雜交。圖3為示出本發(fā)明的方法的基本過程的流程圖。如圖所示,在本發(fā)明的篩選核苷酸序列的方法中,在步驟310接收到一個應是探針P的核苷酸序列和靶核苷酸序列T。在這個步驟期間,也可以輸入一個實際上用測序儀得到的核苷酸序列。此外,探針P也可以用一個核苷酸序列合成器之類合成。就靶核苷酸序列來說,例如,用戶可以用互動方式從一個存儲DNA或RNA的核苷酸序列的數(shù)據(jù)庫選取,或者用戶也可以采用從哺乳動物、真核生物、微生物之類的組織收集到的DNA樣本。在圖3所示的本發(fā)明的篩選法中,例行程序于是進至步驟S12,根據(jù)探針P產(chǎn)生一個互補序列,將它存儲在一個適當?shù)拇鎯^(qū)內(nèi)。同時,接收到一個最大編輯距離,將它存儲在一個適當?shù)拇鎯^(qū)內(nèi)。
在步驟S14,將函數(shù)largest_prefix_with_common_subsequence()應用于一個需測試的靶核苷酸序列,確定靶核苷酸序列T的在這時分析的子序列內(nèi)是否存在互補序列Q,從而實現(xiàn)結(jié)合可能性的鑒定。本發(fā)明的例行程序于是進至步驟S16,將得到的鑒定結(jié)果存儲在計算機存儲器的一個適當?shù)拇鎯^(qū)。此外,在步驟S16,讀出所存儲的鑒定結(jié)果,執(zhí)行諸如“結(jié)合”或“不結(jié)合”的確定后,將結(jié)果返回給用戶,從而為用戶提供判定結(jié)果。
圖4為示出本發(fā)明的篩選法的第二實施例中的過程的流程圖。在圖4所示的實施例中靶核苷酸序列T以多個靶序列T1至Tw形態(tài)存在。鑒定結(jié)果根據(jù)每個靶核苷酸序列作出,存儲在一個存儲區(qū)內(nèi)。在圖4所示的實施例中,在步驟S20,接收到一個是探針P的核苷酸序列和多個靶核苷酸序列T1至Tw,將它們存儲在它們各自的存儲單元內(nèi)。在步驟S22,根據(jù)探針P確定互補序列Q,此外還接收諸如編輯距離、重復執(zhí)行鑒定的部分序列的單位長度(length)和重疊長度(overlap_length)之類變量的輸入。在步驟S24將計數(shù)器值t設置為1,再在步驟S26,對靶核苷酸序列執(zhí)行結(jié)合鑒定。在步驟S26,鑒定靶核苷酸序列,將結(jié)果存儲在一個存儲單元內(nèi)。在步驟S28,通過接入這些鑒定結(jié)果得出有關是否存在一個能結(jié)合的子序列的信息。
在步驟S30將計數(shù)器值t加1,再在步驟32確定t是否小于w。在S32確定t≤w(是)時,例行程序進至步驟S34。在這個步驟,從存儲區(qū)讀出一個靶核苷酸序列Tt+1,例行程序于是返回步驟S26。在這個步驟,作出靶核苷酸序列Tt+1的鑒定結(jié)果,存儲起來。在步驟S32確定t>w(否)時,由于需鑒定的靶核苷酸序列都已得到鑒定,因此例行程序進至步驟S36。在這個步驟,得出鑒定結(jié)果,然后將根據(jù)這個結(jié)果確定的結(jié)合可能性提供給用戶。
圖5為示出在本發(fā)明中執(zhí)行鑒定結(jié)合可能性的步驟的函數(shù)largest_prefix_with_common_subsequence()的流程圖。在本發(fā)明中如圖5所示的鑒定結(jié)合可能性的步驟從初始化步驟S40開始。在這個步驟,將positions[i]的值和編輯距離計數(shù)器i的值初始化。在這里,positions[i]是一個函數(shù),返回由函數(shù)next_char_position()給出的值或者返回由函數(shù)next_char_position()給的值和由函數(shù)positions[i-1]給出的值中較小的那個值。在函數(shù)next_char_position()中,將靶核苷酸序列、編輯距離計數(shù)器i和一個表示在互補序列內(nèi)存在的一個核苷酸的字符c用作自變量。因此,next_char_position(T,i,c)是一個函數(shù),返回在T[i...n]內(nèi)從靶核苷酸序列T的核苷酸鏈的頂端開始數(shù)起首先出現(xiàn)字符c的位置。此外,如果在T[i...n]內(nèi)沒有出現(xiàn)字符c的核苷酸,next_char_position(T,i,c)就返回一個為(n+1)的值。
在步驟S42,將表示一個互補核苷酸的位置的probe_position的值和min_k的值初始化。min_k的值為一個表示沒有小于min_k的編輯距離的值。它是提供在一個部分序列與互補序列Q之間核苷酸的不一致的最小值的度量。也就是說,min_k=0意味著子序列S與互補序列Q完全一致。同時,mm_k也用作一個終止條件值,用來執(zhí)行終止判定,它也給出了探針P與子序列S之間核苷酸差錯的度量。在步驟S44,確定與互補序列Q內(nèi)所含有的核苷酸的序號相應的變量probe_position是否大于互補序列Q的核苷酸的數(shù)目m。如果在步驟S44確定變量probe_position大于m(是),由于互補序列的核苷酸沒有還需鑒定的,因此例行程序就進至步驟S48。由于在這個階段編輯距離計數(shù)器i大于min_k,因此仍然有可能存在一個鏈長度為m-k或更長一些的子序列。所以,輸出positions[k]的值,存儲在存儲單元內(nèi)。
另一方面,如果在步驟S44確定變量probe_position小于m(否),就執(zhí)行步驟S52所示的鑒定步驟。在這個鑒定步驟,確定position[i]的值,執(zhí)行將鑒定結(jié)果存儲在存儲單元內(nèi)的步驟。這個步驟稍后將詳細說明。如稍后要說明的那樣,在由于滿足給出的終止條件而鑒定步驟結(jié)束時,在步驟S46確定mm_k的值是否成為大于最大編輯距離k。在mm_k的值大于k(是)時,由于沒有鏈長度為(m-k)或更長一些的公共子序列,例行程序就進至步驟S50。在這個步驟,將(n+l)作為positions[i]的值輸出,鑒定步驟結(jié)束。產(chǎn)生在步驟S46確定的為“邏輯真”的值,作為結(jié)束鑒定的信號。另一方面,在min_k的值小于k(否)時,例行程序進至步驟S54。在這個步驟,將probe_position的值加1,然后例行程序返回步驟S44,鑒定互補序列Q內(nèi)的下一個核苷酸。在動態(tài)地改變min_k的值從而動態(tài)地改變鑒定步驟內(nèi)的終止條件的同時,例行程序重復步驟S44至S52,直到在步驟S46的判定返回一個肯定結(jié)果(是)。
圖6為示出圖5中步驟S40所示的初始化步驟的示意圖。在圖6所示的初始化步驟中,在步驟S60將編輯距離計數(shù)器i初始化為0,在步驟S62和S64,將position[i]設置為0,直到編輯距離計數(shù)器i成為大于最大編輯距離k。同時,編輯距離計數(shù)器i加1,成為i=i+1。執(zhí)行這個初始化步驟可以為編輯距離k或更短一些的可靠地將positions[i]設置為0。
圖7為示出圖5中的鑒定步驟S52的詳細情況的流程圖。在圖7所示的鑒定步驟中,在步驟S70,將max_k設置為最大編輯距離k的值或者probe_position的值中那個較小的值。在步驟S72,確定編輯距離計數(shù)器i是否小于作為終止條件的min_k。在編輯距離計數(shù)器i的值大于或等于min_k(否)時,例行程序進至步驟S74,確定編輯距離計數(shù)器i是否為0。相反,如果在步驟S72確定編輯距離計數(shù)器i小于min_k(是),鑒定步驟終止,例行程序就轉(zhuǎn)至步驟S54。
如果在步驟S74確定編輯距離計數(shù)器i為0(是),例行程序就進至步驟S76,給出positions[i]的值作為下一個char_position(T,positions[i]+l,Q(probe_position))。
另一方面,如果在步驟S74確定編輯距離計數(shù)器i不為0(否),例行程序就轉(zhuǎn)至步驟S78,將positions[i]的值設置為next_char_position(T,positions[i]+1,Q(probe_position))的值和positions[i-1]的值中較小的那個值。因此,在positions[i]返回一個小于或等于n(當時在鑒定的核苷酸的數(shù)目)的值時,這意味著在給定的最大距離k內(nèi)很可能存在一個匹配的核苷酸序列。在步驟S76和S78計算出的positions[i]的值作為鑒定結(jié)果存儲在一個適當?shù)拇鎯卧獌?nèi)。
此后,例行程序進至步驟S80,確定positions[i]是否成為大于n。如上所述,函數(shù)next_char_position()即使在發(fā)現(xiàn)沒有與正在鑒定的核苷酸相應的核苷酸的情況下也返回一個小于表示互補序列Q的核苷酸的數(shù)目的n的值。因此,如果在步驟S80確定positions[i]的值小于或等于n(否),為了確定另一個相容的可能性,在步驟S84以遞降次序?qū)設置為i=i-1,然后例行程序返回步驟S72,繼續(xù)進行判定。另一方面,如果在步驟S80確定positions[i]的值大于n(是),圖5所示的largest_prefix_with_common_subsequence()給出positions[i]的值為n+l。在步驟S82,設置min_k=i+l,以便完成圖7中的鑒定步驟,此后例行程序返回步驟S84。在步驟S84,將編輯距離計數(shù)器i設置為i=i-1,然后例行程序返回步驟S72。在步驟S72,可靠地返回一個邏輯真的值(是),作為確定結(jié)果。例行程序然后轉(zhuǎn)至圖5中的步驟S54,重復執(zhí)行。
圖8示出了以本發(fā)明的篩選法根據(jù)每個部分序列執(zhí)行靶核苷酸序列鑒定的實施例。在圖8所示的實施例中規(guī)定變量“l(fā)ength”定義為靶核苷酸序列T的部分序列的給定長度,“position”為部分序列在靶核苷酸序列內(nèi)的位置,而變量“overlap_length”為部分序列端部相互交疊的變量。在圖8所示的本發(fā)明的篩選方法的例行程序中,可以應用圖5至7所示的這些步驟,只是根據(jù)每個部分序列用變量“position”、“l(fā)ength”和“overlap_length”鑒定靶核苷酸序列的核苷酸位置。因此下面將只對本發(fā)明的例行程序的根據(jù)每個部分序列執(zhí)行鑒定的基本部分進行說明。首先,在步驟S90,將標明一個部分序列的變量“position”初始化。然后,在步驟S92,確定變量“position”是否小于或等于n。在步驟S92的判定中,由于變量“position”直到鑒定靶核苷酸序列的終端之前總是小于或等于n,因此在步驟S92判定得到一個邏輯真值(是)。于是例行程序進至步驟S94,定義變量“l(fā)ength”。變量“l(fā)ength”可以考慮到實驗條件之類事先設定,也可以由用戶輸入設定。在本發(fā)明中,如步驟S94所示,這個變量可以用諸如圖5中所示的largest_prefix_length_with_common_subsequence()之類的其他適當函數(shù)的返回值設定。
函數(shù)largest_prefix_length_with_common_subsequence(),如上所述,在給定一個隨機和充分長的靶核苷酸序列和一個隨機互補序列Q時返回一個為4m的值。在本發(fā)明中,length可以設置成取一個適當?shù)闹刀恍枰靡陨险f明的專用函數(shù)。此外,也是在圖8所示的實施例中,編輯距離計數(shù)器i根據(jù)一個指定的部分序列初始化,而將一個部分序列Tw用作一個靶核苷酸序列T,從而可以重復地執(zhí)行圖5至7中所示的這些步驟。在步驟S96,確定變量“l(fā)ength”是否比一些無論它們之間的距離是多少都可能相互結(jié)合的核苷酸的鏈長度“check_length”短。
如果在步驟S96確定“l(fā)ength”比“check_length”短(是),例行程序就進至步驟S104。在這個步驟,可以按照諸如Smith-Waterman方法(見P.D.Smith、N.S.Waterman的“公共分子子序列的識別”(“Identification of common molecular subsequences”,J.Mol.Biol.,147195-197,1981))之類的高精度方法執(zhí)行結(jié)合可能性的確定,可以通過添加check_length產(chǎn)生一個新的position值,然后例行程序可以返回步驟S92。在這個步驟期間,可以將check_length設置為一個大于或等于m/r的值。在它設置為一個為4m的值時,對于所有的部分序列確定“有結(jié)合可能性”,由于過于頻繁地執(zhí)行在步驟S104的鑒定,從而抑制了本發(fā)明的高速性能。因此,在本發(fā)明中,將check_length設置為一個處在m/r與4m之間的值,采用一個近似為2m的值作為check_length,往往可以提供一個穩(wěn)定的結(jié)果。
另一方面,如果在步驟S96確定“l(fā)ength”長于或等于“check_length”(否),就在步驟S98將“l(fā)ength”與剩下的核苷酸鏈長度相比較。在“l(fā)ength”比剩下的核苷酸鏈長度短(是)時,例行程序再進至步驟S102。在這個步驟,將“l(fā)ength”加到至此已鑒定的核苷酸位置上,在考慮到overlap_length給出一個適當?shù)闹丿B后指定下一個部分序列。在圖8所示的實施例中,例行程序再次返回步驟S92,再次執(zhí)行步驟S92至S98。在“l(fā)ength”長于剩下的核苷酸鏈長度(否)時,在步驟S100設置position=n+1后,例行程序返回步驟S92。在這種情況下,在步驟S92的判定返回一個邏輯假的值(否),于是在步驟S106給出鑒定結(jié)果“不結(jié)合”。
圖9示出了使計算機系統(tǒng)執(zhí)行圖5至7所示的這些步驟的偽碼。圖10示出了根據(jù)圖8所示的每個部分序列執(zhí)行鑒定的步驟的偽碼。圖10中所示的函數(shù)check_exactly(T,Q,k)表示在圖8的步驟S102采用的一種高精度判定方法。雖然這要用與通常所需的相同的時間,但函數(shù)check_exactly(T,Q,k)通過按照Smith-Waterman方法之類進行精確計算確定靶核苷酸序列T實際上是否與互補序列Q結(jié)合。在靶核苷酸序列T沒有與互補序列Q結(jié)合時,函數(shù)返回邏輯真,而在靶核苷酸序列T與互補序列Q結(jié)合時,函數(shù)返回邏輯假。在本發(fā)明中,用Smith-Waterman方法作為這種方法用于check_exactly(T,Q,k)的一個具體例子。然而,對于這個函數(shù)可以使用Smith-Waterman方法之外的任何方法。為了以高精確度向用戶提供判定“不結(jié)合”,函數(shù)check_exactly(T,Q,k)也可以設置為總是返回“邏輯假”。在這種情況下,在得到結(jié)果“不結(jié)合”時,始終可以說靶核苷酸序列與互補序列不結(jié)合。因此,這對于判定雜交也是有益的。
圖11以表的形式示出了用本發(fā)明的篩選方法得到的鑒定結(jié)果。在圖11所示的實施例中,靶核苷酸序列T為CGCGCATGAA,互補序列Q為GCCCATGC,而編輯距離k為3。下面將結(jié)合圖11說明用本發(fā)明的篩選方法得到的鑒定結(jié)果。圖11的表的縱欄為編輯距離計數(shù)器i的值,橫欄為指出在互補序列內(nèi)一個位置的probe_position的值,而表內(nèi)每個值表示在圖7中的鑒定步驟結(jié)束時position[i]的值。在圖11所示的實施例中,由于最大編輯距離k為3,因此只對編輯距離i為3或更小的進行計算。在圖11所示的實施例中,positions[i,probe_position]的計算最終進至圖11所示的偽碼的②,從而得到7為positions[3]的值。因此,將7作為一個返回值返回,而在這個例行程序期間,min_k的最終值為2。就以上說明的positions[i,probe_position]來說,在positions[i,probe_position]為j時,positions[i]就成為probe_position[i,j]。這個序列數(shù)據(jù)可以存為一個表,或者如在本發(fā)明中所說明的那樣,可以只存儲position[i]相對于正在鑒定的probe_position的變量的值。
圖12(a)和(b)原理性地示出了返回圖11中所示的positions
和positions[1]的值的步驟。如圖12(a)所示,在positions
的情況下,出現(xiàn)在互補序列Q內(nèi)的一些核苷酸僅僅表示這些核苷酸在靶核苷酸序列內(nèi)的位置,因此,由2、3和5給定的值作為positions
的值提供。
另一方面,在positions[1]的情況下,在i≥2時,將next_char_position的值和positions[i-1]的值中較小的那個值作為返回值返回。因此,雖然positions
的值為2,由于互補序列Q內(nèi)第一個胞嘧啶(C)作為靶核苷酸序列內(nèi)第一個核苷酸出現(xiàn),從而得到這個為1的較小值。同樣,互補序列Q內(nèi)第二個胞嘧啶(C)作為靶核苷酸序列T內(nèi)第三個核苷酸出現(xiàn)。由于next_char_position的返回值為3,而相應的positions
的值兩個都為3,因此返回為3的值。
此外,互補序列Q內(nèi)第四個核苷酸胞嘧啶(C)出現(xiàn)在靶核苷酸序列內(nèi)的位置5。類似,互補序列Q內(nèi)的腺嘌呤(A)、胸腺嘧啶(T)和第七個鳥嘌呤(C)分別出現(xiàn)在靶核苷酸序列內(nèi)的位置6、7和8。這些序號構(gòu)成了positions[1]的行,從而提供了一個由1、3、5、6、7和8組成的行。類似,在position[2]的情況下,互補序列Q內(nèi)第三個核苷酸胞嘧啶(C)出現(xiàn)在靶核苷酸序列內(nèi)的第一個位置,因此給出一個為1的值。第四個核苷酸胞嘧啶(C)出現(xiàn)在位置3,而第五個核苷酸腺嘌呤(A)出現(xiàn)在位置6。然而,在這里根據(jù)條件m=4用5作為相應positions[1]的值。雖然第六個核苷酸胸腺嘧啶(T)出現(xiàn)在位置7,但在這里根據(jù)條件m=5用6作為positions[1]的值。因此,如圖11所示,提供一個由0、1、3、5、6、7和8組成的行。
在k=3的如圖11所示的實施例的情況下,positions[1]在probe_position=7的點取一個為8的值。因此,next_char_position(T,9,“C”)的值就為n+1=11,大于n。在probe_position=8的最后步驟,因此,min_k的值只加1,從而為2。值min_k=2表明靶核苷酸序列和互補序列內(nèi)公共的一個子序列的長度為m-2=6。此外,在用同樣的靶核苷酸序列和同樣的互補序列在最大編輯距離k=1的條件下執(zhí)行同樣的計算時,以編輯距離計數(shù)器i=0,1執(zhí)行positions[1]和positions
的計算,得到鑒定結(jié)果,從而結(jié)束這個步驟。在這種情況下,計算進至偽碼的①,返回一個為n+1=11的值。這表明不存在長度為m-1=7或更長的公共子序列。在本發(fā)明中,并不總是必需以如圖11所示的鑒定結(jié)果表的形式積累鑒定結(jié)果,而是如上所述,也能以數(shù)據(jù)形式只將positions[i]的最大值存儲在存儲單元內(nèi)。
C.本發(fā)明的核苷酸序列篩選系統(tǒng)圖13為原理性地示出一種實現(xiàn)本發(fā)明的篩選方法的核苷酸序列篩選系統(tǒng)的功能方框圖。圖13述示的核苷酸序列篩選系統(tǒng)10(以下簡稱為系統(tǒng))概括地說包括一個中央處理單元(CPU)和一些必需的存儲單元。系統(tǒng)通過接收靶核苷酸序列和互補序列執(zhí)行用于篩選的鑒定步驟。
具體地說,本發(fā)明的系統(tǒng)10包括互補序列存儲單元14、靶核苷酸序列存儲單元16、最大編輯距離存儲單元18和鑒定處理單元20。互補序列存儲單元14、靶核苷酸序列存儲單元16和最大編輯距離存儲單元18各配置為一個適當?shù)拇鎯ζ骰虼鎯^(qū)。在圖13中,這些單元分別示為各個不同的塊以便明確地對每個功能塊進行說明,但是在本發(fā)明中,這些功能塊按配置情況也可以是單個隨機存取存儲器之類中的一個存儲區(qū)?;パa序列存儲單元14從輸入單元12接收探針P的輸入,而存儲利用互補關系產(chǎn)生的互補序列Q。靶核苷酸序列存儲單元16和最大編輯距離存儲單元分別存儲輸入的靶核苷酸序列數(shù)據(jù)和最大編輯距離k。上述輸入單元12在本發(fā)明中可以包括鍵盤、數(shù)據(jù)讀出單元等。數(shù)據(jù)讀出單元讀出存儲在一個諸如floppy(注冊商標)軟盤、硬盤、CD-ROM或DVD之類的輸入/輸出媒體內(nèi)的探針P的核苷酸序列,將探針P的數(shù)據(jù)發(fā)送給本發(fā)明的系統(tǒng)。
在鑒定處理單元20內(nèi),CPU從硬盤(未示出)讀出使系統(tǒng)執(zhí)行本發(fā)明的篩選方法的程序,作為一個配置為軟件的功能塊予以執(zhí)行。鑒定處理單元20由如圖5所示的largest_prefix_with_common_subsequence組成。它包括一個動態(tài)地終止鑒定的終止確定單元20a和一個鑒定執(zhí)行單元20b。鑒定處理單元20從互補序列存儲單元14、靶核苷酸序列存儲單元16和最大編輯距離存儲單元18分別讀出互補序列Q、靶核苷酸序列T和最大編輯距離k后,用本發(fā)明的篩選方法執(zhí)行對公共子序列的鑒定和確定。終止確定單元20a將min_k的值與最大編輯距離k進行比較。在min_k的值變成大于k時,確定在用戶要求的范圍內(nèi)沒有確定為“結(jié)合”的序列,從而命令鑒定執(zhí)行單元20b從此不鑒定probe_position。接收到這個命令,鑒定處理單元20將計算得的鑒定結(jié)果在本發(fā)明的一個具體實施例中以position[i,probe_position]的格式寫入存儲單元22。在本發(fā)明的這個具體實施例中,鑒定結(jié)果可取地配置成如圖11所示的鑒定結(jié)果表的形式,以便為以后進一步鑒定提供信息。然而,在本發(fā)明中,也可以只選擇必需的positions[i,probe_position]的值存儲。
制備了鑒定結(jié)果表后,鑒定處理單元20按positions[i]的值查出與給定的probe_position的值相應的positions[i]的值,確定在與probe_position相應的欄內(nèi)是否含有一個大于或等于probe_position的返回值。如果probe_position>m,而min_k的值成為大于k,就確定在與所要求的最大編輯距離k相應的范圍內(nèi)沒有發(fā)現(xiàn)公共子序列,于是顯示單元24向用戶顯示判定結(jié)果“不結(jié)合”。另一方面,在probe_position>m,而min_k<k的情況下,在positions[i]的距離計數(shù)器i內(nèi)min_k=i+l,從而確定有一個序列長度為(m-min_k)的公共序列。這樣一個判定結(jié)果通過顯示單元24的媒體在屏幕上將結(jié)果顯示為“結(jié)合”提供給用戶。此外,諸如核苷酸序列或這個序列的長度之類的輔助信息也通過在屏幕上顯示提供給用戶。提供給用戶的判定結(jié)果可以以硬拷貝的形式從打印機輸出,也可以存儲在諸如floppy(注冊商標)軟盤、硬盤、CD-ROM、DVD或閃速存儲器之類的存儲媒體內(nèi)。
圖14示出了一種執(zhí)行本發(fā)明的篩選方法的第二實施例的系統(tǒng)的實施例。圖14所示的系統(tǒng)10除了鑒定處理單元20的配置之外具有與圖13所示的幾乎相同的配置,因此,以下將詳細說明圖14所示的系統(tǒng)10內(nèi)的鑒定處理單元20。圖14中的鑒定處理單元20包括終止確定單元20a、鑒定執(zhí)行單元20b和部分序列指定單元20c。部分序列指定單元20c從指定數(shù)據(jù)存儲單元28讀出一個需首先鑒定的部分序列的信息,諸如position的值和length的值之類,確定需鑒定的部分序列。指定的部分序列傳送給鑒定執(zhí)行單元20b,由它以與圖13中所示的相同的方式執(zhí)行鑒定。終止確定單元20a命令鑒定執(zhí)行單元20b終止鑒定,還命令部分序列指定單元20c終止鑒定這個部分序列。此外,在要鑒定另一個部分序列時,指定下一次要鑒定的一個部分序列,將這個部分序列的數(shù)據(jù)傳送給鑒定執(zhí)行單元20b。
圖15示出了本發(fā)明的系統(tǒng)10的第二實施例。本發(fā)明的第二實施例的系統(tǒng),如圖14所示,通過網(wǎng)絡30從用戶接收一個靶核苷酸序列T和一個探針P的核苷酸序列的數(shù)據(jù)。接收到的數(shù)據(jù)存儲在發(fā)送和接收單元34的輸入緩存器,再存入互補序列存儲單元14、靶核苷酸序列存儲單元16、最大編輯距離存儲單元18和指定數(shù)據(jù)存儲單元28。在這種情況下,用戶可以直接發(fā)送靶核苷酸序列T。然而,在系統(tǒng)10包括一個諸如cDNA數(shù)據(jù)庫之類的存儲靶核苷酸序列T的信息的數(shù)據(jù)庫時,鑒定處理單元20參照通過網(wǎng)絡從用戶接收到的目標指定數(shù)據(jù)接入數(shù)據(jù)庫32,得到相應的靶核苷酸序列,將得到的靶核苷酸序列T存儲在靶核苷酸序列存儲單元16內(nèi)。鑒定處理單元20執(zhí)行與就圖14所說明的相同的步驟,產(chǎn)生一個鑒定結(jié)果,將這個鑒定結(jié)果存儲在存儲單元22內(nèi)并發(fā)送給發(fā)送和接收單元34。于是,鑒定結(jié)果通過網(wǎng)絡30發(fā)送給用戶,從而用戶可以得到有關篩選存儲在核苷酸序列數(shù)據(jù)庫內(nèi)的核苷酸序列的探針P的有效性的信息。
實例為了檢驗本發(fā)明的篩選方法的效果,本發(fā)明的程序裝入一個配備有Windows2000的個人計算機(裝有Intel制造的Pentium4:2.2GHz處理器),通過與傳統(tǒng)的高精度方法(Smith-Waterman方法)相比較對本方法的計算結(jié)果進行了分析。將從一個資料庫(Gen Bank AccessionNoNC_000913)獲得的核苷酸鏈長度為4,639,221bp的大腸桿菌的基因組用作靶核苷酸序列。根據(jù)每個部分序列執(zhí)行鑒定的具有圖9和10所示的偽碼的算法安裝在用于這個試驗的個人計算機內(nèi)。此外,用Smith Waterman方法作為check_exactly的函數(shù)。
作為一個要輸入的互補序列Q,通過用上述大腸桿菌的基因組的一部分并從中缺失若干個核苷酸準備出一個核苷酸鏈長度近似為580bp的核苷酸鏈,從而準備出多個探針P。最小的窗口尺寸(check_length)固定在1158,相當于探針長度的兩倍左右。編輯距離k設置成使能雜交的核苷酸鏈的相似度可以設置為0.80、0.85、0.90和0.95。因此,這個試驗執(zhí)行4次,各次的互補序列的相似度不同。此外,為了進行比較,還測量了用Smith-Waterman方法作為現(xiàn)有技術(shù)得到的計算時間。得到的結(jié)果示于圖16。
從圖16所示的結(jié)果可以肯定本發(fā)明的篩選就運算速度而言快到近似為常規(guī)方法的兩倍至二十倍。就運算速度來說,如果相似度可以設置得高,最大編輯距離k可以設置得短,因此就可以限制對于探針P的核苷酸序列的重復計算(即,編輯距離計數(shù)器的重復數(shù)可以為k或更少)。這樣,就減少了需確定的核苷酸的絕對數(shù)目,從而可以高速計算。也就是說,本發(fā)明與常規(guī)方法不同,它在相似度設置得高時可以用高精度計算。
圖16的表所示的結(jié)果標繪成圖17所示的曲線,縱欄表示計算時間(秒)而橫欄表示相似度(%)。圖17表明,隨著相似度增大,得到一個確定結(jié)果的時間就減少。此外,還表明在相似度為100%時,得到一個判定結(jié)果所需的時間至少比作為一個比較例子的Smith-Waterman方法所需的時間短幾十倍。
以上結(jié)合附圖對本發(fā)明的一些具體實施例作了說明。實現(xiàn)本發(fā)明上述功能的裝置或部件可配置為以計算機可執(zhí)行的程序設計語言描述的軟件或一組軟件模塊,所以它們不一定地要是在這些附圖中所示的功能塊。此外,在本發(fā)明的核苷酸序列篩選系統(tǒng)中,每個功能元件可以根據(jù)需要用任何功能模塊配置,因此不局限于在附圖中所示的具體實施例。
此外,本發(fā)明的程序可以用諸如FORTRAN、C語言、或JAVAR之類的各種類型的編程語言編寫。包括本發(fā)明的程序的代碼可以保留在一個諸如磁帶、軟盤、硬盤、光盤(CD)、磁光盤或數(shù)字通用盤(DVD)之類的計算機可讀記錄媒體內(nèi)。它也可以作為傳輸媒體分發(fā)。
與采用高精度對準的傳統(tǒng)方法相比,通過有選擇地至少剔除一些低互補性的探針,本發(fā)明可以高速地為用戶提供有關探針的令人滿意的信息。此外,通過將本發(fā)明的方法用于首先對一個探針的篩選、此后再結(jié)合采用高精度對準的傳統(tǒng)方法使用本發(fā)明的方法,本發(fā)明還提供了一種能以較高速度對探針篩選的核苷酸序列篩選系統(tǒng)、用于這種系統(tǒng)的方法、使一個計算機執(zhí)行這種方法的程序、存儲這種程序的計算機可讀記錄媒體和通過網(wǎng)絡在其上執(zhí)行核苷酸序列篩選的服務器。
權(quán)利要求
1.一種篩選核苷酸序列的計算機系統(tǒng),所述計算機系統(tǒng)包括一個存儲靶核苷酸序列數(shù)據(jù)的靶核苷酸序列存儲單元;一個根據(jù)一個可能與靶核苷酸序列結(jié)合的探針核苷酸序列產(chǎn)生互補序列數(shù)據(jù)和存儲所產(chǎn)生的互補序列數(shù)據(jù)的互補序列數(shù)據(jù)存儲單元;一個以編輯距離遞降次序鑒定所述靶核苷酸序列數(shù)據(jù)和所述互補序列數(shù)據(jù)、確定所述探針核苷酸序列與所述靶核苷酸序列的結(jié)合可能性的鑒定處理單元;以及一個存儲所述鑒定處理單元得到的鑒定結(jié)果的存儲單元。
2.按照權(quán)利要求1所述的計算機系統(tǒng),所述計算機系統(tǒng)還包括一個存儲所述靶核苷酸序列與所述探針核苷酸序列之間的最大可接受編輯距離的最大編輯距離存儲單元。
3.按照權(quán)利要求2所述的計算機系統(tǒng),其中所述鑒定處理單元包括一個動態(tài)地確定終止鑒定的終止確定單元,所述終止確定單元確定所述互補序列數(shù)據(jù)的鑒定是否執(zhí)行到超過所述最大編輯距離。
4.一種篩選核苷酸序列的計算機系統(tǒng),所述計算機系統(tǒng)包括一個存儲靶核苷酸序列數(shù)據(jù)的靶核苷酸序列存儲單元;一個根據(jù)一個可能與靶核苷酸序列結(jié)合的探針核苷酸序列產(chǎn)生互補序列數(shù)據(jù)和存儲所產(chǎn)生的互補序列數(shù)據(jù)的互補序列數(shù)據(jù)存儲單元;一個從所述靶核苷酸序列數(shù)據(jù)中指定一個部分短鏈序列、根據(jù)每個所述部分序列以編輯距離遞降次序鑒定所述互補序列數(shù)據(jù)和確定所述探針核苷酸序列與所述靶核苷酸序列的結(jié)合可能性的鑒定處理單元;以及一個存儲所述鑒定處理單元得到的鑒定結(jié)果的存儲單元。
5.按照權(quán)利要求4所述的計算機系統(tǒng),所述計算機系統(tǒng)還包括一個存儲所述靶核苷酸序列與所述探針核苷酸序列之間的最大可接受編輯距離的最大編輯距離存儲單元。
6.按照權(quán)利要求5所述的計算機系統(tǒng),其中所述鑒定處理單元包括一個動態(tài)地確定終止鑒定的終止確定單元,所述終止確定單元確定所述互補序列數(shù)據(jù)的鑒定是否執(zhí)行到超過所述最大編輯距離。
7.按照權(quán)利要求5所述的計算機系統(tǒng),其中所述鑒定處理單元響應動態(tài)確定終止鑒定的所述單元的確定使所述部分序列指定單元指定另一個與被最近鑒定的部分序列有一段預定交疊的部分序列。
8.一種控制一個計算機、使一個計算機系統(tǒng)執(zhí)行篩選核苷酸序列的方法,所述方法使所述計算機系統(tǒng)執(zhí)行下列步驟存儲靶核苷酸序列數(shù)據(jù)和一個探針核苷酸序列;根據(jù)一個可能與靶核苷酸序列結(jié)合的探針核苷酸序列產(chǎn)生互補序列數(shù)據(jù)和存儲所產(chǎn)生的互補序列數(shù)據(jù);存儲所述靶核苷酸序列與所述探針核苷酸序列之間的最大可接受編輯距離;從每個存儲單元讀出所述每個核苷酸序列數(shù)據(jù)和所述最大編輯距離,以編輯距離遞降次序鑒定所述靶核苷酸序列數(shù)據(jù)與所述互補序列數(shù)據(jù)的結(jié)合可能性;以及將所述鑒定的結(jié)果存儲在一個存儲單元內(nèi)。
9.按照權(quán)利要求8所述的控制一個計算機的方法,其中所述鑒定步驟還包括下列步驟確定鑒定所述互補序列數(shù)據(jù)是否執(zhí)行到超過所述最大編輯距離;以及響應所述確定結(jié)果,產(chǎn)生一個終止信號。
10.一種控制一個計算機、使一個計算機系統(tǒng)執(zhí)行篩選核苷酸序列的方法,所述方法使所述計算機系統(tǒng)執(zhí)行下列步驟存儲靶核苷酸序列數(shù)據(jù)和一個探針核苷酸序列;根據(jù)一個可能與靶核苷酸序列結(jié)合的探針核苷酸序列產(chǎn)生互補序列數(shù)據(jù)和存儲所產(chǎn)生的互補序列數(shù)據(jù);存儲所述靶核苷酸序列與所述探針核苷酸序列之間的最大可接受編輯距離;從所述靶核苷酸序列數(shù)據(jù)中指定一個部分短鏈序列,根據(jù)每個所述部分序列以編輯距離遞降次序鑒定所述互補序列數(shù)據(jù)和鑒定所述探針核苷酸序列與所述靶核苷酸序列的結(jié)合可能性;以及將所述鑒定的結(jié)果存儲在一個存儲單元內(nèi)。
11.按照權(quán)利要求10所述的控制一個計算機的方法,其中所述鑒定步驟還包括下列步驟確定對于所述部分序列中的至少一個部分序列所述互補序列數(shù)據(jù)的鑒定是否執(zhí)行到超過所述最大編輯距離;以及響應所述確定結(jié)果,動態(tài)地結(jié)束鑒定。
12.按照權(quán)利要求11所述的控制一個計算機的方法,其中所述鑒定步驟還包括下列步驟確定鑒定終止;以及響應所述鑒定終止的確定,指定另一個與被最近地鑒定的這個部分序列有一段預定交疊的部分序列。
13.一種使一個計算機系統(tǒng)執(zhí)行核苷酸序列篩選的控制計算機的方法的計算機可執(zhí)行程序,所述程序控制所述計算機系統(tǒng),使它執(zhí)行下列步驟存儲靶核苷酸序列數(shù)據(jù)和一個探針核苷酸序列;根據(jù)一個可能與靶核苷酸序列結(jié)合的探針核苷酸序列產(chǎn)生互補序列數(shù)據(jù)和存儲所產(chǎn)生的互補序列數(shù)據(jù);存儲所述靶核苷酸序列與所述探針核苷酸序列之間的最大可接受編輯距離;從每個存儲單元讀出每段所述核苷酸序列數(shù)據(jù)和所述最大編輯距離,以編輯距離遞降次序鑒定所述靶核苷酸序列數(shù)據(jù)與所述互補序列數(shù)據(jù)的結(jié)合可能性;以及將所述鑒定的結(jié)果存儲在一個存儲單元內(nèi)。
14.按照權(quán)利要求13所述的計算機可執(zhí)行程序,其中所述鑒定步驟還包括下列步驟確定鑒定所述互補序列數(shù)據(jù)是否執(zhí)行到超過所述最大編輯距離;以及響應所述確定結(jié)果,動態(tài)地終止鑒定。
15.一種使一個計算機系統(tǒng)執(zhí)行核苷酸序列篩選的控制計算機的方法的計算機可執(zhí)行程序,所述程序控制所述計算機系統(tǒng),使它執(zhí)行下列步驟存儲靶核苷酸序列數(shù)據(jù)和一個探針核苷酸序列;根據(jù)一個可能與靶核苷酸序列結(jié)合的探針核苷酸序列產(chǎn)生互補序列數(shù)據(jù)和存儲所產(chǎn)生的互補序列數(shù)據(jù);存儲所述靶核苷酸序列與所述探針核苷酸序列之間的最大可接受編輯距離;從所述靶核苷酸序列數(shù)據(jù)中指定一個部分短鏈序列,根據(jù)每個所述部分序列以編輯距離遞降次序鑒定所述互補序列數(shù)據(jù)和鑒定所述探針核苷酸序列與所述靶核苷酸序列的結(jié)合可能性;以及將所述鑒定的結(jié)果存儲在一個存儲單元內(nèi)。
16.按照權(quán)利要求15所述的計算機可執(zhí)行程序,其中所述鑒定步驟還包括下列步驟確定對于所述部分序列中的至少一個部分序列所述互補序列數(shù)據(jù)的鑒定是否執(zhí)行到超過所述最大編輯距離;響應所述確定結(jié)果,動態(tài)地終止鑒定;以及響應所述鑒定終止的確定,指定另一個與被最近鑒定的這個部分序列有一段預定交疊的部分序列。
17.一種計算機可讀存儲媒體,所述計算機可讀存儲媒體錄有按照權(quán)利要求13所述的程序。
18.一種計算機可讀存儲媒體,所述計算機可讀存儲媒體錄有按照權(quán)利要求15所述的程序。
19.一種通過網(wǎng)絡在其上執(zhí)行核苷酸序列篩選的服務器,所述服務器包括一個存儲靶核苷酸序列數(shù)據(jù)的數(shù)據(jù)庫;一個通過網(wǎng)絡接收目標指定數(shù)據(jù)和一個可能與靶核苷酸序列結(jié)合的探針核苷酸序列和通過所述網(wǎng)絡發(fā)送篩選結(jié)果的發(fā)送和接收單元;一個根據(jù)所述探針核苷酸序列產(chǎn)生互補序列數(shù)據(jù)并予以存儲的互補序列數(shù)據(jù)存儲單元;以及一個用所述目標指定數(shù)據(jù)搜索所述數(shù)據(jù)庫、以編輯距離遞降次序鑒定搜索得的靶核苷酸序列數(shù)據(jù)和所述互補序列數(shù)據(jù)、確定所述探針核苷酸序列與所述靶核苷酸序列的結(jié)合可能性和將結(jié)果發(fā)送給所述發(fā)送和接收單元的鑒定處理單元。
全文摘要
本發(fā)明提供了一種篩選核苷酸序列的計算機系統(tǒng)和方法,這種方法包括下列步驟存儲靶核苷酸序列數(shù)據(jù)和一個探針核苷酸序列(S10);根據(jù)一個可能與靶核苷酸序列結(jié)合的探針核苷酸序列產(chǎn)生互補序列數(shù)據(jù)和存儲靶核苷酸序列與探針核苷酸序列之間最大可接受編輯距離(S12);從每個存儲單元讀出每個核苷酸序列數(shù)據(jù)和最大編輯距離,以編輯距離遞降次序鑒定靶核苷酸序列數(shù)據(jù)與互補序列數(shù)據(jù)的結(jié)合可能性(S14);以及將結(jié)合鑒定結(jié)果存儲在一個存儲單元內(nèi)(S16)。
文檔編號G06F19/00GK1525362SQ20041000521
公開日2004年9月1日 申請日期2004年2月17日 優(yōu)先權(quán)日2003年2月27日
發(fā)明者澀谷哲朗 申請人:國際商業(yè)機器公司