1.一种不连续多域蛋白结构组装方法,其特征在于:所述不连续多域蛋白结构组装包括以下步骤:
1)输入待组装蛋白的序列信息和各单域的三维结构;
2)设置最大迭代次数Gmax、组装模板数量T、冲突距离阈值dclash和相互作用阈值dcontact;
3)利用蛋白质序列穿线比对工具FFAS3D从蛋白质库中搜索到得分最高的前T个模板蛋白;
4)针对每一个模板蛋白进行如下操作:
4.1)根据FFAS3D序列比对信息将待组装蛋白的各单域重叠到模板上;
4.2)固定不连续单域蛋白,根据以下公式对插入其中间的连续蛋白作平移操作,使得不连续蛋白第一部分的连接点和连续蛋白的连接点之间的距离为冲突距离阈值dclash;
其中, 表示不连续域蛋白的第m个Cα原子的第s维坐标,L表示不连续域蛋白,N表示连续域蛋白,L和N仅为区别不连续和连续域蛋白的标记,l为不连续域蛋白的序列长度, 为不连续域蛋白的第一部分的最后一个Cα原子的第s维坐标,s=1,2,3, 为连续域蛋白的第一个Cα原子的第s维坐标,d为连续域蛋白的第一个Cα原子和不连续域蛋白第一部分的最后一个Cα原子之间的欧氏距离;
4.3)计算当前蛋白的能量,过程如下:
4.3.1)计算连续域蛋白与不连续域蛋白中Cα原子之间的两两距离,
4.3.2)统计距离小于冲突距离阈值dclash的所有距离dc,c=1,2,...,nclash,其中nclash为冲突距离的总数量,并计算冲突距离能量值
4.3.3)统计距离小于相互作用阈值dcontact的距离数量ncontact,并计算相互作用距离能量值 其中n0相互作用的原子数量常数,其取值为0.306(l+q),l和q分别表示不连续域蛋白和连续域蛋白的序列长度;
4.3.4)计算不连续域蛋白的第一部分的最后一个Cα原子和连续域蛋白的第一个Cα原子之间的距离,并计算不连续域蛋白的第二部分的第一个Cα原子和连续域蛋白的最后一个Cα原子之间的距离,两者距离相加得到边界距离能量Eboundary;
4.3.5)计算当前蛋白与模板之间的Cα原子均方根偏差ERMSD;
4.3.6)计算当前蛋白的能量值Eold=Eclash+Econtact+Ebounday+ERMSD;
4.4)根据如下操作确定作旋转和平移,过程如下:
4.4.1)随机生成一个6维的向量v=(v1,v2,…,v6),其中vj,j=1,2,...,6为向量v的第j维元素,且取值为0和1之间的随机数;
4.4.2)确定旋转轴z=(z1,z2,z3),其中 z3=θ,且θ=1-2v1, φ=2πv2;
4.4.3)根据旋转角γ=2v3-1确定旋转矩阵u:其中,ust,s=1,2,3,t=1,2,3表示旋转矩阵的第s行的第t个元素;
4.4.4)确定平移向量p=(p1,p2,p3),其中ps=0.3(2vs+3-1),s=1,2,3为平移向量的第s维元素;
4.4.5)以连续域蛋白的第一个Cα原子 为旋转点,对所有Cα原子作旋转和平移操作:其中, 表示连续域蛋白的第m个Cα原子的第s维坐标s=1,2,3;
4.4.6)根据步骤4.3)计算当前蛋白的能量函数值Enew;
4.4.7)如果Enew<Eold,则接受当前组装结构,并记Eold=Enew;
4.4.8)如果Enew≥Eold,则计算接受概率 其中e为自然对数的底数,如果0和1之间的随机数rand(0,1)小于P,则接受当前结构,并记Eold=Enew;
4.5)根据步骤4.4)进行迭代操作,直到迭代数次达到Gmax为止,并以能量最低的结构为当前模板组装的结果;
5)比较T个模板组装得到的结构的能量,选出能量最低的结构为最终组装结构。