本發(fā)明涉及生物信息學(xué)、計算機應(yīng)用領(lǐng)域,尤其涉及的是一種基于改進螢火蟲算法的多模態(tài)蛋白質(zhì)構(gòu)象空間優(yōu)化方法。
背景技術(shù):
生物信息學(xué)是生命科學(xué)和計算機科學(xué)交叉領(lǐng)域的一個研究熱點。生物信息學(xué)研究成果目前已經(jīng)被廣泛應(yīng)用于基因發(fā)現(xiàn)和預(yù)測、基因數(shù)據(jù)的存儲管理、數(shù)據(jù)檢索與挖掘、基因表達數(shù)據(jù)分析、蛋白質(zhì)結(jié)構(gòu)預(yù)測、基因和蛋白質(zhì)同源關(guān)系預(yù)測、序列分析與比對等。目前,根據(jù)anfinsen假設(shè),直接從氨基酸序列出發(fā),基于勢能模型,采用全局優(yōu)化方法,搜索分子系統(tǒng)的最小能量狀態(tài),從而高通量、廉價地預(yù)測肽鏈的天然構(gòu)象,已經(jīng)成為生物信息學(xué)最重要的研究課題之一。對于序列相似度低或多肽(<10個殘基的小蛋白)來說,從頭預(yù)測方法是唯一的選擇。從頭預(yù)測方法必須考慮以下兩個因素:(1)蛋白質(zhì)結(jié)構(gòu)能量函數(shù);(2)構(gòu)象空間搜索方法。第一個因素本質(zhì)上屬于分子力學(xué)問題,主要是為了能夠計算得到每個蛋白質(zhì)結(jié)構(gòu)對應(yīng)的能量值。目前已經(jīng)存在一些有效的結(jié)構(gòu)能量函數(shù),如簡單網(wǎng)格模型hp及更實際的經(jīng)驗力場模型mm3,amber,charmm,gromos,discover,ecepp/3等;第二個因素本質(zhì)上屬于全局優(yōu)化問題,通過選擇一種合適的優(yōu)化方法,對構(gòu)象空間進行快速搜索,得到與某一全局最小能量對應(yīng)的構(gòu)象。其中,蛋白質(zhì)構(gòu)象空間優(yōu)化屬于一類非常難解的np-hard問題。2005年,d.baker在science中指出,構(gòu)象空間優(yōu)化方法是制約蛋白質(zhì)從頭預(yù)測方法預(yù)測精度的一個瓶頸因素。
因此,現(xiàn)有的構(gòu)象空間優(yōu)化方法存在采樣效率、復(fù)雜度及預(yù)測精度方面存在不足,需要改進。
技術(shù)實現(xiàn)要素:
為了克服現(xiàn)有的構(gòu)象空間優(yōu)化方法存在采樣效率、復(fù)雜度及預(yù)測精度方面存在不足,本發(fā)明提供一種基于改進螢火蟲算法的多模態(tài)蛋白質(zhì)構(gòu)象空間優(yōu)化方法:在基本螢火蟲算法框架下,采用粗粒度能量模型來有效降低構(gòu)象空間維數(shù),利用螢火蟲算法的群體特性來保證蛋白質(zhì)構(gòu)象的多樣性,采用片段組裝技術(shù)對構(gòu)象群體進行初始化,依據(jù)蛋白質(zhì)構(gòu)象的粗粒度表達模型,以一組二面角表示構(gòu)象在空間中的位置,采用能量排名來確定最強發(fā)光個體,選取排名前十的螢火蟲個體作為模態(tài)中心,并計算他們對其余個體的吸引度來更新構(gòu)象的位置,納入吸引度最高的模態(tài),吸引度指標(biāo)根據(jù)兩個螢火蟲個體的空間距離和相似度計算得到,最終在構(gòu)象空間中搜索得到一系列能量較低的近天然態(tài)構(gòu)象。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
一種基于改進螢火蟲算法的多模態(tài)蛋白質(zhì)構(gòu)象空間優(yōu)化方法,所述方法包括以下步驟:
1)給定輸入序列信息;
2)參數(shù)初始化:設(shè)置群體規(guī)模popsize、子種群數(shù)目nsub、子群規(guī)模上限nsup、迭代次數(shù)generation、光強吸引因子γ和位置更新步長因子α;
3)群體構(gòu)象初始化:根據(jù)給定輸入序列,隨機生成popsize個個體,對群體中的每個個體做length次片段組裝,并計算其熒光亮度io,其中l(wèi)ength為序列長度,io=-e(p)=rosettascore3(p),e為通過rosettascore3能量函數(shù)計算得到的蛋白質(zhì)構(gòu)象能量值,p表示單個構(gòu)象;
4)對步驟3)中計算得到的熒光亮度從大到小排序,令熒光亮度最大的前nsub個體為pgi,i∈[0,nsub];
5)開始迭代:
5.1)劃分子群:對群體中剩余的popsize-nsub個個體,分別計算pgi對它們的吸引度βi,并將其劃入吸引度最大的pgi所在的子群中,并判斷子群pspgi中個體數(shù)目nnum,若nnum=nsup,則不再計算pgi對其他個體的吸引度;
5.2)對每個子群中的每個個體,根據(jù)xki(t+1)=xki(t)+βi(xgi(t)–xki(t))+α(rand–0.5)更新每個個體在空間中的位置,其中xki(t+1),xki(t)表示第i個子群中第k個個體pki更新后的位置和當(dāng)前的位置,xgi(t)表示個體pgi的當(dāng)前位置,其中
5.3)種群個體隨機擺動:對群體中的每個個體進行l(wèi)次隨機片段組裝;
5.4)重新計算每個個體的熒光亮度,更新pgi;
6)判斷是否達到最大迭代次數(shù)generation;
6.1)若當(dāng)前迭代次數(shù)小于generation,返回步驟5.1);
6.2)若當(dāng)前迭代次數(shù)等于generation,結(jié)束。
本發(fā)明的技術(shù)構(gòu)思為:在基本螢火蟲算法框架下,采用粗粒度能量模型來有效降低構(gòu)象空間維數(shù),利用螢火蟲算法的群體特性來保證蛋白質(zhì)構(gòu)象的多樣性,采用片段組裝技術(shù)對構(gòu)象群體進行初始化,依據(jù)蛋白質(zhì)構(gòu)象的粗粒度表達模型,以一組二面角表示構(gòu)象在空間中的位置,采用能量排名來確定最強發(fā)光個體,選取排名前十的螢火蟲個體作為模態(tài)中心,并計算他們對其余個體的吸引度來更新構(gòu)象的位置,納入吸引度最高的模態(tài),吸引度根據(jù)兩個螢火蟲個體的空間距離和相似度計算得到,最終在構(gòu)象空間中搜索得到一系列能量較低的近天然態(tài)構(gòu)象。
本發(fā)明的有益效果為:本發(fā)明在蛋白質(zhì)結(jié)構(gòu)預(yù)測中應(yīng)用,可以得到預(yù)測精度較高、復(fù)雜度較低的構(gòu)象。
附圖說明
圖1是預(yù)測得到的蛋白質(zhì)2mrf的三維結(jié)構(gòu)示意圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明作進一步描述。
參照圖1,一種基于改進螢火蟲算法的多模態(tài)蛋白質(zhì)構(gòu)象空間優(yōu)化方法,所述構(gòu)象空間優(yōu)化方法包括以下步驟:
1)給定輸入序列信息;
2)參數(shù)初始化:設(shè)置群體規(guī)模popsize、子種群數(shù)目nsub、子群規(guī)模上限nsup、迭代次數(shù)generation、光強吸引因子γ和位置更新步長因子α;
3)群體構(gòu)象初始化:根據(jù)給定輸入序列,隨機生成popsize個個體,對群體中的每個個體做length次片段組裝,并計算其熒光亮度io,其中l(wèi)ength為序列長度,io=-e(p)=rosettascore3(p),e為通過rosettascore3能量函數(shù)計算得到的蛋白質(zhì)構(gòu)象能量值,p表示單個構(gòu)象;
4)對步驟3)中計算得到的熒光亮度從大到小排序,令熒光亮度最大的前nsub個體為pgi,i∈[0,nsub];
5)開始迭代:
5.5)劃分子群:對群體中剩余的popsize-nsub個個體,分別計算pgi對它們的吸引度βi,并將其劃入吸引度最大的pgi所在的子群中,并判斷子群pspgi中個體數(shù)目nnum,若nnum=nsup,則不再計算pgi對其他個體的吸引度;
5.6)對每個子群中的每個個體,根據(jù)xki(t+1)=xki(t)+βi(xgi(t)–xki(t))+α(rand–0.5)更新每個個體在空間中的位置,其中xki(t+1),xki(t)表示第i個子群中第k個個體pki更新后的位置和當(dāng)前的位置,xgi(t)表示個體pgi的當(dāng)前位置,其中
5.7)種群個體隨機擺動:對群體中的每個個體進行l(wèi)次隨機片段組裝;
5.8)重新計算每個個體的熒光亮度,更新pgi;
6)判斷是否達到最大迭代次數(shù)generation;
6.3)若當(dāng)前迭代次數(shù)小于generation,返回步驟5.1);
6.4)若當(dāng)前迭代次數(shù)等于generation,結(jié)束。
本實施例以蛋白質(zhì)2mrf為實施例,一種基于改進螢火蟲算法的多模態(tài)蛋白質(zhì)構(gòu)象空間優(yōu)化方法,包含以下步驟:
1)給定輸入序列信息;
2)參數(shù)初始化:設(shè)置群體規(guī)模popsize=300、子種群數(shù)目nsub=10、子群規(guī)模上限nsup=60、迭代次數(shù)generation=100000、光強吸引因子γ=0.5和位置更新步長因子α=0.5;
3)群體構(gòu)象初始化:根據(jù)給定輸入序列,隨機生成popsize個個體,對群體中的每個個體做length次片段組裝,并計算其熒光亮度io,其中l(wèi)ength為序列長度,io=-e(p)=rosettascore3(p),e為通過rosettascore3能量函數(shù)計算得到的蛋白質(zhì)構(gòu)象能量值,p表示單個構(gòu)象;
4)對步驟3)中計算得到的熒光亮度從大到小排序,令熒光亮度最大的前nsub個體為pgi,i∈[0,nsub];
5)開始迭代:
5.9)劃分子群:對群體中剩余的popsize-nsub個個體,分別計算pgi對它們的吸引度βi,并將其劃入吸引度最大的pgi所在的子群中,并判斷子群pspgi中個體數(shù)目nnum,若nnum=nsup,則不再計算pgi對其他個體的吸引度;
5.10)對每個子群中的每個個體,根據(jù)xki(t+1)=xki(t)+βi(xgi(t)–xki(t))+α(rand–0.5)更新每個個體在空間中的位置,其中xki(t+1),xki(t)表示第i個子群中第k個個體pki更新后的位置和當(dāng)前的位置,xgi(t)表示個體pgi的當(dāng)前位置,其中
5.11)種群個體隨機擺動:對群體中的每個個體進行l(wèi)次隨機片段組裝;
5.12)重新計算每個個體的熒光亮度,更新pgi;
6)判斷是否達到最大迭代次數(shù)generation;
6.5)若當(dāng)前迭代次數(shù)小于generation,返回步驟5.1);
6.6)若當(dāng)前迭代次數(shù)等于generation,結(jié)束。
以蛋白質(zhì)2mrf為實施例,運用以上方法得到了該蛋白質(zhì)的最優(yōu)構(gòu)象解,如圖1所示。
以上闡述的是本發(fā)明給出的一個實施例表現(xiàn)出來的優(yōu)良效果,顯然本發(fā)明不僅適合上述實施例,在不偏離本發(fā)明基本精神及不超出本發(fā)明實質(zhì)內(nèi)容所涉及內(nèi)容的前提下可對其做種種變化加以實施。