计算化学公社

标题: VMD的错误measure dihed: empty atom index [打印本页]

作者
Author:
ZZU_SCU    时间: 2022-6-8 22:00
标题: VMD的错误measure dihed: empty atom index
我要统计聚合物中每一帧的二面角,脚本如下

  1. set a [atomselect top "name O1"]
  2. set l1 [$a get index]
  3. foreach ind $l1 {
  4. set b [atomselect top "name H1 and withinbonds 3 of index $ind"]
  5. set c [atomselect top "name N1 and withinbonds 2 of index $ind"]
  6. set d [atomselect top "name C4 and withinbonds 1 of index $ind"]
  7. set l2 [$b get index]
  8. set l3 [$c get index]
  9. set l4 [$d get index]
  10. set tmp [list $ind $l2 $l3 $l4]
  11. set result [measure dihed $tmp]
  12. puts "$ind $l2 $l3 $l4 $result"
  13. }
  14. puts "All Done!"
复制代码
(, 下载次数 Times of downloads: 7) 有空白数据报错,measure dihed: empty atom index就停止了。怎么忽略这些数据呢,继续运行呢?



作者
Author:
sobereva    时间: 2022-6-9 08:02
检测b、c、d是不是空的,是就跳过这一轮
作者
Author:
ZZU_SCU    时间: 2022-6-9 10:01
sobereva 发表于 2022-6-9 08:02
检测b、c、d是不是空的,是就跳过这一轮

您可以详细说一下哪些命令?我学习一下,使用了llength $tmp=4,好像不能解决问题
作者
Author:
sobereva    时间: 2022-6-10 06:55
ZZU_SCU 发表于 2022-6-9 10:01
您可以详细说一下哪些命令?我学习一下,使用了llength $tmp=4,好像不能解决问题

比如$b num,返回的数值为0就说明没选中任何原子
作者
Author:
ZZU_SCU    时间: 2022-6-10 09:16
sobereva 发表于 2022-6-10 06:55
比如$b num,返回的数值为0就说明没选中任何原子

万分感谢
作者
Author:
ZZU_SCU    时间: 2022-6-10 16:06
问题已解决。该脚本测量某一帧中所有酰胺键-NH-CO-的二面角。把最终tcl脚本放出来,请大佬批评指正,和同僚互相学习
  1. set a [atomselect top "name O1"]
  2. set myfile [open Dihedral.dat w]
  3. set l1 [$a get index]
  4. foreach ind $l1 {
  5. set b [atomselect top "name H1 and withinbonds 3 of index $ind"]
  6. set c [atomselect top "name N1 and withinbonds 2 of index $ind"]
  7. set d [atomselect top "name C4 and withinbonds 1 of index $ind"]
  8. if {[$b num]==1 && [$c num]==1 && [$d num]==1} {
  9. set l2 [$b get index]
  10. set l3 [$c get index]
  11. set l4 [$d get index]
  12. set tmp [list $ind $l2 $l3 $l4]
  13. #puts $myfile "$ind $l2 $l3 $l4"
  14. set result [measure dihed $tmp]
  15. puts $myfile "$ind $l2 $l3 $l4 $result"
  16. }
  17. }
  18. puts "All Done!"
复制代码






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