一种基于多阶段子群协同进化策略的差分进化蛋白质结构从头预测方法与流程

文档序号:12125408阅读:来源:国知局

技术特征:

1.一种基于多阶段子群协同进化策略的差分进化蛋白质结构从头预测方法,其特征在于:所述预测方法包括以下步骤:

1)给定输入序列信息;

2)设置系统参数:种群大小popSize,算法的迭代次数T,第一阶段迭代次数T1,第二阶段迭代次数T2,第三阶段迭代次数T3,变异因子MU,交叉因子CR,子种群个数NSub,片段的长度L,其中T1+T2+T3=T;

3)种群初始化:由输入序列产生popSize个种群个体Pinit

4)子种群划分:将种群平均划分为NSub个子种群;

5)开始迭代,执行种群进化过程:

5.1)第一阶段:迭代次数为T1,对初始种群中的每个个体做如下操作:

5.1.1)设i=1,j=1,其中i∈{1,2,3,…,Nsub},j∈{1,2,3,…,NsubpopSize};令Ptarget=Pij,其中i,j为序号,NsubpopSize表示子种群中个体的数目,Ptarget表示目标个体;

5.1.2)针对个体Ptarget做变异操作:从L=9的片段库中随机选择片段进行片段组装,得到中间个体Ptrial′;

5.1.3)随机生成正整数rand1,rand2,rand3,其中rand1∈{1,2,3,...,NsubpopSize},rand1≠j,rand2≠rand3,∈{1,2,…,Length},生成随机数rand4∈(0,1),其中Length为序列长度;

5.1.4)若随机数rand4<=CR,针对Ptrial′做交叉操作:令l=rand1;令a=min(rand2,rand3),b=max(rand2,rand3),k∈[a,b];

a:令Ptrial′.phi(k)=Pl.phi(k);

b:令Ptrial′.psi(k)=Pl.psi(k);

c:令Ptrial′.omega(k)=Pl.omega(k);

步骤a,b,c分别为:将Ptrial′的氨基酸k所对应的二面角phi、psi、omega替换为Pl的相同位置所对应的二面角phi、psi、omega;令Ptrial=Ptrial′;

5.1.5)通过交叉操作得到测试个体Ptrial

5.1.6)执行更新操作:根据Rosetta Score3能量函数计算Ptarget和Ptrial的能量:E(Ptarget)和E(Ptrial);若E(Ptarget)>E(Ptrial)则用Ptrial替换Ptarget,否则保持种群不变;

5.1.7)得到更新后的种群Pupdate

5.1.8)迭代运行步骤5.1.1)~5.1.7)至第一阶段结束;

5.2)第二阶段:迭代次数为T2,对步骤5.1)得到的种群中的每个个体做如下操作:

5.2.1)设i=1,j=1,其中i∈{1,2,3,…,Nsub},j∈{1,2,3,…,NsubpopSize};令Ptarget=Pij,其中i,j为序号,NsubpopSize表示子种群中个体的数目,Ptarget表示目标个体;

5.2.2)针对个体Ptarget做变异操作:从L=3的片段库中随机选择片段进行片段组装,得到中间个体Ptrial′;

5.2.3)随机生成正整数rand2,rand3,其中,rand2≠rand3,∈{1,2,…,Length},生成随机数rand4∈(0,1),其中Length为序列长度;

5.2.4)找到当前子种群中能量最低的个体Plocal

5.2.5)若随机数rand4<=CR,针对Ptrial′做交叉操作:令a=min(rand2,rand3),b=max(rand2,rand3),k∈[a,b];

a:令Ptrial′.phi(k)=Plocal.phi(k);

b:令Ptrial′.psi(k)=Plocal.psi(k);

c:令Ptrial′.omega(k)=Plocal.omega(k);

步骤a,b,c分别为:将Ptrial′的氨基酸k所对应的二面角phi、psi、omega替换为Plocal中相同位置所对应的二面角phi、psi、omega;令Ptrial=Ptrial′;

5.2.6)通过交叉操作得到测试个体Ptrial

5.2.7)执行更新操作:根据Rosetta Score3能量函数计算Ptarget和Ptrial的能量:E(Ptarget)和E(Ptrial);若E(Ptarget)>E(Ptrial)则用Ptrial替换Ptarget,否则保持种群不变;

5.2.8)得到更新后的种群Pupdate

5.2.9)迭代运行步骤5.2.1)~5.2.7)至第二阶段结束;

5.3)第三阶段:迭代次数为T3,对步骤5.2)得到的种群中的每个个体做如下操作:

5.3.1)设i=1,j=1,其中i∈{1,2,3,…,Nsub},j∈{1,2,3,…,NsubpopSize};令Ptarget=Pij,其中i,j为序号,NsubpopSize表示子种群中个体的数目,Ptarget表示目标个体;

5.3.2)针对个体Ptarget做变异操作:从L=3的片段库中随机选择片段进行片段组装,得到中间个体Ptrial′;

5.3.3)随机生成正整数rand2,rand3,其中,rand2≠rand3,∈{1,2,…,Length},生成随机数rand4∈(0,1),其中Length为序列长度;

5.3.4)找到种群中能量最低的个体Pglobal

5.3.5)若随机数rand4<=CR,针对Ptrial′做交叉操作:令a=min(rand2,rand3),b=max(rand2,rand3),k∈[a,b];

a:令Ptrial′.phi(k)=Pglobal.phi(k);

b:令Ptrial′.psi(k)=Pglobal.psi(k);

c:令Ptrial′.omega(k)=Pglobal.omega(k);

步骤a,b,c分别为:将Ptrial′的氨基酸k所对应的二面角phi、psi、omega替换为Pglobal中相同位置所对应的二面角phi、psi、omega;令Ptrial=Ptrial′;

5.3.6)通过交叉操作得到测试个体Ptrial

5.3.7)执行更新操作:根据Rosetta Score3能量函数计算Ptarget和Ptrial的能量:E(Ptarget)和E(Ptrial);若E(Ptarget)>E(Ptrial)则用Ptrial替换Ptarget,否则保持种群不变;

5.3.8)得到更新后的种群Pupdate

5.3.9)迭代运行步骤5.3.1)~5.3.7)至第三阶段结束。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1