3.6 jarzynski PMF

  • 85.9 /home/databank/zzy/project/smd/hiv-1/smd3/jarzynski-pmf/B439-test/jarzynski-PMF-test.ipynb
晚上经师姐指导,不该对W进行积分,就是要算随着cv,W的变化,那其实就是每一个 dx 算一个W就好
SMD就是用来获取解离路径,预测大致的过渡态,每一个极大值点一般上对应着关键相互作用的破坏

输入数据

85.9 v100

单次SMD模拟测试

  • # 85.9 /home/databank/zzy/project/smd/hiv-1/smd3/jarzynski-pmf/test
  • cp ../../10_repeat_v_0.01/B439/1/*xvg ./
  • sed '/^#/d' smd_pullx.xvg|sed '/^@/d' |awk '{print $1}' >timestep
  • sed '/^#/d' smd_pullx.xvg|sed '/^@/d' |awk '{print $2}' >distance
  • sed '/^#/d' smd_pullf.xvg|sed '/^@/d' |awk '{print $2}' >force

  • # 组合三个数据,统一行数
  • # 删除牵引力为负值的行
  • # 确保distance单调递增
  • # 计算dx,删除第一行(dx为空)

  • paste -d ' ' timestep distance force|awk '$3 !=""'|awk 'NR==1 {print $0, "Diff"; prev=$2; next} {diff = $2 - prev; print $0, diff; prev=$2}'|sed '1d'|awk '$2 > 0{print}'|awk '$4 > 0{print}' >../test.txt

  • paste -d ' ' timestep distance force|awk '$3 !=""'|awk '$3 > 0{print}'|awk 'NR==1 { print; prev = $2; next } { if ($2 > prev) { print; prev = $2 } }'|awk 'NR==1 {print $0, "Diff"; prev=$2; next} {diff = $2 - prev; print $0, diff; prev=$2}'|sed '1d'>../test.txt

10次SMD(v=0.01nm/ps)

  • # 85.9 /home/databank/zzy/project/smd/hiv-1/smd3/jarzynski-pmf/10smd-v_0.01
  • for i in {1..10};do mkdir -p $i;cp ../../10_repeat_v_0.01/B439/$i/*xvg ./$i/;done

  • mkdir clean
  • cd clean
  • # 得到第一列 timestep 单位 ps
  • for i in {1..10};do sed '/^#/d' ../$i/smd_pullx.xvg|sed '/^@/d' |awk '{print $1}' >timestep${i};done
  • # 得到第2-11列 配体质心移动距离
  • for i in {1..10};do sed '/^#/d' ../$i/smd_pullx.xvg|sed '/^@/d' |awk '{print $2}' >distance${i};done
  • # 得到第12-21列 牵引力
  • for i in {1..10};do sed '/^#/d' ../$i/smd_pullf.xvg|sed '/^@/d' |awk '{print $2}' >force${i};done

  • for i in {1..10};do paste -d ' ' timestep${i} distance${i} force${i}|awk '$3 !=""'|awk '$3 > 0{print}'|awk 'NR==1 { print; prev = $2; next } { if ($2 > prev) { print; prev = $2 } }'|awk 'NR==1 {print $0, "Diff"; prev=$2; next} {diff = $2 - prev; print $0, diff; prev=$2}'|sed '1d'>../exp${i}_v-0.01.txt;wc -l ../exp${i}_v-0.01.txt;done

10次SMD(v=0.001nm/ps)

  • # 85.9 /home/databank/zzy/project/smd/hiv-1/smd3/jarzynski-pmf/10smd-v_0.001
  • for i in {1..10};do mkdir -p $i;cp ../../10_repeat_v_0.001/B439/$i/*xvg ./$i/;done

  • mkdir clean
  • cd clean
  • # 得到第一列 timestep 单位 ps
  • for i in {1..10};do sed '/^#/d' ../$i/smd_pullx.xvg|sed '/^@/d' |awk '{print $1}' >timestep${i};done
  • # 得到第2-11列 配体质心移动距离
  • for i in {1..10};do sed '/^#/d' ../$i/smd_pullx.xvg|sed '/^@/d' |awk '{print $2}' >distance${i};done
  • # 得到第12-21列 牵引力
  • for i in {1..10};do sed '/^#/d' ../$i/smd_pullf.xvg|sed '/^@/d' |awk '{print $2}' >force${i};done

  • for i in {1..10};do paste -d ' ' timestep${i} distance${i} force${i}|awk '$3 !=""'|awk '$3 > 0{print}'|awk 'NR==1 { print; prev = $2; next } { if ($2 > prev) { print; prev = $2 } }'|awk 'NR==1 {print $0, "Diff"; prev=$2; next} {diff = $2 - prev; print $0, diff; prev=$2}'|sed '1d'>../exp${i}_v-0.001.txt;wc -l ../exp${i}_v-0.001.txt;done

取平均