本發(fā)明涉及生物信息學(xué)、計(jì)算機(jī)應(yīng)用領(lǐng)域,尤其涉及的是一種基于螢火蟲(chóng)算法的蛋白質(zhì)結(jié)構(gòu)預(yù)測(cè)從頭方法。
背景技術(shù):
生物信息學(xué)是生命科學(xué)和計(jì)算機(jī)科學(xué)交叉領(lǐng)域的一個(gè)研究熱點(diǎn)。生物信息學(xué)研究成果目前已經(jīng)被廣泛應(yīng)用于基因發(fā)現(xiàn)和預(yù)測(cè)、基因數(shù)據(jù)的存儲(chǔ)管理、數(shù)據(jù)檢索與挖掘、基因表達(dá)數(shù)據(jù)分析、蛋白質(zhì)結(jié)構(gòu)預(yù)測(cè)、基因和蛋白質(zhì)同源關(guān)系預(yù)測(cè)、序列分析與比對(duì)等。基因組規(guī)定了所有構(gòu)成該生物體的蛋白質(zhì),基因規(guī)定了組成蛋白質(zhì)的氨基酸序列。雖然蛋白質(zhì)由氨基酸的線性序列組成,但是,它們只有折疊形成特定的空間結(jié)構(gòu)才能具有相應(yīng)的活性和相應(yīng)的生物學(xué)功能。了解蛋白質(zhì)的空間結(jié)構(gòu)不僅有利于認(rèn)識(shí)蛋白質(zhì)的功能,也有利于認(rèn)識(shí)蛋白質(zhì)是如何執(zhí)行功能的。確定蛋白質(zhì)的結(jié)構(gòu)的是非常重要的。目前,蛋白質(zhì)序列數(shù)據(jù)庫(kù)的數(shù)據(jù)積累的速度非??欤?,已知結(jié)構(gòu)的蛋白質(zhì)相對(duì)比較少。盡管蛋白質(zhì)結(jié)構(gòu)測(cè)定技術(shù)有了較為顯著的進(jìn)展,但是,通過(guò)實(shí)驗(yàn)方法確定蛋白質(zhì)結(jié)構(gòu)的過(guò)程仍然非常復(fù)雜,代價(jià)較高。因此,實(shí)驗(yàn)測(cè)定的蛋白質(zhì)結(jié)構(gòu)比已知的蛋白質(zhì)序列要少得多。另一方面,隨著DNA測(cè)序技術(shù)的發(fā)展,人類基因組及更多的模式生物基因組已經(jīng)或?qū)⒁煌耆珳y(cè)序,DNA序列數(shù)量將會(huì)急增,而由于DNA序列分析技術(shù)和基因識(shí)別方法的進(jìn)步,我們可以從DNA推導(dǎo)出大量的蛋白質(zhì)序列。這意味著已知序列的蛋白質(zhì)數(shù)量和已測(cè)定結(jié)構(gòu)的蛋白質(zhì)數(shù)量(如蛋白質(zhì)結(jié)構(gòu)數(shù)據(jù)庫(kù)PDB中的數(shù)據(jù))的差距將會(huì)越來(lái)越大。人們希望產(chǎn)生蛋白質(zhì)結(jié)構(gòu)的速度能夠跟上產(chǎn)生蛋白質(zhì)序列的速度,或者減小兩者的差距。
目前主要的技術(shù)瓶頸在于兩個(gè)方面,第一方面在于采樣方法,現(xiàn)有技術(shù)對(duì)構(gòu)象空間采樣能力不強(qiáng),另一方面在于構(gòu)象更新方法,現(xiàn)有技術(shù)對(duì)構(gòu)象的更新精度仍然不足。因此,現(xiàn)有的構(gòu)象空間搜索方法存在不足,需要改進(jìn)。
技術(shù)實(shí)現(xiàn)要素:
為了克服現(xiàn)有的蛋白質(zhì)結(jié)構(gòu)預(yù)測(cè)構(gòu)象空間優(yōu)化方法存在采樣效率較低、復(fù)雜度較高、預(yù)測(cè)精度較低的不足,本發(fā)明提出一種基于螢火蟲(chóng)算法的蛋白質(zhì)結(jié)構(gòu)預(yù)測(cè)從頭方法。在基本螢火蟲(chóng)算法框架下,采用粗粒度能量模型來(lái)有效降低構(gòu)象空間維數(shù),利用螢火蟲(chóng)算法的群體特性來(lái)保證蛋白質(zhì)構(gòu)象的多樣性,采用片段組裝技術(shù)對(duì)構(gòu)象群體進(jìn)行初始化,依據(jù)蛋白質(zhì)構(gòu)象的粗粒度表達(dá)模型,以一組二面角表示構(gòu)象在空間中的位置,采用能量排名來(lái)確定最強(qiáng)發(fā)光個(gè)體,并通過(guò)計(jì)算個(gè)體間的吸引度來(lái)更新構(gòu)象的位置,最終在構(gòu)象空間中搜索得到最小能量的近天然態(tài)構(gòu)象。
本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:
一種基于螢火蟲(chóng)算法的蛋白質(zhì)結(jié)構(gòu)預(yù)測(cè)從頭方法,所述方法包括以下步驟:
1)給定輸入序列信息;
2)參數(shù)初始化:設(shè)置群體規(guī)模popSize,迭代次數(shù)generation,光強(qiáng)吸引因子γ,位置更新步長(zhǎng)因子α;
3)群體構(gòu)象初始化:根據(jù)給定輸入序列,隨機(jī)生成popSize個(gè)個(gè)體,對(duì)群體中的每個(gè)個(gè)體做length次片段組裝,并計(jì)算其熒光亮度Io,其中l(wèi)ength為序列長(zhǎng)度,Io=-E,E為通過(guò)RosettaSscore3能量函數(shù)計(jì)算得到的蛋白質(zhì)構(gòu)象能量值;
4)對(duì)步驟3)中計(jì)算的熒光亮度從大到小排序,令熒光亮度最大的個(gè)體為pg;
5)開(kāi)始迭代:
5.1)對(duì)群體中的每個(gè)個(gè)體,計(jì)算pg對(duì)它的吸引度β;
5.2)根據(jù)xi(t+1)=xi(t)+β(xj(t)–xi(t))+α(rand–0.5)更新每個(gè)個(gè)體在空間中的位置,其中xi(t+1),xi(t)表示個(gè)體pi更新后的位置和當(dāng)前的位置,xj(t)表示個(gè)體pg的當(dāng)前位置,其中β0為最大吸引度因子,rij表示個(gè)體pi與pg之間的距離,rand為0到1之間的隨機(jī)數(shù),群體中每個(gè)個(gè)體的位置xi(t)表示為ψ為輸入序列的氨基酸殘基的二面角,L為片段長(zhǎng)度;
5.3)對(duì)群體中的每個(gè)個(gè)體進(jìn)行L次隨機(jī)片段組裝,完成群體隨機(jī)擺動(dòng);
5.4)重新計(jì)算每個(gè)個(gè)體的熒光亮度,更新pg;
6)判斷是否達(dá)到最大迭代次數(shù)generation;
6.1)若當(dāng)前迭代次數(shù)小于generation,返回步驟5.1);
6.2)若當(dāng)前迭代次數(shù)等于generation,結(jié)束;
本發(fā)明的技術(shù)構(gòu)思為:在基本螢火蟲(chóng)算法框架下,采用粗粒度能量模型來(lái)有效降低構(gòu)象空間維數(shù),利用螢火蟲(chóng)算法的群體特性來(lái)保證蛋白質(zhì)構(gòu)象的多樣性,采用片段組裝技術(shù)對(duì)構(gòu)象群體進(jìn)行初始化,依據(jù)蛋白質(zhì)構(gòu)象的粗粒度表達(dá)模型,以一組二面角表示構(gòu)象在空間中的位置,采用能量排名來(lái)確定最強(qiáng)發(fā)光個(gè)體,并通過(guò)計(jì)算個(gè)體間的吸引度來(lái)更新構(gòu)象的位置,最終在構(gòu)象空間中搜索得到最小能量的近天然態(tài)構(gòu)象。
本發(fā)明的有益效果為:本發(fā)明在蛋白質(zhì)結(jié)構(gòu)預(yù)測(cè)中應(yīng)用,可以得到預(yù)測(cè)精度較高、復(fù)雜度較低的構(gòu)象。
附圖說(shuō)明
圖1是蛋白質(zhì)2L0G預(yù)測(cè)結(jié)構(gòu)和實(shí)驗(yàn)室測(cè)定結(jié)構(gòu)最接近的構(gòu)象三維示意圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步描述。
參照?qǐng)D1,一種基于螢火蟲(chóng)算法的蛋白質(zhì)結(jié)構(gòu)預(yù)測(cè)從頭方法,所述方法包括以下步驟:
1)給定輸入序列信息;
2)參數(shù)初始化:設(shè)置群體規(guī)模popSize,迭代次數(shù)generation,光強(qiáng)吸引因子γ,位置更新步長(zhǎng)因子α;
3)群體構(gòu)象初始化:根據(jù)給定輸入序列,隨機(jī)生成popSize個(gè)個(gè)體,對(duì)群體中的每個(gè)個(gè)體做length次片段組裝,并計(jì)算其熒光亮度Io,其中l(wèi)ength為序列長(zhǎng)度,Io=-E,E為通過(guò)RosettaSscore3能量函數(shù)計(jì)算得到的蛋白質(zhì)構(gòu)象能量值;
4)對(duì)步驟3)中計(jì)算的熒光亮度從大到小排序,令熒光亮度最大的個(gè)體為pg;
5)開(kāi)始迭代:
5.1)對(duì)群體中的每個(gè)個(gè)體,計(jì)算pg對(duì)它的吸引度β;
5.2)根據(jù)xi(t+1)=xi(t)+β(xj(t)–xi(t))+α(rand–0.5)更新每個(gè)個(gè)體在空間中的位置,其中xi(t+1),xi(t)表示個(gè)體pi更新后的位置和當(dāng)前的位置,xj(t)表示個(gè)體pg的當(dāng)前位置,其中β0為最大吸引度因子,rij表示個(gè)體pi與pg之間的距離,rand為0到1之間的隨機(jī)數(shù),群體中每個(gè)個(gè)體的位置xi(t)表示為ψ為輸入序列的氨基酸殘基的二面角,L為片段長(zhǎng)度;
5.3)對(duì)群體中的每個(gè)個(gè)體進(jìn)行L次隨機(jī)片段組裝,完成群體隨機(jī)擺動(dòng);
5.4)重新計(jì)算每個(gè)個(gè)體的熒光亮度,更新pg;
6)判斷是否達(dá)到最大迭代次數(shù)generation;
6.1)若當(dāng)前迭代次數(shù)小于generation,返回步驟5.1);
6.2)若當(dāng)前迭代次數(shù)等于generation,結(jié)束;
本實(shí)施例以PDB名稱為2L0G的測(cè)試蛋白為實(shí)施例,一種基于螢火蟲(chóng)算法的蛋白質(zhì)結(jié)構(gòu)預(yù)測(cè)從頭方法,所述方法包括以下步驟:
1)給定輸入序列信息;
2)參數(shù)初始化:設(shè)置群體規(guī)模popSize=50,迭代次數(shù)generation=10000,光強(qiáng)吸引因子γ=0.5,位置更新步長(zhǎng)因子α=0.7;
3)群體構(gòu)象初始化:根據(jù)給定輸入序列,隨機(jī)生成popSize個(gè)個(gè)體,對(duì)群體中的每個(gè)個(gè)體做length次片段組裝,并計(jì)算其熒光亮度Io,其中l(wèi)ength為序列長(zhǎng)度,Io=-E,E為通過(guò)RosettaSscore3能量函數(shù)計(jì)算得到的蛋白質(zhì)構(gòu)象能量值;
4)對(duì)步驟3)中計(jì)算的熒光亮度從大到小排序,令熒光亮度最大的個(gè)體為pg;
5)開(kāi)始迭代:
5.1)對(duì)群體中的每個(gè)個(gè)體,計(jì)算pg對(duì)它的吸引度β;
5.2)根據(jù)xi(t+1)=xi(t)+β(xj(t)–xi(t))+α(rand–0.5)更新每個(gè)個(gè)體在空間中的位置,其中xi(t+1),xi(t)表示個(gè)體pi更新后的位置和當(dāng)前的位置,xj(t)表示個(gè)體pg的當(dāng)前位置,其中β0為最大吸引度因子,rij表示個(gè)體pi與pg之間的距離,rand為0到1之間的隨機(jī)數(shù),群體中每個(gè)個(gè)體的位置xi(t)表示為ψ為輸入序列的氨基酸殘基的二面角,L=3為片段長(zhǎng)度;
5.3)對(duì)群體中的每個(gè)個(gè)體進(jìn)行L次隨機(jī)片段組裝,完成群體隨機(jī)擺動(dòng);
5.4)重新計(jì)算每個(gè)個(gè)體的熒光亮度,更新pg;
6)判斷是否達(dá)到最大迭代次數(shù)generation;
6.1)若當(dāng)前迭代次數(shù)小于generation,返回步驟5.1);
6.2)若當(dāng)前迭代次數(shù)等于generation,結(jié)束;
以上闡述的是本發(fā)明給出的一個(gè)實(shí)施例表現(xiàn)出來(lái)的優(yōu)良效果,顯然本發(fā)明不僅適合上述實(shí)施例,在不偏離本發(fā)明基本精神及不超出本發(fā)明實(shí)質(zhì)內(nèi)容所涉及內(nèi)容的前提下可對(duì)其做種種變化加以實(shí)施。