1.一种基于阶段性多策略的群体构象空间采样方法,其特征在于:所述构象空间采样方法包括以下步骤:
1)给定输入序列信息;
2)根据序列信息从QUARK服务器上得到距离谱文件profile,rpj为距离谱中记录下的残基对,Dj为该残基对之间的距离,其中j∈(1,N),N为距离谱中残基对数量;
3)设置参数:种群大小NP,算法的迭代次数G,交叉因子CR,阶段因子s,置迭代代数g=
0;
4)种群初始化:由输入序列产生NP个初始构象Ci,i={1,…,NP},对每个构象个体全部位置片段组装;
5)针对种群中的每个构象个体Ci,i∈{1,2,3,…,NP},令Ctarget=Ci,Ctarget表示目标构象个体,执行以下操作得到变异构象Cmutant:
5.1)随机生成正整数rand1,rand2,rand3∈{1,2,3,......NP},且rand1≠rand2≠rand3≠i;再生成4个随机整数randrange1,randrange2,randrange3,randrange4;其中randrange1≠randrange2,randrange3≠randrange4∈{1,2,…,L},L为序列长度;
5.2)令a=min(randrange1,randrange2),b=max(randrange1,randrange2),k∈[a,b];令c=min(randrange3,randrange4),d=max(randrange3,randrange4),p∈[c,d];其中min表示取两个数的最小值,max表示取两个数的最大值
5.3)如果g<s·G,则执行如下操作:
5.3.1)如果randn(1,3)=1,则用Crand2上位置a到位置b的片段的第k个氨基酸所对应的二面角phi、psi、omega替换Crand1的相同位置所对应的二面角phi、psi、omega,然后将所得Crand1进行片段组装得到变异构象Cmutant,其中randn(1,3)表示随机生成[1,3]之间的整数;
5.3.2)如果randn(1,3)=2,则用Crand2上位置a到位置b的片段的第k个氨基酸所对应的二面角phi、psi、omega替换Crand1的相同位置所对应的二面角phi、psi、omega;再使用Crand3上位置c到位置d的片段的第p个氨基酸所对应的二面角phi、psi、omega替换Crand1上相同位置所对应的二面角phi、psi、omega,然后将所得Crand1进行片段组装得到测试个体Cmutant;
5.3.3)如果randn(1,3)=3,则用Crand1上位置a到位置b的片段的第k个氨基酸所对应的二面角phi、psi、omega替换Ctarget的相同位置所对应的二面角phi、psi、omega;再使用Crand2上位置c到位置d的片段的第p个氨基酸所对应的二面角phi、psi、omega替换Ctarget上相同位置所对应的二面角phi、psi、omega,然后将所得Ctarget进行片段组装得到测试个体Cmutant;
5.4)如果s·G≤g<2s·G,则执行如下操作:
5.4.1)根据能量对整个种群中的构象进行升序排列,然后从前0.5NP个构象个体中随机选出一个构象记为Cpbest;
5.4.2)如果randn(1,3)=1,则用Crand1上位置a到位置b的片段的第k个氨基酸所对应的二面角phi、psi、omega替换Cpbest的相同位置所对应的二面角phi、psi、omega,然后将所得Cpbest进行片段组装得到变异构象Cmutant;
5.4.3)如果randn(1,3)=2,则用Cpbest上位置a到位置b的片段的第k个氨基酸所对应的二面角phi、psi、omega替换Crand1的相同位置所对应的二面角phi、psi、omega;再使用Crand2上位置c到位置d的片段的第p个氨基酸所对应的二面角phi、psi、omega替换Crand1上相同位置所对应的二面角phi、psi、omega,然后将所得Crand1进行片段组装得到测试个体Cmutant;
5.4.4)如果randn(1,3)=3,则用Cpbest上位置a到位置b的片段的第k个氨基酸所对应的二面角phi、psi、omega替换Ctarget的相同位置所对应的二面角phi、psi、omega;再使用Crand1上位置c到位置d的片段的第p个氨基酸所对应的二面角phi、psi、omega替换Ctarget上相同位置所对应的二面角phi、psi、omega,然后将所得Ctarget进行片段组装得到测试个体Cmutant;
5.5)如果g≥2s·G,则执行如下操作:
5.5.1)将整个种群随机平均分为三组,判断当前目标构象Ctarget所在的组,然后从对应的组中选出能量最低的构象Clbest;
5.5.2)如果randn(1,3)=1,则用Crand1上位置a到位置b的片段的第k个氨基酸所对应的二面角phi、psi、omega替换Cpbest的相同位置所对应的二面角phi、psi、omega,然后将所得Cpbest进行片段组装得到变异构象Cmutant;
5.5.3)如果randn(1,3)=2,则用Clbest上位置a到位置b的片段的第k个氨基酸所对应的二面角phi、psi、omega替换Crand1的相同位置所对应的二面角phi、psi、omega;再使用Crand2上位置c到位置d的片段的第p个氨基酸所对应的二面角phi、psi、omega替换Crand1上相同位置所对应的二面角phi、psi、omega,然后将所得Crand1进行片段组装得到测试个体Cmutant;
5.5.4)如果randn(1,3)=3,则用Clbest上位置a到位置b的片段的第k个氨基酸所对应的二面角phi、psi、omega替换Ctarget的相同位置所对应的二面角phi、psi、omega;再使用Crand1上位置c到位置d的片段的第p个氨基酸所对应的二面角phi、psi、omega替换Ctarget上相同位置所对应的二面角phi、psi、omega,然后将所得Ctarget进行片段组装得到测试个体Cmutant;
6)对变异构象Cmutant执行交叉操作:
6.1)生成随机数rand4,rand5,其中rand4∈(0,1),rand5∈(1,L);
6.2)根据 执行交叉过程:若随机数rand4
≤CR,变异构象Cmutant的片段rand5替换为目标构象Ctarget中对应的片段,否则直接等于变异构象Cmutant;
7)对目标构象Ctarget和测试构象Ctrail进行选择操作;
7.1)计算Ctarget和Ctrail的能量:E(Ctarget)和E(Ctrail);
7.2)若E(Ctarget)>E(Ctrail),则Ctrail替换Ctarget,且转到步骤8),否则继续执行步骤7.3);
7.3)分别计算目标构象Ctarget和测试构象Ctrail中残基对rpj之间的距离与距离谱中对应的距离之间的距离差 和
7.4)判断 和 的值是否大于6,若大于6,则令其等于6,去除一些距离差值较大的异常数值;
7.5)分别计算目标构象和测试构象中所有残基对之间的距离与距离谱中距离之差的平均值,
7.6)若▽Dtrail>▽Dtarget,则转到步骤8);
7.7)若▽Dtrail<▽Dtarget,则产生一个(0,1)之间的随机数rand6,若rand6小于0.2,则用Ctrail替换Ctarget,否则进入步骤8);
8)i=i+1;判断i是否大于等于NP,如果是则g=g+1,否则进入步骤9);
9)迭代的运行步骤5)~7),至满足终止条件。