|||
Using VMD to rotate the protein so as to it's vertical to z axis.
you need to get the v by vector.sh.
vector.sed must be prepared for calling.
the symmstry here is four monomers, however three points define one surface.
the resid need to reconfigure in vector.sed to get the v.
其中vector.sh:
#!/bin/sh bash #used to give out the vector of your protein. #for the purpose that an equilibrium will be got more quickily #you can get the vector vetical to dirction of the membrane plane. #if you want to change the residue for calculating,please open vector.sed and change it correspondently. sed '1d;2d;$d' start.gro >temp1 sed -f vector.sed temp1 1>log paste aa1 aa2 aa3 aa4>temp2 # x1,x2,x3 awk '{print (($11-$5)*($18-$6)-($17-$5)*($12-$6))/(($10-$4)*($17-$5)-($11-$5)*($16-$4)),(($10-$4)*($18-$6)-($16-$4)*($12-$6))/(($11-$5)*($16-$4)-($10-$4)*($17-$5)),1}' temp2 >temp3 # x2,x3,x4 awk '{print (($17-$11)*($24-$12)/($23-$11)-($18-$12))/(($16-$10)-($17-$11)*($22-$10)/($23-$11)),(($16-$10)*($24-$12)-($22-$10)*($18-$12))/(($17-$11)*($22-$10)-($16-$10)*($23-$11)),1}' temp2 >>temp3 # x3 x4 x1 awk '{print (($23-$17)*($6-$18)-($5-$17)*($24-$18))/(($22-$16)*($5-$17)-($23-$17)*($4-$16)),(($22-$16)*($6-$18)-($4-$16)*($24-$18))/(($23-$17)*($4-$16)-($22-$16)*($5-$17)),1}' temp2 >>temp3 # x4 x1 x2 awk '{print (($5-$23)*($12-$24)-($11-$23)*($6-$24))/(($4-$22)*($11-$23)-($5-$23)*($10-$22)),(($4-$22)*($12-$24)-($10-$22)*($6-$24))/(($5-$23)*($10-$22)-($4-$22)*($11-$23)),1}' temp2 >>temp3 awk 'BEGIN {aver_x=aver_y=aver_z=0;n=0} {aver_x+=$1;aver_y+=$2;aver_z+=$3;n++} END {print aver_x/n,aver_y/n,aver_z/n}' temp3 rm temp1 rm temp2 rm temp3 rm aa[1234]
vector.sed为:
#work with vector.sh 1,1469w aa1 1470,2938w aa2 2939,4407w aa3 4408,$w aa4\0
得到方向矢量之后,在vmd里进行旋转:
set all [atomselect top all]
$all move [transvecinv v] #v={x y z}
视情况,再进行$all move [transaxis x 90]
最后$all writepdb "new.pdb"
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-22 23:55
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社