本發(fā)明涉及生物信息學(xué)、計算機(jī)應(yīng)用領(lǐng)域,尤其涉及的是一種基于量子進(jìn)化算法的蛋白質(zhì)構(gòu)象空間優(yōu)化方法。
背景技術(shù):
生物信息學(xué)是生命科學(xué)和計算機(jī)科學(xué)交叉領(lǐng)域的一個研究熱點。目前,根據(jù)Anfinsen假設(shè),直接從氨基酸序列出發(fā),基于勢能模型,采用全局優(yōu)化方法,搜索分子系統(tǒng)的最小能量狀態(tài),從而高通量、廉價地預(yù)測肽鏈的天然構(gòu)象,已經(jīng)成為生物信息學(xué)最重要的研究課題之一。對于序列相似度低或多肽來說,從頭預(yù)測方法是唯一的選擇。從頭預(yù)測方法必須考慮以下兩個因素:(1)蛋白質(zhì)結(jié)構(gòu)能量函數(shù);(2)構(gòu)象空間搜索方法。第一個因素本質(zhì)上屬于分子力學(xué)問題,主要是為了能夠計算得到每個蛋白質(zhì)結(jié)構(gòu)對應(yīng)的能量值;第二個因素本質(zhì)上屬于全局優(yōu)化問題,通過選擇一種合適的優(yōu)化方法,對構(gòu)象空間進(jìn)行快速搜索,得到與某一全局最小能量對應(yīng)的構(gòu)象。而蛋白質(zhì)構(gòu)象空間優(yōu)化屬于一類非常難解的NP-Hard問題,是制約著蛋白質(zhì)結(jié)構(gòu)從頭預(yù)測方法預(yù)測精度的瓶頸問題。
因此,現(xiàn)有的構(gòu)象空間優(yōu)化方法存在采樣效率及預(yù)測精度方面存在不足,需要改進(jìn)。
技術(shù)實現(xiàn)要素:
為了克服現(xiàn)有的蛋白質(zhì)構(gòu)象優(yōu)化方法的采樣效率低、預(yù)測精度低的不足,本發(fā)明提出一種采樣效率、預(yù)測精度較高的基于量子進(jìn)化算法的蛋白質(zhì)構(gòu)象空間優(yōu)化方法。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
一種基于量子進(jìn)化算法的蛋白質(zhì)構(gòu)象空間優(yōu)化方法,所述構(gòu)象空間優(yōu)化方法包括以下步驟:
1)給定輸入序列:
2)設(shè)置參數(shù):種群規(guī)模pop_size;
3)種群初始化:根據(jù)給定的輸入序列,生成pop_size個種群個體p,組成初始種
群,表示為:需滿足|αi|2+|βi|2=1,令αi=sinζi,
βi=cosζi,其中ζ∈[-120°,120°]表示輸入序列中氨基酸的二面角ψ,當(dāng)i
為奇數(shù)時當(dāng)i為偶數(shù)時ζi=ψj,i,j為序號索引值,n為序列長度;4)對初始種群中的每一個個體執(zhí)行初始量子觀測:
4.1)令i=1,i∈{1,2,3,…,2n};
4.2)在[0,1]上生成一個隨機(jī)數(shù)rand;
4.3)比較|αi|2與rand的大小,若rand>|αi|2,則取ζi=arcsinα,否則,取ζi=arccosβ;
4.4)令i=i+1;
4.5)若i<2n,返回步驟4.2),否則轉(zhuǎn)步驟4.6);
4.6)根據(jù)RosettaScore3能量函數(shù)計算當(dāng)前個體的適應(yīng)度E(p);
5)開始迭代,對種群中的每個個體做如下操作:
5.1)令k=1,其中k∈{1,2,…,pop_size},k為序號;
5.2)令ptarget=pk,ptarget為目標(biāo)個體;
5.3)對ptarget執(zhí)行L次片段組裝,得到變異個體p′,其中L為片段長度;
5.4)根據(jù)RosettaScore3能量函數(shù)計算當(dāng)前個體的適應(yīng)度E(p′);
5.5)采用量子旋轉(zhuǎn)門執(zhí)行量子更新操作:p″表示經(jīng)過量子更新后的個體,θi=s(αi,βi)Δθi,θi是旋轉(zhuǎn)角,s(αi,βi)為旋轉(zhuǎn)方向,θi根據(jù)預(yù)先設(shè)定的查找表規(guī)則確定;
5.6)判斷E(p)與E(p″)的大小,若E(p)>E(p″),則用p″代替p,否則保留p;
5.7)令k=k+1;
5.8)若k<pop_size,返回步驟5.2),否則轉(zhuǎn)步驟6);
6)判斷是否滿足終止條件,如果是,則返回步驟5);否則轉(zhuǎn)步驟7);
7)迭代結(jié)束,輸出優(yōu)化后得到的構(gòu)象。
進(jìn)一步,所述步驟2)中,設(shè)置迭代次數(shù)generation;所述步驟6)中,終止條件為當(dāng)前迭代次數(shù)等于迭代次數(shù)generation:如果當(dāng)前迭代次數(shù)小于generation,否則返回步驟5),否則轉(zhuǎn)步驟7)。
本發(fā)明的技術(shù)構(gòu)思為:基于量子進(jìn)化算法框架,以Rosetta Score3為優(yōu)化目標(biāo)函數(shù),基于氨基酸序列粗粒度表達(dá)模型,將能量計算模型轉(zhuǎn)換為二面角優(yōu)化空間能量模型;采用實相位角編碼方式對氨基酸序列的二面角表達(dá)個體進(jìn)行編碼,通過片段組裝執(zhí)行量子變異操作,以提高預(yù)測精度,應(yīng)用量子旋轉(zhuǎn)門對種群個體進(jìn)行量子更新,以達(dá)到局部調(diào)整角度的目的,通過迭代的進(jìn)化過程,算法將產(chǎn)生能量較低,結(jié)構(gòu)合理的蛋白質(zhì)構(gòu)象。
本發(fā)明的有益效果為:采樣效率和預(yù)測精度較高。
附圖說明
圖1是優(yōu)化得到的1ENH蛋白質(zhì)三維結(jié)構(gòu)示意圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明作進(jìn)一步描述。
參照圖1,一種基于量子進(jìn)化算法的蛋白質(zhì)構(gòu)象空間優(yōu)化方法,包括以下步驟:
1)給定輸入序列:
2)設(shè)置參數(shù):種群規(guī)模pop_size,迭代次數(shù)generation;
3)種群初始化:根據(jù)給定的輸入序列,生成pop_size個種群個體p,組成初始種群,表示為:需滿足|αi|2+|βi|2=1,令αi=sinζi,βi=cosζi,其中ζ∈[-120°,120°]表示輸入序列中氨基酸的二面角ψ,當(dāng)i為奇數(shù)時當(dāng)i為偶數(shù)時ζi=ψj,i,j為序號索引值,n為序列長度;4)對初始種群中的每一個個體執(zhí)行初始量子觀測:
4.1)令i=1,i∈{1,2,3,…,2n};
4.2)在[0,1]上生成一個隨機(jī)數(shù)rand;
4.3)比較|αi|2與rand的大小,若rand>|αi|2,則取ζi=arcsinα,否則,取ζi=arccosβ;
4.4)令i=i+1;
4.5)若i<2n,返回步驟4.2),否則轉(zhuǎn)步驟4.6);
4.6)根據(jù)RosettaScore3能量函數(shù)計算當(dāng)前個體的適應(yīng)度E(p);
5)開始迭代,對種群中的每個個體做如下操作:
5.1)令k=1,其中k∈{1,2,…,pop_size},k為序號;
5.2)令ptarget=pk,ptarget為目標(biāo)個體;
5.3)對ptarget執(zhí)行L次片段組裝,得到變異個體p′,其中L為片段長度;
5.4)根據(jù)RosettaScore3能量函數(shù)計算當(dāng)前個體的適應(yīng)度E(p′);
5.5)采用量子旋轉(zhuǎn)門執(zhí)行量子更新操作:p″表示經(jīng)過量子更新后的個體,θi=s(αi,βi)Δθi,θi是旋轉(zhuǎn)角,s(αi,βi)為旋轉(zhuǎn)方向,θi根據(jù)預(yù)先設(shè)定的查找表規(guī)則確定;
5.6)判斷E(p)與E(p″)的大小,若E(p)>E(p″),則用p″代替p,否則保留p;
5.7)令k=k+1;
5.8)若k<pop_size,返回步驟5.2),否則轉(zhuǎn)步驟6);
6)判斷是否滿足終止條件:如果是,即當(dāng)前迭代次數(shù)小于generation,則返回步驟5);否則轉(zhuǎn)步驟7);
7)迭代結(jié)束,輸出優(yōu)化后得到的構(gòu)象。
本實施例以PDB ID為1AIL的蛋白質(zhì)為實施例,一種基于量子進(jìn)化算法的蛋白質(zhì)構(gòu)象空間優(yōu)化方法包括以下步驟:
1)給定輸入序列1AIL:
2)設(shè)置參數(shù):種群規(guī)模pop_size=30,迭代次數(shù)generation=10000;
3)種群初始化:根據(jù)給定的輸入序列,生成pop_size個種群個體p,組成初始種群,表示為:需滿足|αi|2+|βi|2=1,令αi=sinζi,βi=cosζi,其中ζ∈[-120°,120°]表示輸入序列中氨基酸的二面角ψ,當(dāng)i為奇數(shù)時當(dāng)i為偶數(shù)時ζi=ψj,i,j為序號索引值,n為序列長度;
4)對初始種群中的每一個個體執(zhí)行初始量子觀測:
4.1)令i=1,i∈{1,2,3,…,2n};
4.2)在[0,1]上生成一個隨機(jī)數(shù)rand;
4.3)比較|αi|2與rand的大小,若rand>|αi|2,則取ζi=arcsinα,否則,取ζi=arccosβ;
4.4)令i=i+1;
4.5)若i<2n,返回步驟4.2),否則轉(zhuǎn)步驟4.6);
4.6)根據(jù)RosettaScore3能量函數(shù)計算當(dāng)前個體的適應(yīng)度E(p);
5)開始迭代,對種群中的每個個體做如下操作:
5.1)令k=1,其中k∈{1,2,…,pop_size},k為序號;
5.2)令ptarget=pk,ptarget為目標(biāo)個體;
5.3)對ptarget執(zhí)行L次片段組裝,得到變異個體p′,其中L為片段長度;
5.4)根據(jù)RosettaScore3能量函數(shù)計算當(dāng)前個體的適應(yīng)度E(p′);
5.5)采用量子旋轉(zhuǎn)門執(zhí)行量子更新操作:p″表示經(jīng)過量子更新后的個體,θi=s(αi,βi)Δθi,θi是旋轉(zhuǎn)角,s(αi,βi)為旋轉(zhuǎn)方向,θi根據(jù)預(yù)先設(shè)定的查找表規(guī)則確定,查找表規(guī)則如表1所示;
表1
5.6)判斷E(p)與E(p″)的大小,若E(p)>E(p″),則用p″代替p,否則保留p;
5.7)令k=k+1;
5.8)若k<pop_size,返回步驟5.2),否則轉(zhuǎn)步驟6);
6)判斷是否滿足終止條件:如果是,即當(dāng)前迭代次數(shù)小于generation,則返回步驟5);否則轉(zhuǎn)步驟7);
7)迭代結(jié)束,輸出優(yōu)化后得到的構(gòu)象。
以PDB ID為1AIL的蛋白質(zhì)為實施例,運用以上方法得到了該蛋白質(zhì)的近天然態(tài)構(gòu)象解,如圖1所示。
以上闡述的是本發(fā)明給出的一個實施例表現(xiàn)出來的優(yōu)良效果,顯然本發(fā)明不僅適合上述實施例,在不偏離本發(fā)明基本精神及不超出本發(fā)明實質(zhì)內(nèi)容所涉及內(nèi)容的前提下可對其做種種變化加以實施。