CN106503486B - 一种基于多阶段子群协同进化策略的差分进化蛋白质结构从头预测方法 - Google Patents
一种基于多阶段子群协同进化策略的差分进化蛋白质结构从头预测方法 Download PDFInfo
- Publication number
- CN106503486B CN106503486B CN201610846217.3A CN201610846217A CN106503486B CN 106503486 B CN106503486 B CN 106503486B CN 201610846217 A CN201610846217 A CN 201610846217A CN 106503486 B CN106503486 B CN 106503486B
- Authority
- CN
- China
- Prior art keywords
- trial
- rand
- target
- individual
- population
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B20/00—ICT specially adapted for functional genomics or proteomics, e.g. genotype-phenotype associations
Landscapes
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Proteomics, Peptides & Aminoacids (AREA)
- Biotechnology (AREA)
- Biophysics (AREA)
- Genetics & Genomics (AREA)
- Molecular Biology (AREA)
- Chemical & Material Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Analytical Chemistry (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Theoretical Computer Science (AREA)
- Investigating Or Analysing Biological Materials (AREA)
- Peptides Or Proteins (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种基于多阶段子群协同进化策略的差分进化蛋白质结构从头预测方法,包括以下步骤:在差分进化算法框架下,采用Rosetta Score3粗粒度知识能量模型来降低构象空间维数;将进化种群依相似度划分为多个子种群,子种群之间协同进化,可以提高种群个体多样性;进化过程被划分为三个阶段,在不同的阶段采用不同的变异交叉策略,可以避免早熟收敛问题;结合差分进化算法较强的全局搜索能力,可以对构象空间进行有效的采样,搜索得到较高精度的近天然态构象。本发明基于差分进化算法,提出一种构象空间搜索维数较低、收敛速度较快、预测精度较高的基于多阶段子群协同进化策略的差分进化蛋白质结构从头预测方法。
Description
技术领域
本发明涉及生物信息学、计算机应用领域,尤其涉及的是一种基于多阶段子群协同进化策略的差分进化蛋白质结构从头预测方法。
背景技术
蛋白质分子在生物细胞化学反应过程中起着至关重要的作用。它们的结构模型和生物活性状态对我们理解和治愈多种疾病有重要的意义。蛋白质只有折叠成特定的三维结构才能产生其特有的生物学功能。因此,要了解蛋白质的功能,就必须获得其三维空间结构。
蛋白质结构预测问题自上世纪50年代以来就一直备受关注,尤其是从头预测构象空间优化方法,是生物信息学和计算生物学领域的热点研究课题,因为蛋白质的三维空间结构决定了它所承载的生物功能,想要了解其功能进而对许多由蛋白质结构改变而引起的疾病进行有效的控制和预防,就必须获得其三维结构。从头预测方法直接从蛋白质的氨基酸序列出发,根据Anfinsen原则,以计算机为工具,运用适当算法,通过计算得到蛋白质的天然构象,适用于同源性小于25%的大多数蛋白质。而制约从头预测方法预测精度的瓶颈因素主要有两个方面:第一,蛋白质构象空间的高维复杂性以及能量表面的粗糙性,使其成为一个难解的NP-Hard问题;第二,力场模型的不精确性也使得预测结果难以达到较高的精度。设计有效的算法增强对构象空间的采样是解决蛋白质结构从头预测瓶颈问题的有效途径。但是到目前还没有一种十分完善的方法来预测蛋白质的三维结构,即使获得了很好的预测结果,但也只是针对某些蛋白质而言的,目前主要的技术瓶颈在于两个方面,第一方面在于采样方法,现有技术对构象空间采样能力不强,另一方面在于构象更新方法,现有技术对构象的更新精度仍然不足。
因此,现有的蛋白质结构从头预测方法存在不足,需要改进。
发明内容
为了克服现有蛋白质结构预测方法的构象空间搜索维数较高、收敛速度较慢、预测精度较低的不足,本发明基于差分进化算法,提出一种构象空间搜索维数较低、收敛速度较快、预测精度较高的基于多阶段子群协同进化策略的差分进化蛋白质结构从头预测方法,在差分进化算法框架下,采用Rosetta Score3粗粒度知识能量模型来降低构象空间维数;将进化种群依相似度划分为多个子种群,子种群之间协同进化,可以提高种群个体多样性;进化过程被划分为三个阶段,在不同的阶段采用不同的变异交叉策略,可以避免早熟收敛问题;结合差分进化算法较强的全局搜索能力,可以对构象空间进行有效的采样。
本发明解决其技术问题所采用的技术方案是:
一种基于多阶段子群协同进化策略的差分进化蛋白质结构从头预测方法,包括以下步骤:
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)令Ptarget=Pij,其中i,j为序号,i∈{1,2,3,…,Nsub},j∈{1,2,3,…,NsubpopSize};NsubpopSize表示子种群中个体的数目,Ptarget表示目标个体,Pij表示第i个子群中的第j个个体;
5.1.2)针对个体Ptarget做变异操作:从L=9的片段库中随机选择片段进行片段组装,得到中间个体Ptrial′;
5.1.3)随机生成正整数rand1,rand2,rand3,其中rand1∈{1,2,3,...,NsubpopSize},rand1≠j,rand2≠rand3,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];
5.1.4.1:令Ptrial′.phi(k)=Pl.phi(k);
5.1.4.2:令Ptrial′.psi(k)=Pl.psi(k);
5.1.4.3:令Ptrial′.omega(k)=Pl.omega(k);
步骤5.1.4.1,5.1.4.2,5.1.4.2分别为:将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)令P2 target=P2 ij,其中i,j为序号,i∈{1,2,3,…,Nsub},j∈{1,2,3,…,NsubpopSize};NsubpopSize表示子种群中个体的数目,P2 target表示目标个体,P2 ij表示第i个子群中的第j个个体;
5.2.2)针对个体P2 target做变异操作:从L=3的片段库中随机选择片段进行片段组装,得到中间个体P2 trial′;
5.2.3)随机生成正整数rand22,rand23,其中,rand22≠rand23,rand22和rand23∈{1,2,…,Length},生成随机数rand24∈(0,1),其中Length为序列长度;
5.2.4)找到当前子种群中能量最低的个体Plocal;
5.2.5)若随机数rand24<=CR,针对P2 trial′做交叉操作:令a2=min(rand22,rand23),b2=max(rand22,rand23),k2∈[a2,b2];
5.2.5.1:令P2 trial′.phi(k2)=Plocal.phi(k2);
5.2.5.2:令P2 trial′.psi(k2)=Plocal.psi(k2);
5.2.5.2:令P2 trial′.omega(k2)=Plocal.omega(k2);
步骤5.2.5.1,5.2.5.2,5.2.5.2分别为:将P2 trial′的氨基酸k2所对应的二面角phi、psi、omega替换为Plocal中相同位置所对应的二面角phi、psi、omega;令P2 trial=P2 trial′;
5.2.6)通过交叉操作得到测试个体P2 trial;
5.2.7)执行更新操作:根据Rosetta Score3能量函数计算P2 target和P2 trial的能量:E(P2 target)和E(P2 trial);若E(P2 target)>E(P2 trial)则用P2 trial替换P2 target,否则保持种群不变;
5.2.8)得到更新后的种群P2 update;
5.2.9)迭代运行步骤5.2.1)~5.2.7)至第二阶段结束;
5.3)第三阶段:迭代次数为T3,对步骤5.2)得到的种群中的每个个体做如下操作:
5.3.1)令P3 target=P3 ij,其中i,j为序号,其中i∈{1,2,3,…,Nsub},j∈{1,2,3,…,NsubpopSize};NsubpopSize表示子种群中个体的数目,P3 target表示目标个体,P3 ij表示第i个子群中的第j个个体;
5.3.2)针对个体P3 target做变异操作:从L=3的片段库中随机选择片段进行片段组装,得到中间个体P3 trial′;
5.3.3)随机生成正整数rand32,rand33,其中,rand32≠rand33,rand32和rand33∈{1,2,…,Length},生成随机数rand34∈(0,1),其中Length为序列长度;
5.3.4)找到种群中能量最低的个体Pglobal;
5.3.5)若随机数rand34<=CR,针对P3 trial′做交叉操作:令a3=min(rand32,rand33),b3=max(rand32,rand33),k3∈[a3,b3];
5.3.5.1:令P3 trial′.phi(k3)=Pglobal.phi(k3);
5.3.5.2:令P3 trial′.psi(k3)=Pglobal.psi(k3);
5.3.5.3:令P3 trial′.omega(k3)=Pglobal.omega(k3);
步骤5.3.5.1,5.3.5.2,5.3.5.3分别为:将P3 trial′的氨基酸k3所对应的二面角phi、psi、omega替换为Pglobal中相同位置所对应的二面角phi、psi、omega;令P3 trial=P3 trial′;
5.3.6)通过交叉操作得到测试个体P3 trial;
5.3.7)执行更新操作:根据Rosetta Score3能量函数计算P3 target和P3 trial的能量:E(P3 target)和E(P3 trial);若E(P3 target)>E(P3 trial)则用P3 trial替换P3 target,否则保持种群不变;
5.3.8)得到更新后的种群P3 update;
5.3.9)迭代运行步骤5.3.1)~5.3.7)至第三阶段结束;
本发明的有益效果为:在差分进化算法框架下,采用Rosetta Score3粗粒度知识能量模型来降低构象空间维数;将进化种群依相似度划分为多个子种群,子种群之间协同进化,可以提高种群个体多样性;进化过程被划分为三个阶段,在不同的阶段采用不同的变异交叉策略,可以避免早熟收敛问题;结合差分进化算法较强的全局搜索能力,可以对构象空间进行有效的采样,搜索得到较高精度的近天然态构象。
附图说明
图1是采用基于多阶段子群协同进化策略的差分进化蛋白质结构从头预测方法的搜索过程示意图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图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)令Ptarget=Pij,其中i,j为序号,i∈{1,2,3,…,Nsub},j∈{1,2,3,…,NsubpopSize};NsubpopSize表示子种群中个体的数目,Ptarget表示目标个体,Pij表示第i个子群中的第j个个体;
5.1.2)针对个体Ptarget做变异操作:从L=9的片段库中随机选择片段进行片段组装,得到中间个体Ptrial′;
5.1.3)随机生成正整数rand1,rand2,rand3,其中rand1∈{1,2,3,...,NsubpopSize},rand1≠j,rand2≠rand3,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];
5.1.4.1:令Ptrial′.phi(k)=Pl.phi(k);
5.1.4.2:令Ptrial′.psi(k)=Pl.psi(k);
5.1.4.3:令Ptrial′.omega(k)=Pl.omega(k);
步骤5.1.4.1,5.1.4.2,5.1.4.2分别为:将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)令P2 target=P2 ij,其中i,j为序号,i∈{1,2,3,…,Nsub},j∈{1,2,3,…,NsubpopSize};NsubpopSize表示子种群中个体的数目,P2 target表示目标个体,P2 ij表示第i个子群中的第j个个体;
5.2.2)针对个体P2 target做变异操作:从L=3的片段库中随机选择片段进行片段组装,得到中间个体P2 trial′;
5.2.3)随机生成正整数rand22,rand23,其中,rand22≠rand23,rand22和rand23∈{1,2,…,Length},生成随机数rand24∈(0,1),其中Length为序列长度;
5.2.4)找到当前子种群中能量最低的个体Plocal;
5.2.5)若随机数rand24<=CR,针对P2 trial′做交叉操作:令a2=min(rand22,rand23),b2=max(rand22,rand23),k2∈[a2,b2];
5.2.5.1:令P2 trial′.phi(k2)=Plocal.phi(k2);
5.2.5.2:令P2 trial′.psi(k2)=Plocal.psi(k2);
5.2.5.2:令P2 trial′.omega(k2)=Plocal.omega(k2);
步骤5.2.5.1,5.2.5.2,5.2.5.2分别为:将P2 trial′的氨基酸k2所对
应的二面角phi、psi、omega替换为Plocal中相同位置所对应的二
面角phi、psi、omega;令P2 trial=P2 trial′;
5.2.6)通过交叉操作得到测试个体P2 trial;
5.2.7)执行更新操作:根据Rosetta Score3能量函数计算P2 target和P2 trial的能量:E(P2 target)和E(P2 trial);若E(P2 target)>E(P2 trial)则用P2 trial替换P2 target,否则保持种群不变;
5.2.8)得到更新后的种群P2 update;
5.2.9)迭代运行步骤5.2.1)~5.2.7)至第二阶段结束;
5.3)第三阶段:迭代次数为T3,对步骤5.2)得到的种群中的每个个体做如下操作:
5.3.1)令P3 target=P3 ij,其中i,j为序号,其中i∈{1,2,3,…,Nsub},j∈{1,2,3,…,NsubpopSize};NsubpopSize表示子种群中个体的数目,P3 target表示目标个体,P3 ij表示第i个子群中的第j个个体;
5.3.2)针对个体P3 target做变异操作:从L=3的片段库中随机选择片段进行片段组装,得到中间个体P3 trial′;
5.3.3)随机生成正整数rand32,rand33,其中,rand32≠rand33,rand32和rand33∈{1,2,…,Length},生成随机数rand34∈(0,1),其中Length为序列长度;
5.3.4)找到种群中能量最低的个体Pglobal;
5.3.5)若随机数rand34<=CR,针对P3 trial′做交叉操作:令a3=min(rand32,rand33),b3=max(rand32,rand33),k3∈[a3,b3];
5.3.5.1:令P3 trial′.phi(k3)=Pglobal.phi(k3);
5.3.5.2:令P3 trial′.psi(k3)=Pglobal.psi(k3);
5.3.5.3:令P3 trial′.omega(k3)=Pglobal.omega(k3);
步骤5.3.5.1,5.3.5.2,5.3.5.3分别为:将P3 trial′的氨基酸k3所对应的二面角phi、psi、omega替换为Pglobal中相同位置所对应的二面角phi、psi、omega;令P3 trial=P3 trial′;
5.3.6)通过交叉操作得到测试个体P3 trial;
5.3.7)执行更新操作:根据Rosetta Score3能量函数计算P3 target和P3 trial的能量:E(P3 target)和E(P3 trial);若E(P3 target)>E(P3 trial)则用P3 trial替换P3 target,否则保持种群不变;
5.3.8)得到更新后的种群P3 update;
5.3.9)迭代运行步骤5.3.1)~5.3.7)至第三阶段结束;
本实施例以序列长度为54的蛋白质1ENH为实施例,一种基于多阶段子群协同进化策略的差分进化蛋白质结构从头预测方法,其中包含以下步骤:
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)令Ptarget=Pij,其中i,j为序号,i∈{1,2,3,…,Nsub},j∈{1,2,3,…,NsubpopSize};NsubpopSize表示子种群中个体的数目,Ptarget表示目标个体,Pij表示第i个子群中的第j个个体;
5.1.2)针对个体Ptarget做变异操作:从L=9的片段库中随机选择片段进行片段组装,得到中间个体Ptrial′;
5.1.3)随机生成正整数rand1,rand2,rand3,其中rand1∈{1,2,3,...,NsubpopSize},rand1≠j,rand2≠rand3,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];
5.1.4.1:令Ptrial′.phi(k)=Pl.phi(k);
5.1.4.2:令Ptrial′.psi(k)=Pl.psi(k);
5.1.4.3:令Ptrial′.omega(k)=Pl.omega(k);
步骤5.1.4.1,5.1.4.2,5.1.4.2分别为:将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)令P2 target=P2 ij,其中i,j为序号,i∈{1,2,3,…,Nsub},j∈{1,2,3,…,NsubpopSize};NsubpopSize表示子种群中个体的数目,P2 target表示目标个体,P2 ij表示第i个子群中的第j个个体;
5.2.2)针对个体P2 target做变异操作:从L=3的片段库中随机选择片段进行片段组装,得到中间个体P2 trial′;
5.2.3)随机生成正整数rand22,rand23,其中,rand22≠rand23,rand22和rand23∈{1,2,…,Length},生成随机数rand24∈(0,1),其中Length为序列长度;
5.2.4)找到当前子种群中能量最低的个体Plocal;
5.2.5)若随机数rand24<=CR,针对P2 trial′做交叉操作:令a2=min(rand22,rand23),b2=max(rand22,rand23),k2∈[a2,b2];
5.2.5.1:令P2 trial′.phi(k2)=Plocal.phi(k2);
5.2.5.2:令P2 trial′.psi(k2)=Plocal.psi(k2);
5.2.5.2:令P2 trial′.omega(k2)=Plocal.omega(k2);
步骤5.2.5.1,5.2.5.2,5.2.5.2分别为:将P2 trial′的氨基酸k2所对应的二面角phi、psi、omega替换为Plocal中相同位置所对应的二面角phi、psi、omega;令P2 trial=P2 trial′;
5.2.6)通过交叉操作得到测试个体P2 trial;
5.2.7)执行更新操作:根据Rosetta Score3能量函数计算P2 target和P2 trial的能量:E(P2 target)和E(P2 trial);若E(P2 target)>E(P2 trial)则用P2 trial替换P2 target,否则保持种群不变;
5.2.8)得到更新后的种群P2 update;
5.2.9)迭代运行步骤5.2.1)~5.2.7)至第二阶段结束;
5.3)第三阶段:迭代次数为T3,对步骤5.2)得到的种群中的每个个体做如下操作:
5.3.1)令P3 target=P3 ij,其中i,j为序号,其中i∈{1,2,3,…,Nsub},j∈{1,2,3,…,NsubpopSize};NsubpopSize表示子种群中个体的数目,P3 target表示目标个体,P3 ij表示第i个子群中的第j个个体;
5.3.2)针对个体P3 target做变异操作:从L=3的片段库中随机选择片段进行片段组装,得到中间个体P3 trial′;
5.3.3)随机生成正整数rand32,rand33,其中,rand32≠rand33,rand32和rand33∈{1,2,…,Length},生成随机数rand34∈(0,1),其中Length为序列长度;
5.3.4)找到种群中能量最低的个体Pglobal;
5.3.5)若随机数rand34<=CR,针对P3 trial′做交叉操作:令a3=min(rand32,rand33),b3=max(rand32,rand33),k3∈[a3,b3];
5.3.5.1:令P3 trial′.phi(k3)=Pglobal.phi(k3);
5.3.5.2:令P3 trial′.psi(k3)=Pglobal.psi(k3);
5.3.5.3:令P3 trial′.omega(k3)=Pglobal.omega(k3);
步骤5.3.5.1,5.3.5.2,5.3.5.3分别为:将P3 trial′的氨基酸k3所对应的二面角phi、psi、omega替换为Pglobal中相同位置所对应的二面角phi、psi、omega;令P3 trial=P3 trial′;
5.3.6)通过交叉操作得到测试个体P3 trial;
5.3.7)执行更新操作:根据Rosetta Score3能量函数计算P3 target和P3 trial的能量:E(P3 target)和E(P3 trial);若E(P3 target)>E(P3 trial)则用P3 trial替换P3 target,否则保持种群不变;
5.3.8)得到更新后的种群P3 update;
5.3.9)迭代运行步骤5.3.1)~5.3.7)至第三阶段结束;
以序列长度为54的蛋白质1ENH为实施例,运用以上方法得到了该蛋白质的近天然态构象,搜索过程示意图如图1所示。
以上阐述的是本发明给出的一个实施例表现出来的优良效果,显然本发明不仅适合上述实施例,在不偏离本发明基本精神及不超出本发明实质内容所涉及内容的前提下可对其做种种变化加以实施。
Claims (1)
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)令Ptarget=Pij,其中i,j为序号,i∈{1,2,3,…,Nsub},j∈{1,2,3,…,NsubpopSize};NsubpopSize表示子种群中个体的数目,Ptarget表示目标个体,Pij表示第i个子群中的第j个个体;
5.1.2)针对个体Ptarget做变异操作:从L=9的片段库中随机选择片段进行片段组装,得到中间个体Ptrial′;
5.1.3)随机生成正整数rand1,rand2,rand3,其中rand1∈{1,2,3,...,NsubpopSize},rand1≠j,rand2≠rand3,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];
5.1.4.1:令Ptrial′.phi(k)=Pl.phi(k);
5.1.4.2:令Ptrial′.psi(k)=Pl.psi(k);
5.1.4.3:令Ptrial′.omega(k)=Pl.omega(k);
步骤5.1.4.1,5.1.4.2,5.1.4.2分别为:将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)令P2 target=P2 ij,其中i,j为序号,i∈{1,2,3,…,Nsub},j∈{1,2,3,…,NsubpopSize};NsubpopSize表示子种群中个体的数目,P2 target表示目标个体,P2 ij表示第i个子群中的第j个个体;
5.2.2)针对个体P2 target做变异操作:从L=3的片段库中随机选择片段进行片段组装,得到中间个体P2 trial′;
5.2.3)随机生成正整数rand22,rand23,其中,rand22≠rand23,rand22和rand23∈{1,2,…,Length},生成随机数rand24∈(0,1),其中Length为序列长度;
5.2.4)找到当前子种群中能量最低的个体Plocal;
5.2.5)若随机数rand24<=CR,针对P2 trial′做交叉操作:令a2=min(rand22,rand23),b2=max(rand22,rand23),k2∈[a2,b2];
5.2.5.1:令P2 trial′.phi(k2)=Plocal.phi(k2);
5.2.5.2:令P2 trial′.psi(k2)=Plocal.psi(k2);
5.2.5.2:令P2 trial′.omega(k2)=Plocal.omega(k2);
步骤5.2.5.1,5.2.5.2,5.2.5.2分别为:将P2 trial′的氨基酸k2所对应的二面角phi、psi、omega替换为Plocal中相同位置所对应的二面角phi、psi、omega;令P2 trial=P2 trial′;
5.2.6)通过交叉操作得到测试个体P2 trial;
5.2.7)执行更新操作:根据Rosetta Score3能量函数计算P2 target和P2 trial的能量:E(P2 target)和E(P2 trial);若E(P2 target)>E(P2 trial)则用P2 trial替换P2 target,否则保持种群不变;
5.2.8)得到更新后的种群P2 update;
5.2.9)迭代运行步骤5.2.1)~5.2.7)至第二阶段结束;
5.3)第三阶段:迭代次数为T3,对步骤5.2)得到的种群中的每个个体做如下操作:
5.3.1)令P3 target=P3 ij,其中i,j为序号,其中i∈{1,2,3,…,Nsub},j∈{1,2,3,…,NsubpopSize};NsubpopSize表示子种群中个体的数目,P3 target表示目标个体,P3 ij表示第i个子群中的第j个个体;
5.3.2)针对个体P3 target做变异操作:从L=3的片段库中随机选择片段进行片段组装,得到中间个体P3 trial′;
5.3.3)随机生成正整数rand32,rand33,其中,rand32≠rand33,rand32和rand33∈{1,2,…,Length},生成随机数rand34∈(0,1),其中Length为序列长度;
5.3.4)找到种群中能量最低的个体Pglobal;
5.3.5)若随机数rand34<=CR,针对P3 trial′做交叉操作:令a3=min(rand32,rand33),b3=max(rand32,rand33),k3∈[a3,b3];
5.3.5.1:令P3 trial′.phi(k3)=Pglobal.phi(k3);
5.3.5.2:令P3 trial′.psi(k3)=Pglobal.psi(k3);
5.3.5.3:令P3 trial′.omega(k3)=Pglobal.omega(k3);
步骤5.3.5.1,5.3.5.2,5.3.5.3分别为:将P3 trial′的氨基酸k3所对应的二面角phi、psi、omega替换为Pglobal中相同位置所对应的二面角phi、psi、omega;令P3 trial=P3 trial′;
5.3.6)通过交叉操作得到测试个体P3 trial;
5.3.7)执行更新操作:根据Rosetta Score3能量函数计算P3 target和P3 trial的能量:E(P3 target)和E(P3 trial);若E(P3 target)>E(P3 trial)则用P3 trial替换P3 target,否则保持种群不变;
5.3.8)得到更新后的种群P3 update;
5.3.9)迭代运行步骤5.3.1)~5.3.7)至第三阶段结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610846217.3A CN106503486B (zh) | 2016-09-23 | 2016-09-23 | 一种基于多阶段子群协同进化策略的差分进化蛋白质结构从头预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610846217.3A CN106503486B (zh) | 2016-09-23 | 2016-09-23 | 一种基于多阶段子群协同进化策略的差分进化蛋白质结构从头预测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106503486A CN106503486A (zh) | 2017-03-15 |
CN106503486B true CN106503486B (zh) | 2019-04-23 |
Family
ID=58290706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610846217.3A Active CN106503486B (zh) | 2016-09-23 | 2016-09-23 | 一种基于多阶段子群协同进化策略的差分进化蛋白质结构从头预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106503486B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107066834B (zh) * | 2017-03-23 | 2019-05-31 | 王晨彤 | 一种基于粒子群优化算法的蛋白质结构从头预测方法 |
CN108563921B (zh) * | 2018-03-22 | 2021-05-18 | 浙江工业大学 | 一种蛋白质结构预测算法评价指标构建方法 |
CN109243524B (zh) * | 2018-07-12 | 2021-08-03 | 浙江工业大学 | 一种多级个体筛选进化蛋白质结构预测方法 |
CN109243525B (zh) * | 2018-07-12 | 2021-08-03 | 浙江工业大学 | 一种基于种群熵的阶段性蛋白质结构预测方法 |
CN109584954B (zh) * | 2018-11-05 | 2021-04-06 | 浙江工业大学 | 一种基于多种群联合搜索的蛋白质构象空间优化方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030073092A1 (en) * | 2000-11-10 | 2003-04-17 | Maranas Costas D. | Modeling framework for predicting the number, type, and distribution of crossovers in directed evolution experiments |
CN104933327A (zh) * | 2015-06-08 | 2015-09-23 | 浙江工业大学 | 一种局部增强的差分进化蛋白质构象空间搜索方法 |
CN105160436A (zh) * | 2015-09-22 | 2015-12-16 | 浙江工业大学 | 一种基于n邻近Lipschitz支撑面的广义增强群体全局优化方法 |
-
2016
- 2016-09-23 CN CN201610846217.3A patent/CN106503486B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030073092A1 (en) * | 2000-11-10 | 2003-04-17 | Maranas Costas D. | Modeling framework for predicting the number, type, and distribution of crossovers in directed evolution experiments |
CN104933327A (zh) * | 2015-06-08 | 2015-09-23 | 浙江工业大学 | 一种局部增强的差分进化蛋白质构象空间搜索方法 |
CN105160436A (zh) * | 2015-09-22 | 2015-12-16 | 浙江工业大学 | 一种基于n邻近Lipschitz支撑面的广义增强群体全局优化方法 |
Non-Patent Citations (1)
Title |
---|
基于抽象凸估计选择策略的差分进化算法;周晓根 等;《控制理论与应用》;20150331;第32卷(第3期);第388-397页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106503486A (zh) | 2017-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106503486B (zh) | 一种基于多阶段子群协同进化策略的差分进化蛋白质结构从头预测方法 | |
US11620567B2 (en) | Method, apparatus, device and storage medium for predicting protein binding site | |
CN104933327B (zh) | 一种局部增强的差分进化蛋白质构象空间搜索方法 | |
CN107633159B (zh) | 一种基于距离相似度的蛋白质构象空间搜索方法 | |
CN103714265B (zh) | 一种基于蒙特卡洛局部抖动和片段组装的蛋白质三维结构预测方法 | |
CN106503484B (zh) | 一种基于抽象凸估计的多阶段差分进化蛋白质结构预测方法 | |
CN103413067A (zh) | 一种基于抽象凸下界估计的蛋白质结构预测方法 | |
CN103473482B (zh) | 基于差分进化和构象空间退火的蛋白质三维结构预测方法 | |
CN106503485B (zh) | 一种局部增强的多模态差分进化蛋白质结构从头预测方法 | |
Sikandar et al. | Decision tree based approaches for detecting protein complex in protein protein interaction network (PPI) via link and sequence analysis | |
CN112420127A (zh) | 基于二级结构和多模型融合的非编码rna与蛋白质相互作用预测方法 | |
US20220367007A1 (en) | Method for generating functional protein sequences with generative adversarial networks | |
CN109637579A (zh) | 一种基于张量随机游走的关键蛋白质识别方法 | |
CN105046101B (zh) | 一种基于副本交换和局部增强策略的群体构象空间搜索方法 | |
CN106096326B (zh) | 一种基于质心变异策略的差分进化蛋白质结构预测方法 | |
CN109360596B (zh) | 一种基于差分进化局部扰动的蛋白质构象空间优化方法 | |
CN109360599A (zh) | 一种基于残基接触信息交叉策略的蛋白质结构预测方法 | |
Aizenshtein-Gazit et al. | Deepzf: improved DNA-binding prediction of c2h2-zinc-finger proteins by deep transfer learning | |
CN104200131A (zh) | 一种基于片段组装的蛋白质构象空间优化方法 | |
Fonseca et al. | Ranking beta sheet topologies with applications to protein structure prediction | |
Olson et al. | Enhancing sampling of the conformational space near the protein native state | |
CN107066834B (zh) | 一种基于粒子群优化算法的蛋白质结构从头预测方法 | |
Vijayarani et al. | Protein sequence classification in data mining–a study | |
Mathkour et al. | A comprehensive survey on genome sequence analysis | |
CN109243525B (zh) | 一种基于种群熵的阶段性蛋白质结构预测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |