计算化学公社

标题: 求助:请教各位老师如何得到z轴方向的氢键的数目统计 [打印本页]

作者
Author:
sj12138    时间: 2023-7-5 21:31
标题: 求助:请教各位老师如何得到z轴方向的氢键的数目统计
老师们好,我想知道gromacs hbond是否能够得到一个构型沿z轴方向的氢键的数目统计?
如果不能的话应该怎么得到这种图那?
感谢各位前辈

作者
Author:
sobereva    时间: 2023-7-6 10:01
举一反三
计算不同z位置水能形成氢键数的VMD Tcl脚本
http://sobereva.com/54
作者
Author:
sj12138    时间: 2023-7-6 15:51
sobereva 发表于 2023-7-6 10:01
举一反三
计算不同z位置水能形成氢键数的VMD Tcl脚本
http://sobereva.com/54

老师我想问一下,您教程里的
1.计算结果是帧数范围为100~150内的平均值,是什么意思那?
2.该教程是平均数,如果我不除以分子总数,是不是就是每一层的氢键数那?
作者
Author:
sobereva    时间: 2023-7-7 10:10
sj12138 发表于 2023-7-6 15:51
老师我想问一下,您教程里的
1.计算结果是帧数范围为100~150内的平均值,是什么意思那?
2.该教程是平 ...

每一帧的结果都是不同的,取时间平均


作者
Author:
chen0201    时间: 2024-1-17 10:40
sobereva 发表于 2023-7-7 10:10
每一帧的结果都是不同的,取时间平均


老师,我也是按照您的脚本内容求的一帧的H bond总数,但是数值一直没有改变,麻烦您看看。其中最后一点做了更改,不然会报错。
proc numhbavg {sel fps1 fps2} {
set selin [atomselect top $sel]
set selbig [atomselect top "same resid as exwithin 3.5 of $sel"]
set k 0.0
set nonum 0
for {set i $fps1} {$i<=$fps2} {incr i} {
$selin frame $i
$selin update
$selbig frame $i
$selbig update
if {[$selin num]!=0} {
set a [llength [lindex [measure hbonds 3.5 35 $selbig $selin] 0]]
set b [llength [lindex [measure hbonds 3.5 35 $selin $selbig] 0]]
set c [llength [lindex [measure hbonds 3.5 35 $selin] 0]]
set k [expr $k+($a+$b+2*$c)]
#puts "fps:$i $a+$b+[expr 2*$c] num_water:[expr [$selin num]/3.0] avg:[expr $k+($a+$b+2*$c)*3.0/[$selin num]]"
} else {incr nonum}
}
if {[expr $fps2-$fps1+1]==$nonum} {return "no result"}
return [expr $k/[expr $fps2-$fps1+1-$nonum]]
}

for {set i 60} {$i<=200} {incr i} {
set k [expr $i*0.1]
set now [numhbavg "same resid as solvent and x<25 and x>1 and y<24 and y>1 and z<[expr $k+0.1] and z>=$k" 0 100]
puts [format "%4.2f %4.2f %s" $k [expr $k+0.1] $now]
}




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3