主权项 |
一种基于阶段性多策略的群体构象空间采样方法,其特征在于:所述构象空间采样方法包括以下步骤:1)给定输入序列信息;2)根据序列信息从QUARK服务器上得到距离谱文件profile,rp<sub>i</sub>为距离谱中记录下的残基对,D<sub>i</sub>为该残基对之间的距离,其中i∈(1,N),N为距离谱中残基对数量;3)设置参数:种群大小NP,算法的迭代次数G,交叉因子CR,阶段因子s,置迭代代数g=0;4)种群初始化:由输入序列产生NP个初始构象C<sub>i</sub>,i={1,…,NP},对每个构象个体全部位置片段组装;5)针对种群中的每个构象个体C<sub>i</sub>,i∈{1,2,3,…,NP},令C<sub>target</sub>=C<sub>i</sub>,C<sub>target</sub>表示目标构象个体,执行以下操作得到变异构象C<sub>mutant</sub>: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,则用C<sub>rand2</sub>上位置a到位置b的片段的氨基酸k所对应的二面角phi、psi、omega替换C<sub>rand1</sub>的相同位置所对应的二面角phi、psi、omega,然后将所得C<sub>rand1</sub>进行片段组装得到变异构象C<sub>mutant</sub>,其中randn(1,3)表示随机生成[1,3]之间的整数;5.3.2)如果randn(1,3)=2,则用C<sub>rand2</sub>上位置a到位置b的片段的氨基酸k所对应的二面角phi、psi、omega替换C<sub>rand1</sub>的相同位置所对应的二面角phi、psi、omega;再使用C<sub>rand3</sub>上位置c到位置d的片段的氨基酸p所对应的二面角phi、psi、omega替换C<sub>rand1</sub>上相同位置所对应的二面角phi、psi、omega,然后将所得C<sub>rand1</sub>进行片段组装得到测试个体C<sub>mutant</sub>;5.3.3)如果randn(1,3)=3,则用C<sub>rand1</sub>上位置a到位置b的片段的氨基酸k所对应的二面角phi、psi、omega替换C<sub>target</sub>的相同位置所对应的二面角phi、psi、omega;再使用C<sub>rand2</sub>上位置c到位置d的片段的氨基酸p所对应的二面角phi、psi、omega替换C<sub>target</sub>上相同位置所对应的二面角phi、psi、omega,然后将所得C<sub>target</sub>进行片段组装得到测试个体C<sub>mutant</sub>;5.4)如果s·G≤g<2s·G,则执行如下操作:5.4.1)根据能量对整个种群中的构象进行升序排列,然后从前0.5NP个构象个体中随机选出一个构象记为C<sub>pbest</sub>;5.4.2)如果randn(1,3)=1,则用C<sub>rand1</sub>上位置a到位置b的片段的氨基酸k所对应的二面角phi、psi、omega替换C<sub>pbest</sub>的相同位置所对应的二面角phi、psi、omega,然后将所得C<sub>pbest</sub>进行片段组装得到变异构象C<sub>mutant</sub>;5.4.3)如果randn(1,3)=2,则用C<sub>pbest</sub>上位置a到位置b的片段的氨基酸k所对应的二面角phi、psi、omega替换C<sub>rand1</sub>的相同位置所对应的二面角phi、psi、omega;再使用C<sub>rand2</sub>上位置c到位置d的片段的氨基酸p所对应的二面角phi、psi、omega替换C<sub>rand1</sub>上相同位置所对应的二面角phi、psi、omega,然后将所得C<sub>rand1</sub>进行片段组装得到测试个体C<sub>mutant</sub>;5.4.4)如果randn(1,3)=3,则用C<sub>pbest</sub>上位置a到位置b的片段的氨基酸k所对应的二面角phi、psi、omega替换C<sub>target</sub>的相同位置所对应的二面角phi、psi、omega;再使用C<sub>rand1</sub>上位置c到位置d的片段的氨基酸p所对应的二面角phi、psi、omega替换C<sub>target</sub>上相同位置所对应的二面角phi、psi、omega,然后将所得C<sub>target</sub>进行片段组装得到测试个体C<sub>mutant</sub>;5.5)如果g≥2s·G,则执行如下操作:5.5.1)将整个种群随机平均分为三组,判断当前目标构象C<sub>target</sub>所在的组,然后从对应的组中选出能量最低的构象C<sub>lbest</sub>;5.5.2)如果randn(1,3)=1,则用C<sub>rand1</sub>上位置a到位置b的片段的氨基酸k所对应的二面角phi、psi、omega替换C<sub>pbest</sub>的相同位置所对应的二面角phi、psi、omega,然后将所得C<sub>pbest</sub>进行片段组装得到变异构象C<sub>mutant</sub>;5.5.3)如果randn(1,3)=2,则用C<sub>lbest</sub>上位置a到位置b的片段的氨基酸k所对应的二面角phi、psi、omega替换C<sub>rand1</sub>的相同位置所对应的二面角phi、psi、omega;再使用C<sub>rand2</sub>上位置c到位置d的片段的氨基酸p所对应的二面角phi、psi、omega替换C<sub>rand1</sub>上相同位置所对应的二面角phi、psi、omega,然后将所得C<sub>rand1</sub>进行片段组装得到测试个体C<sub>mutant</sub>;5.5.4)如果randn(1,3)=3,则用C<sub>lbest</sub>上位置a到位置b的片段的氨基酸k所对应的二面角phi、psi、omega替换C<sub>target</sub>的相同位置所对应的二面角phi、psi、omega;再使用C<sub>rand1</sub>上位置c到位置d的片段的氨基酸p所对应的二面角phi、psi、omega替换C<sub>target</sub>上相同位置所对应的二面角phi、psi、omega,然后将所得C<sub>target</sub>进行片段组装得到测试个体C<sub>mutant</sub>;6)对变异构象C<sub>mutant</sub>执行交叉操作:6.1)生成随机数rand4,rand5,其中rand4∈(0,1),rand5∈(1,L);6.2)根据<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>C</mi><mrow><mi>t</mi><mi>r</mi><mi>a</mi><mi>i</mi><mi>l</mi></mrow></msub><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msub><mi>C</mi><mrow><mi>m</mi><mi>u</mi><mi>tan</mi><mi>t</mi><mo>,</mo><mi>r</mi><mi>a</mi><mi>n</mi><mi>d</mi><mn>5</mn></mrow></msub><mo>←</mo><msub><mi>C</mi><mrow><mi>t</mi><mi>arg</mi><mi>e</mi><mi>t</mi><mo>,</mo><mi>r</mi><mi>a</mi><mi>n</mi><mi>d</mi><mn>5</mn></mrow></msub><mo>,</mo></mrow></mtd><mtd><mrow><mi>i</mi><mi>f</mi><mrow><mo>(</mo><mi>r</mi><mi>a</mi><mi>n</mi><mi>d</mi><mn>4</mn><mo>≤</mo><mi>C</mi><mi>R</mi><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>C</mi><mrow><mi>m</mi><mi>u</mi><mi>tan</mi><mi>t</mi><mo>,</mo><mi>r</mi><mi>a</mi><mi>n</mi><mi>d</mi><mn>5</mn></mrow></msub><mo>,</mo></mrow></mtd><mtd><mrow><mi>o</mi><mi>t</mi><mi>h</mi><mi>e</mi><mi>r</mi><mi>w</mi><mi>i</mi><mi>s</mi><mi>e</mi></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000933816540000031.GIF" wi="955" he="143" /></maths>执行交叉过程:若随机数rand4≤CR,变异构象C<sub>mutant</sub>的片段rand5替换为目标构象C<sub>target</sub>中对应的片段,否则直接等于变异构象C<sub>mutant</sub>;7)对目标构象C<sub>target</sub>和测试构象C<sub>trail</sub>进行选择操作;7.1)计算C<sub>target</sub>和C<sub>trail</sub>的能量:E(C<sub>target</sub>)和E(C<sub>trail</sub>);7.2)若E(C<sub>target</sub>)>E(C<sub>trail</sub>),则C<sub>trail</sub>替换C<sub>target</sub>,且转到步骤8),否则继续执行步骤7.3);7.3)分别计算目标构象C<sub>target</sub>和测试构象C<sub>trail</sub>中残基对rp<sub>i</sub>之间的距离与距离谱中对应的距离之间的距离差<img file="FDA0000933816540000041.GIF" wi="147" he="63" />和<img file="FDA0000933816540000042.GIF" wi="154" he="68" />7.4)判断<img file="FDA0000933816540000043.GIF" wi="153" he="62" />和<img file="FDA0000933816540000044.GIF" wi="125" he="70" />的值是否大于6,若大于6,则令其等于6,去除一些距离差值较大的异常数值;7.5)分别计算目标构象和测试构象中所有残基对之间的距离与距离谱中距离之差的平均值,<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mo>▿</mo><msub><mi>D</mi><mrow><mi>t</mi><mi>arg</mi><mi>e</mi><mi>t</mi></mrow></msub><mo>=</mo><mfrac><mn>1</mn><mi>N</mi></mfrac><munderover><mo>Σ</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mo>▿</mo><msubsup><mi>D</mi><mi>i</mi><mrow><mi>t</mi><mi>arg</mi><mi>e</mi><mi>t</mi></mrow></msubsup><mo>,</mo><mo>▿</mo><msub><mi>D</mi><mrow><mi>t</mi><mi>r</mi><mi>a</mi><mi>i</mi><mi>l</mi></mrow></msub><mo>=</mo><mfrac><mn>1</mn><mi>N</mi></mfrac><munderover><mo>Σ</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mo>▿</mo><msubsup><mi>D</mi><mi>i</mi><mrow><mi>t</mi><mi>r</mi><mi>i</mi><mi>a</mi><mi>l</mi></mrow></msubsup><mo>;</mo></mrow>]]></math><img file="FDA0000933816540000045.GIF" wi="965" he="133" /></maths>7.6)若▽D<sub>trail</sub>>▽D<sub>target</sub>,则转到步骤8);7.7)若▽D<sub>trail</sub><▽D<sub>target</sub>,则产生一个(0,1)之间的随机数rand6,若rand6小于0.2,则用C<sub>trail</sub>替换C<sub>target</sub>,否则进入步骤8);8)i=i+1;判断i是否大于等于NP,如果是则g=g+1,否则进入步骤9);9)迭代的运行步骤5)~7),至满足终止条件。 |