计算化学公社

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

[VMD] 求助:VMD脚本输出的原子坐标与设定的范围不一致

[复制链接 Copy URL]

34

帖子

0

威望

978

eV
积分
1012

Level 4 (黑子)

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 chieko 于 2023-11-23 18:16 编辑

我对一个体系中的水(SOL)用VMD做氢键分析,我只需要measure给定范围内的水(z1-z2)形成的氢键,然后把所有氢键的供体的H原子和受体氧原子的坐标输出即可。
问题在于,输出的原子的z坐标与脚本中指定的不对应。例如下面希望水在(120,130)的z范围内,但是结果中z的范围基本上只在120-125左右。——当然我的体系中120-130部分肯定是有水的。
改变z1,z2,结果中z坐标范围也会变化至(z1,z1+5左右)的范围,很奇怪。脚本本身明明也很简单。。。
请Sob老师和大家帮我看看是怎么回事,谢谢!
脚本如下,输出文件见附件。
  1. set z1 120
  2. set z2 130
  3. set fps1 99000
  4. set fps2 100000
  5. set output "5nm_hbs_coord.txt"
  6. set outputFile [open $output "w"]

  7. for {set frame $fps1} {$frame <= $fps2} {incr frame} {
  8. animate goto $frame
  9. set selection [atomselect top "resname SOL and (z >= $z1) and (z <= $z2)"]
  10. set hbonds [measure hbonds 3.5 40 $selection]
  11. foreach hbond $hbonds {
  12.         set donor [lindex $hbond 0]
  13.         set hydrogen [lindex $bond 2]
  14.         set acceptor [lindex $hbond 1]

  15.         set h_coord [[atomselect top "index $hydrogen" frame $frame] get {x y z}]
  16.         set a_coord [[atomselect top "index $acceptor" frame $frame] get {x y z}]

  17.         set h_coord [lindex $h_coord 0]
  18.         set a_coord [lindex $a_coord 0]
  19. puts $outputFile "[format "%.3f %.3f %.3f %.3f %.3f %.3f" {*}$h_coord {*}$a_coord]"
  20.     }
  21.     $selection delete
  22. }
  23. close $outputFile
复制代码


5nm_hbs_coord.txt

123.66 KB, 下载次数 Times of downloads: 2

156

帖子

0

威望

930

eV
积分
1086

Level 4 (黑子)

2#
发表于 Post on 2023-11-24 12:07:46 | 只看该作者 Only view this author
会不会是第14行
        set hydrogen [lindex $bond 2]
这里的变量应该是$hbond。
不是很懂tcl,仅提出自己猜测。

本版积分规则 Credits rule

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

GMT+8, 2026-2-26 06:03 , Processed in 0.183944 second(s), 23 queries , Gzip On.

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