一種局部增強(qiáng)的差分進(jìn)化蛋白質(zhì)構(gòu)象空間搜索方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及生物信息學(xué)、計(jì)算機(jī)應(yīng)用領(lǐng)域,尤其涉及的是一種局部增強(qiáng)的差分進(jìn) 化蛋白質(zhì)構(gòu)象空間搜索方法。
【背景技術(shù)】
[0002] 蛋白質(zhì)分子在生物細(xì)胞化學(xué)反應(yīng)過程中起著至關(guān)重要的作用。它們的結(jié)構(gòu)模型和 生物活性狀態(tài)對我們理解和治愈多種疾病有重要的意義。蛋白質(zhì)只有折疊成特定的三維結(jié) 構(gòu)才能產(chǎn)生其特有的生物學(xué)功能。因此,要了解蛋白質(zhì)的功能,就必須獲得其三維空間結(jié) 構(gòu)。
[0003] 蛋白質(zhì)結(jié)構(gòu)預(yù)測問題自上世紀(jì)50年代以來就一直備受關(guān)注,尤其是從頭預(yù)測構(gòu) 象空間優(yōu)化方法,是生物信息學(xué)和計(jì)算生物學(xué)領(lǐng)域的熱點(diǎn)研宄課題,因?yàn)榈鞍踪|(zhì)的三維空 間結(jié)構(gòu)決定了它所承載的生物功能,想要了解其功能進(jìn)而對許多由蛋白質(zhì)結(jié)構(gòu)改變而引起 的疾病進(jìn)行有效的控制和預(yù)防,就必須獲得其三維結(jié)構(gòu)。從頭預(yù)測方法直接從蛋白質(zhì)的氨 基酸序列出發(fā),根據(jù)Anfinsen原則,以計(jì)算機(jī)為工具,運(yùn)用適當(dāng)算法,通過計(jì)算得到蛋白質(zhì) 的天然構(gòu)象,適用于同源性小于25%的大多數(shù)蛋白質(zhì)。而制約從頭預(yù)測方法預(yù)測精度的瓶 頸因素主要有兩個方面:第一,蛋白質(zhì)構(gòu)象空間的高維復(fù)雜性以及能量表面的粗糙性,使其 成為一個難解的NP-Hard問題;第二,力場模型的不精確性也使得預(yù)測結(jié)果難以達(dá)到較高 的精度。設(shè)計(jì)有效的算法增強(qiáng)對構(gòu)象空間的采樣是解決蛋白質(zhì)結(jié)構(gòu)從頭預(yù)測瓶頸問題的有 效途徑。但是到目前還沒有一種十分完善的方法來預(yù)測蛋白質(zhì)的三維結(jié)構(gòu),即使獲得了很 好的預(yù)測結(jié)果,但也只是針對某些蛋白質(zhì)而言的,目前主要的技術(shù)瓶頸在于兩個方面,第一 方面在于采樣方法,現(xiàn)有技術(shù)對構(gòu)象空間采樣能力不強(qiáng),另一方面在于構(gòu)象更新方法,現(xiàn)有 技術(shù)對構(gòu)象的更新精度仍然不足。
[0004] 因此,現(xiàn)有的構(gòu)象空間搜索方法存在不足,需要改進(jìn)。
【發(fā)明內(nèi)容】
[0005] 為了克服現(xiàn)有蛋白質(zhì)結(jié)構(gòu)預(yù)測方法的構(gòu)象空間搜索維數(shù)較高、收斂速度較慢、預(yù) 測精度較低的不足,本發(fā)明基于差分進(jìn)化算法,提出一種局部增強(qiáng)的差分進(jìn)化蛋白質(zhì)構(gòu)象 空間搜索方法,LEDE :在差分進(jìn)化算法框架下,采用Rosetta Score3粗粒度知識能量模型 來;引入基于知識的片段組裝技術(shù)可以有效提高預(yù)測精度;利用Monte Carlo算法良好的 局部搜索性能對種群做局部增強(qiáng),以得到更為優(yōu)良的局部構(gòu)象,結(jié)合差分進(jìn)化算法較強(qiáng)的 全局搜索能力,可以對構(gòu)象空間進(jìn)行更為有效的采樣。
[0006] 本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
[0007] -種局部增強(qiáng)的差分進(jìn)化蛋白質(zhì)構(gòu)象空間搜索方法,包括以下步驟:
[0008] 1)給定輸入序列信息;
[0009] 2)設(shè)置系統(tǒng)參數(shù):種群大小popSize,算法的迭代次數(shù)T,交叉因子CR,片段的長度 L;
[0010] 3)種群初始化:由輸入序列產(chǎn)生popSize個種群個體Pinit;
[0011] 4)開始迭代,執(zhí)行種群更新過程,對初始種群中的每個個體:
[0012] 4. 1)設(shè) i = 1,其中 i G {1,2,3,…,popSize};令Ptarget=Pi,其中 i 為序號,Ptarget 表示目標(biāo)個體;
[0013] 4.2)隨機(jī)生成正整數(shù) randl,rand2,rand3,其中 randlG{1, 2, 3,......popSize}, randl ^ i, rand2 ^ rand3,G{1, 2, ???,Length},Length 為序列長度;
[0014] 4. 3)針對個體 Pj做變異操作,其中:j = randl ;令 a = min (rand2, rand3),b = max (rand2, rand3),k G [a, b];
[0015] 4. 4)對蛋白質(zhì)鏈中第a到b個氨基酸做如下操作:
[0016] a :令Ptarget.phi(k) =Pj.phi(k);
[0017] b:令Ptarget.psi(k) =Pj.psi(k);
[0018] c :令 Ptarget. omega (k) = Pj. omega (k);
[0019] 步驟a,b,c分別為:將Ptmget的氨基酸k所對應(yīng)的二面角phi、psi、omega替換為 Pj的相同位置所對應(yīng)的二面角phi、psi、omega ;
[0020] 4. 5)通過變異得到測試個體Ptrial;
[0021] 4. 6)生成隨機(jī)數(shù) rand4, rand5,其中 rand4 G (0, 1),rand5 G (1,Length);
[0022] 4. 7)根據(jù) 執(zhí)行交叉過程:若隨機(jī)數(shù) rand4〈 = CR,個體PtHal的片段rand5替換為個體Pta,get中對應(yīng)的片段,否則直接繼承個體 Ptrial。
[0023] 4. 8)根據(jù) Rosetta Score3 計(jì)算Ptarget和Ptrial的能量:E(Ptarget)和E(Ptrial);
[0024] 4. 9)若E(Ptmget)>E(PtHal)則用Ptaial替換Ptmget,否則保持種群不變;
[0025] 5)得到更新種群Pupdate;
[0026] 6)對更新種群中的每個個體Pi:
[0027] 6. 1)調(diào)用Monte Carlo方法對個體做局部增強(qiáng);
[0028] 6. 2)計(jì)算增強(qiáng)過程中產(chǎn)生的構(gòu)象的能量E(MC);
[0029] 6. 3)若E的)>E(MC),則更新種群,否則保持種群不變;
[0030] 7)得到局部增強(qiáng)后的種群Penhanc;e;
[0031] 8)迭代的運(yùn)行步驟4)~7),至終止條件。
[0032] 本發(fā)明的有益效果為:在差分進(jìn)化算法框架下,采用Rosetta Score3粗粒度知識 能量模型有效降低構(gòu)象空間搜索維數(shù)、提高算法收斂速度;引入基于知識的片段組裝技術(shù) 可以有效提高預(yù)測精度;利用Monte Carlo算法良好的局部搜索性能對種群做局部增強(qiáng), 以得到更為優(yōu)良的局部構(gòu)象;結(jié)合差分進(jìn)化算法較強(qiáng)的全局搜索能力,可以對構(gòu)象空間進(jìn) 行更為有效的采樣,搜索得到較高精度的近天然態(tài)構(gòu)象。
【附圖說明】
[0033]圖1是蛋白質(zhì)1ENH構(gòu)象系綜中構(gòu)象更新示意圖。
【具體實(shí)施方式】
[0034] 下面結(jié)合附圖對本發(fā)明作進(jìn)一步描述。
[0035] 參照圖1,一種局部增強(qiáng)的差分進(jìn)化蛋白質(zhì)構(gòu)象空間搜索方法,包括以下步驟:
[0036] 1)給定輸入序列信息;
[0037] 2)設(shè)置系統(tǒng)參數(shù):種群大小popSize,算法的迭代次數(shù)T,交叉因子CR,片段的長度 L ;
[0038] 3)種群初始化:由輸入序列產(chǎn)生popSize個種群個體Pinit;
[0039] 4)開始迭代,執(zhí)行種群更新過程,對初始種群中的每個個體:
[0040] 4. 1)設(shè) i = 1,其中 i G {1,2,3,…,popSize};令Ptarget=Pi,其中 i 為序號,Ptarget 表示目標(biāo)個體;
[0041] 4.2)隨機(jī)生成正整數(shù) randl,rand2,rand3,其中 randlG{1, 2, 3,......popSize}, randl ^ i, rand2 ^ rand3,G{1, 2, ???,Length},Length 為序列長度;
[0042]4. 3)針對個體 Pj做變異操作,其中:j=randl;令 a = min (rand2, rand3),b = max (rand2, rand3),k G [a, b];
[0043] 4. 4)對蛋白質(zhì)鏈中第a到b個氨基酸做如下操作:
[0044] a :令Ptarget. phi(k) =Pj.phi(k);
[0045] b :令Ptarget. psi(k) =Pj.psi(k);
[0046] c :令Ptarget. omega(k) =Pj.omega(k);
[0047] 步驟a,b,c分別為:將Ptmget的氨基酸k所對應(yīng)的二面角phi、psi、omega替換為 Pj的相同位置所對應(yīng)的二面角phi、psi、omega;
[0048] 4. 5)通過變異得到測試個體Ptrial;
[0049] 4. 6)生成隨機(jī)數(shù) rand4, rand5,其中 rand4 G