基于bsa-ts算法的蛋白質(zhì)三維結(jié)構(gòu)預(yù)測方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及BSA算法,TS算法和三維AB非晶格模型,具體講的是在蛋白質(zhì)三維AB 非晶格模型中,通過對BSA算法及TS算法的改進與混合,以提高單一算法的算法精度,預(yù)測 到更穩(wěn)定的蛋白質(zhì)三維結(jié)構(gòu),其屬于生物信息學(xué)蛋白質(zhì)結(jié)構(gòu)預(yù)測領(lǐng)域。
【背景技術(shù)】
[0002] 研究蛋白質(zhì)結(jié)構(gòu),有助于了解蛋白質(zhì)作用,了解其如何行使其生物功能,認(rèn)識蛋白 質(zhì)與蛋白質(zhì)(或其它分子)之間的相互作用,這對于生物學(xué),醫(yī)學(xué)和藥學(xué)都非常重要。而近 年來蛋白質(zhì)結(jié)構(gòu)測定的試驗方法雖然得到很好發(fā)展,但仍比較耗時和昂貴,且對于某些不 易結(jié)晶的蛋白質(zhì)來說不適用,因此需要發(fā)展理論分析方法。隨著計算機技術(shù)的發(fā)展,其逐步 成為處理蛋白質(zhì)分子超大數(shù)據(jù)的重要工具。
[0003] 蛋白質(zhì)三維結(jié)構(gòu)的理論預(yù)測方法主要分為以下三步:一是提出能反映氨基酸殘基 間相互作用和環(huán)境等的數(shù)學(xué)模型;二是根據(jù)熱力學(xué)假設(shè)建立一個計算上簡單又能正確區(qū)分 蛋白質(zhì)天然結(jié)構(gòu)與其它結(jié)構(gòu)的能量函數(shù),三是找到相應(yīng)模型對應(yīng)的能量函數(shù)最小值的全局 優(yōu)化方法。由于研究人員的努力,關(guān)于上面三個步驟分別得到了很多的成果。對于蛋白質(zhì) 結(jié)構(gòu)模型,目前兩個應(yīng)用非常廣的模型是HP晶格模型與AB非晶格模型。HP晶格模型使用 兩種殘基一一疏水性殘基(H)與親水性殘基(P)表示氨基酸鏈,且各殘基分布在堆疊的立 方晶格頂點。這個模型的缺點是忽略了在蛋白質(zhì)折疊過程中很重要的局部反應(yīng)。AB非晶格 模型比HP晶格模型更精確,因為其中氨基酸間鍵角是任意的。由于蛋白質(zhì)折疊過程的復(fù)雜 性,準(zhǔn)確的蛋白質(zhì)能量函數(shù)的建立是困難的,目前有很多簡化的能量函數(shù)被提出。對于全局 優(yōu)化方法,基于HP晶格模型與AB非晶格模型的許多優(yōu)化蛋白質(zhì)結(jié)構(gòu)預(yù)測算法已經(jīng)被提出。 近年來,基于HP晶格模型的優(yōu)化算法比如MOSE,ACO,MCMPS0-TS等算法。M0SE算法用一個 啟發(fā)式偏差函數(shù)幫助理論的蛋白質(zhì)結(jié)構(gòu)形成疏水內(nèi)核,但是這僅僅在簡單折疊的蛋白質(zhì)中 高效。AC0算法提出的靈感來源于對螞蟻尋找食物的行為的觀察,其算法框架可以被分成 三部分:螞蟻解的構(gòu)造,更新信息素,進程守護。MCMPS0-TS算法是一種聯(lián)接了粒子群算法 (PS0)和禁忌算法(TS)以提尚全局優(yōu)化能力的混合算法?;贏B非晶格|旲型的蛋白質(zhì)結(jié) 構(gòu)預(yù)測算法比如PSO,TPSO,LPSO,PGATS,ABC等算法。PS0算法的靈感來源于鳥群迀徙過程 中的信息交流,每只鳥不但能記住自己當(dāng)前找到的距離食物最佳的位置,還可以知道種群 中所有鳥兒當(dāng)前所能找到的最佳位置,由這兩個最優(yōu)值判斷食物的最佳位置。TPS0算法聯(lián) 接了PS0算法和TS算法,利用兩個算法的優(yōu)勢提高搜索精度,跳出局部最優(yōu)解。LPS0算法 在PS0算法中加入一種稱為利維飛行的隨機過程以提尚算法全局搜索能力。PGATS算法是 在GA-PS0基礎(chǔ)上提出的,同時加入了改進的禁忌搜索算法的混合算法。ABC算法的提出源 于對蜜蜂采蜜行為的觀察,此算法的主要特征是不用知道問題的特殊信息,只需要比較解 的優(yōu)劣性。既然設(shè)計算法的目的是預(yù)測蛋白質(zhì)結(jié)構(gòu),那么最重要的判斷標(biāo)準(zhǔn)就是每個算法 所能預(yù)測到的對應(yīng)能量函數(shù)的最低值。因此本文主要關(guān)注得到更低的能量值及對應(yīng)的空間 結(jié)構(gòu),以蛋白質(zhì)三維結(jié)構(gòu)預(yù)測為研究目的,并基于改進BSA算法與禁忌算法,針對AB非晶格 模型提出了一種混合優(yōu)化算法。通過在AB非晶格模型上的實驗,結(jié)果表明此混合算法能得 到比幾乎所有以上算法得到的最優(yōu)結(jié)果更低的能量值。
【發(fā)明內(nèi)容】
[0004] 鑒于已有生產(chǎn)方法存在的缺陷,本發(fā)明提供一種基于三維AB非晶格模型的蛋白 質(zhì)三維結(jié)構(gòu)預(yù)測算法BSA-TS混合算法,該方法是將BSA算法用于蛋白質(zhì)結(jié)構(gòu)三維預(yù)測且加 以改進,同時在算法后期使用加入變異算子的TS算法,利用其全局搜索能力較強的優(yōu)點對 BSA算法運行得到的優(yōu)化結(jié)果進行進一步全局搜索,有效提高了算法的搜索精度,得到更穩(wěn) 定的蛋白質(zhì)三維結(jié)構(gòu)。
[0005] 該方法首先通過改進的BSA算法運行3000次得到較穩(wěn)定的優(yōu)化結(jié)果,然后利用改 進的TS算法進行2000次全局局部鄰域搜索得到最終預(yù)測結(jié)果。在蛋白質(zhì)三維結(jié)構(gòu)預(yù)測過 程中,對使用的BSA算法所作的改進為:將BSA算法選擇-II策略替換為懲罰機制,判斷 種群中個體兩兩間歐氏距離,如果距離小于預(yù)設(shè)臨界值D(經(jīng)驗值,與序列長度相關(guān))時則 對其中適應(yīng)值較高的個體實施懲罰操作,以此增加種群中個體的多樣性;對TS算法所作的 改進為:引進了變異算子,使鄰域產(chǎn)生前期對當(dāng)前個體產(chǎn)生較大擾亂度,保證變異個體多樣 性;鄰域產(chǎn)生后期對當(dāng)前解產(chǎn)生較小擾亂度,避免錯過全局最優(yōu),以提高TS算法的全局搜 索能力和算法精度。
[0006] 為實現(xiàn)上述目的,本發(fā)明所采用的技術(shù)方案是:
[0007] 步驟1 :設(shè)置參數(shù),初始化種群P與歷史種群P°ld;
[0008] 步驟2 :進入改進的BSA算法迭代循環(huán)部分,判斷終止條件是否滿足,滿足則執(zhí)行 步驟4,不滿足則執(zhí)行步驟3 ;
[0009] 步驟3 :對種群依次執(zhí)行選擇-I策略、執(zhí)行變異操作、執(zhí)行交叉策略、執(zhí)行邊界控 制、執(zhí)行懲罰機制;
[0010] 步驟4 :對BSA部分得到的優(yōu)化結(jié)果用改進的TS算法,通過引入變異算子進行全 局鄰域搜索;當(dāng)滿足終止條件時,退出循環(huán),輸出優(yōu)化結(jié)果。
[0011] 所述的方法包括以下具體步驟:
[0012] 1)隨機初始化種群P和歷史種群P°ld;
[0013] 2)所述步驟2中終止條件為判斷循環(huán)代數(shù)印k值是否小于3000,若大于3000,則 滿足終止條件,執(zhí)行9),否則執(zhí)行3);
[0014] 3)執(zhí)行選擇-I策略:在每次迭代初始時重新確定將被用來計算搜索方向的歷史 種群P°ld:
[0015] Ifa<bthenPold=P
[0016] 其中,a,b為隨機數(shù),a,b~U(0, 1),從之前迭代得到的種群中選擇一個作為歷史 種群P°ld,并記住它直到再次發(fā)生變化;
[0017] 4)在P°ld確定之后,對其中個體進行隨機排序,并重新賦值給P°ld:
[0018] Pold=Pold(randperm(popsize),:)
[0019] 5)執(zhí)行變異操作:產(chǎn)生實驗種群Mutant的初始值:
[0020] Mutant=P+F* (P〇ld_P)
[0021] 其中,F(xiàn)是變異尺度,控制搜索方向矩陣(P°ld-P)的變異幅度,F(xiàn)取值為2. 5*randn, 其中randn是一個符合均值為0,方差為1的標(biāo)準(zhǔn)正態(tài)分布的隨機數(shù)。
[0022] 6)執(zhí)行交叉策略:通過判斷兩個0到1之間的隨機數(shù)大小而隨機調(diào)用其兩種交叉 策略;分別進行兩種交叉時,首先確定交叉長度u以及對應(yīng)交叉位置,交叉位置是先判斷交 叉長度u,交叉位置在程序中是通過隨機函數(shù)確定的u個交叉位置;然后將種群P與Mutant 中相同位置個體的同維元素互換(此處相同位置指的是兩個200個個體的種群中都選擇第 i個個體,同維指的是每個個體中的dim個維度中都選擇第j個元素,以此形成相同大小矩 陣的對應(yīng)元素互換),生成新種群P'與Mutant',并將P'賦給Mutant。在每次交叉時,u的 兩種選擇方式如下:
[0023] a)交叉策略I:u(i) = 1 ;
[0024] b)交叉策略II:"⑴=~訓(xùn)心:dim1。其中mixrate為交叉概率,dim為每 個染色體長度。
[0025] 7)執(zhí)行邊界控制:
[0026] 在執(zhí)行交叉策略后,對種群Mutant個體中超出搜索范圍的基因執(zhí)行邊界控制,通 過判斷兩個〇到1之間的隨機數(shù)大小而等概率調(diào)用以下兩種邊界控制方法產(chǎn)生新基因,新 生成的實驗種群記為Q:
[0027] a)當(dāng)種群Mutant中某基因Pu超過基因搜索范圍的上界,則重新賦值為上界up.j, 此處上界為角度大小的上界Ji,也是問題定義域的上界。
[0028] 低于基因搜索范圍的下界時,則重新賦值為下界l〇Wj,此處為-Jr;
[0029] b)當(dāng)種群Mutant中某基因Pg超過基因搜索范圍的上界或下界時,P^ = rand*(up(j)-low(j))+low(j);
[0030] 8)執(zhí)行懲罰機制:將種群P按適應(yīng)度大小升序排列,取其前一半個體為種群R,將 R與Q組成新種群Mu,求出Mu所有個體之間的歐氏距離山j(luò),如果山/D時,則將序列血1與 Mu。之間適應(yīng)度較大的值處以罰函數(shù)Penalty,Penalty為10 13,然后按適應(yīng)度值將Mu按升 序排序,取前popsize個個體賦給種群P并參與下次迭代。
[0031] 9)設(shè)定禁忌算法參數(shù),將BSA部分得到的globalminimizer值作為初始解,禁忌表 置空。
[0032] globalminimizer值指第8)步最后的種群P中的第一行(即BSA部分得到的適應(yīng) 度全局最小值對應(yīng)的個體)。
[0033] 10)所述步驟4中終止條件是判斷循環(huán)代數(shù)T是否小于2000,若大于等于2000,則 滿足終止條件,執(zhí)行15),否則執(zhí)行11);
[0034] 11)由當(dāng)前解結(jié)合變異算子產(chǎn)生鄰域解,并確定候選解;
[0035] 12)判斷是否滿足藐視準(zhǔn)則,判斷候選解與目前得到的最優(yōu)解對應(yīng)的最低適應(yīng)度 函數(shù)值pbest的大小,如果某候選解適應(yīng)度值比pbest低,則滿足藐視準(zhǔn)則),若滿足,則執(zhí) 行14),否則執(zhí)行13);
[0036] 13)判斷候選解禁忌屬性,將非禁忌對象對應(yīng)的最優(yōu)狀態(tài)作為當(dāng)前解,并用該對象 替換最早進入禁忌表的對象。跳轉(zhuǎn)10)。
[0037] 14)將滿足藐視準(zhǔn)則的解作為當(dāng)前解,其對應(yīng)禁忌對象替換最早進入禁忌表的對 象,更新最優(yōu)狀態(tài)。跳轉(zhuǎn)10)。
[0038] 15)輸出優(yōu)化結(jié)果。
[0039] 將BSA算法引入到蛋白質(zhì)結(jié)構(gòu)預(yù)測中并加以改進,利用BSA算法對控制參數(shù)不過 于敏感的優(yōu)點可以降低優(yōu)化結(jié)果的隨機性,得到較穩(wěn)定的適應(yīng)度值。
[0040] 所述變異算子為產(chǎn)生鄰域的函數(shù),對當(dāng)前解隨機選一個基因x用變異算子公式進 行變異為x_:
[0041 ]
[0042]
[0043] 其中xk為隨機選擇的粒于位置,c和r為0到1之間的隨機數(shù),rate是因子規(guī)模, 本文取0. 95,f(r)為相關(guān)系數(shù)。
[0044] 所述適應(yīng)度大小是能量函數(shù)值E,能量函數(shù)值E的計算公式:
[0045]
[0046]
[0047]
[0048] 其中ri]為任意不相鄰殘基之間歐式距離,Id%為殘基的二進制編碼,如果第i 個殘基為疏水性殘基A,則1,如果為B,則| d%)公式在一定程度上反 應(yīng)真實蛋白質(zhì)特性:AA殘基對間有較強引力,AB殘基對間有較弱斥力,BB殘疾對間有較弱 引力,求解適應(yīng)度時需要用到的將每個個體的角度值轉(zhuǎn)換為三維空間坐標(biāo)的公式如下:
[0049]
[0050] 采用上述方法后,與現(xiàn)有技術(shù)方法相比具有以下有益效果:將BSA算法引入到蛋 白質(zhì)三維結(jié)構(gòu)預(yù)測中并加以改進,利用其