计算化学公社

 找回密码 Forget password
 注册 Register
Views: 3846|回复 Reply: 0
打印 Print 上一主题 Last thread 下一主题 Next thread

[Amber] 计算双氢键模型的个数出错

[复制链接 Copy URL]

75

帖子

0

威望

705

eV
积分
780

Level 4 (黑子)

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 退休老干部 于 2021-10-11 11:16 编辑

我先用amber里的distance和angle计算每一帧轨迹的两个分子中特定重原子之间的距离和角度,然后选取满足小于3.5埃大于120度的帧,把满足条件的帧相加,得到总帧数。(两种分子各20个),我想问问下面这个脚本写得有问题吗?我算出来结果跟预期不符,在使用distance和angle之前不需要image轨迹吧?
--------------------------------------------------------------------------------------------------------------------------------------
cat > trajin.in << EOF
parm   com.prmtop
trajin md1.crd
trajin md2.crd
trajin md3.crd
trajin md4.crd
trajin md5.crd
trajin md6.crd
trajin md7.crd
trajin md8.crd
trajin md9.crd
trajin md10.crd
EOF




let "i=1"
while [ $i -le 20 ]
do

let "j=21"
while [ $j -le 40 ]
do


cat >> trajin.in << EOF
distance name1${j}_${i} :$j@O2  :${i}@N2 out d${j}_${i}.dat   
distance name2${j}_${i} :$j@O1  :${i}@N1 out d${j}_${i}.dat   
angle    name3${j}_${i} :$j@O2  :${i}@H13  :${i}@N2 out d${j}_${i}.dat   
angle    name4${j}_${i} :$j@O1  :${i}@H12  :${i}@N1 out d${j}_${i}.dat   
EOF

let "j++"

done

let "i++"
done

cpptraj < trajin.in >trajin.out


let "i=1"
while [ $i -le 20 ]
do

let "j=21"
while [ $j -le 40 ]
do

printf "%10s%10s%10s%10s%10s" "0" "0" "0" "180" "180" >>  d${j}_${i}.dat
cat d${j}_${i}.dat |awk  'NR>1{if($2<=3.5 && $3<=3.5 && $4>=120 && $5>=120 ) {print $0}}' >${j}_${i}.dat

printf "%10d%10d" ${j} ${i} >> result
cat ${j}_${i}.dat |awk 'END{printf "%10.2f\n", NR-1 }' >> result

let "j++"
done

let "i++"
done

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-2-23 12:26 , Processed in 0.151825 second(s), 20 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list