主权项 |
一种基于两阶段差分进化算法的蛋白质结构预测方法,其特征在于:所述预测方法包括以下步骤:1)给定查询序列信息;2)初始化:设置群体规模NP,变异因子F,交叉概率CR,迭代次数iteration,片段长度为L,能量函数选用Rosetta Score3,首先通过对查询序列随机的折叠和变换,生成一个规模为NP的初始种群,初始群体为P={x<sup>i</sup>|i∈I},计算初始种群个体的能量值f(x<sup>i</sup>),i∈I,其中i为种群个体编号,I为种群个体编号集合,I={1,2,...,NP};3)开始迭代,令g=1,g为迭代计数器,依次对种群中每个个体进行以下操作:3.1)如果g<iteration/2,则执行如下操作:随机选取种群中的一个构象个体P<sub>i</sub>,i∈{1,2,3,…,NP},令P<sub>target</sub>=P<sub>i</sub>,P<sub>target</sub>表示目标构象个体,跳转至3.3),执行以下操作得到变异构象P<sub>mutant</sub>;3.2)如果iteration/2<g<iteration,则执行如下操作:根据能量对整个种群中的构象进行降序排列,然后从能量低的前50%的NP个构象个体中随机选出一个构象记为P<sub>pbest</sub>,令P<sub>target</sub>=P<sub>pbest</sub>,P<sub>target</sub>表示目标构象个体,执行以下操作得到变异构象P<sub>mutant</sub>;3.3)随机生成正整数rand1,rand2,rand3∈{1,2,3,......NP},且rand1≠rand2≠rand3≠i;再生成4个随机整数randrange1,randrange2,randrange3,randrange4;其中randrange1≠randrange2,randrange3≠randrange4∈{1,2,…,Length},Length为序列长度;3.4)令a=min(randrange1,randrange2),b=max(randrange1,randrange2),k∈[a,b];令c=min(randrange3,randrange4),d=max(randrange3,randrange4),p∈[c,d];其中min表示取两个数的最小值,max表示取两个数的最大值;3.5)用P<sub>rand2</sub>上位置a到位置b的片段的氨基酸所对应的二面角phi、psi、omega替换P<sub>rand1</sub>的相同位置所对应的二面角phi、psi、omega;再使用P<sub>rand3</sub>上位置c到位置d的片段的氨基酸所对应的二面角phi、psi、omega替换P<sub>rand1</sub>上相同位置所对应的二面角phi、psi、omega,再将所得P<sub>rand1</sub>进行片段组装得到测试个体P<sub>trail</sub>;3.6)针对测试个体P<sub>trail</sub>做交叉操作,过程如下:3.6.1)生成随机数rand4,rand5,其中rand4∈(0,1),rand5∈(1,Length);3.6.2)根据<img file="FDA0000939434110000021.GIF" wi="971" he="164" />执行交叉过程:若随机数rand4<=CR,个体P<sub>trail</sub>的片段rand5替换为个体P<sub>target</sub>中对应的片段,否则直接继承个体P<sub>trail</sub>;3.7)针对目标个体P<sub>target</sub>和测试个体P<sub>trail</sub>进行选择操作,过程如下:3.7.1)计算P<sub>target</sub>和P<sub>trail</sub>的能量:E(P<sub>target</sub>)和E(P<sub>trail</sub>);3.7.2)若E(P<sub>target</sub>)>E(P<sub>trail</sub>)则用P<sub>trail</sub>替换P<sub>target</sub>,进入3.8);3.8)i=i+1;3.9)迭代的运行3.1)~3.8),至满足终止条件。 |