请选择 进入手机版 | 继续访问电脑版

计算化学公社

 找回密码
 现在注册!
查看: 3685|回复: 6

[VMD] 小脚本-vmd画虚线

[复制链接]

8

帖子

0

威望

158

eV
积分
166

Level 3 能力者

发表于 2015-9-1 22:56:12 | 显示全部楼层 |阅读模式
本帖最后由 Eming 于 2019-2-12 09:05 编辑

效果见博客
http://blog.sina.cn/dpool/blog/s ... 02ve5l.html?type=-1
脚本内容,下载附件吧。根据回复建议,draw_hbonds脚本中添加了 molid的参数。
有了这个脚本你可以随便改键的形态了,可以嵌套在其他的脚本里,例如画氢键我们有时候只是希望画重原子之间的氢键,而把H隐藏掉,以便于简便观察,大家可以试试下面的这个例子
  1. #################
  2. #该处是draw_bond.tcl的一个应用举例,请下载附件中的脚本使用
  3. #draw hbonds between two selections
  4. #################
  5. # draw_hbonds: draw anything if you use draw_bond.tcl, between hydrogen donor and acceptor heavy atoms in hydrogen bonds
  6. # formed between two selections. Cutoff and angle are also specified.
  7. proc draw_hbonds {molid cutoff angle sel1text sel2text} {
  8.   set a [atomselect $molid $sel1text]
  9.   set b [atomselect $molid $sel2text]
  10.    
  11.   # get hbonds with 1 as donor and 2 as acceptor
  12.   foreach { d1 a1 h1 } [measure hbonds $cutoff $angle $a $b] break
  13.   # get hbonds wiith 2 as donor and 1 as acceptor
  14.   foreach { d2 a2 h2 } [measure hbonds $cutoff $angle $b $a] break
  15.   # combine the lists
  16.   set dhh [concat $d1 $d2]
  17.   #set hyd [concat $h1 $h2]
  18.   set acc [concat $a1 $a2]
  19.   # draw them!
  20.   draw delete all
  21.   foreach di $dhh ai $acc {
  22.     draw_bond -mol1 $molid -index1 $di -mol2 0 -index2 $ai -h_nbars 7 -h_space 1 -h_arrow 0 -h_radius 0.15 -color yellow -h_type cylinder
  23.   }
  24. }

  25. # usage example: draw_hbonds top 3.5 60 {not carbon and chain A} {not carbon and chain B}
复制代码

加载附件中的脚本,并且看看如何使用。
  1. source draw_bond.tcl
  2. draw_bond_help
复制代码
附件如下:
draw_bond.tcl (5.71 KB, 下载次数: 122)

评分

参与人数 6eV +29 收起 理由
po390 + 4 好物!
smutao + 5 好物!
yjmaxpayne + 5 好物!
captain + 5 好物!
greatzdk + 5 好物!
sobereva + 5

查看全部评分

2万

帖子

25

威望

2万

eV
积分
44985

管理员

公社社长

发表于 2015-9-1 23:02:18 | 显示全部楼层
试了下,挺好用
北京科音自然科学研究中心:http://www.keinsci.com  致力于计算化学的发展和传播,不定期开办各层次量子化学、分子动力学、波函数分析与Multiwfn程序等主题的培训。欢迎加入“北京科音”微信公众号获取培训最新消息和计算化学资讯
思想家公社QQ群,1号:18616395,2号:466017436。达5000人,专门交流理论、计算化学。两个群讨论范畴相同,可加入任意其一但不可都加入,申请信息必须注明具体研究方向,否则一概不批。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最流行的量子化学波函数分析程序)

此账号为诸Sobereva共用
Money and papers are rubbish, get a real life!

8

帖子

0

威望

158

eV
积分
166

Level 3 能力者

 楼主| 发表于 2015-9-1 23:11:27 | 显示全部楼层
本帖最后由 Eming 于 2015-9-1 23:21 编辑
sobereva 发表于 2015-9-1 23:02
试了下,挺好用

斑竹/社长 速度真快,我还没有编辑完帖子你就加分了

1

帖子

0

威望

9

eV
积分
10

Level 1 能力者

发表于 2015-11-10 01:40:49 | 显示全部楼层
学习一下,之前只是用dashed画。

88

帖子

0

威望

1589

eV
积分
1677

Level 5 (御坂)

发表于 2016-6-20 14:59:18 | 显示全部楼层
感谢分享

然后补充说明下氢键的那个脚本
draw_bond -mol1 0 -index1 $di -mol2 0 -index2 $ai -h_nbars 7 -h_space 1 -h_arrow 0 -h_radius 0.15 -color yellow -h_type cylinder
这里的-mol1  0  -mol2 0
最好改成top,最开始尝试了下,结果在半空中画线,想半天才弄明白

8

帖子

0

威望

158

eV
积分
166

Level 3 能力者

 楼主| 发表于 2016-6-20 15:58:42 | 显示全部楼层
diaok 发表于 2016-6-20 14:59
感谢分享

然后补充说明下氢键的那个脚本

如果你的molecule是的id是top的(无论是0,1还是10等)自然可以改,如果不是,还是用数字表示id比较现实啊。

8

帖子

0

威望

158

eV
积分
166

Level 3 能力者

 楼主| 发表于 2019-2-12 09:06:11 | 显示全部楼层
diaok 发表于 2016-6-20 14:59
感谢分享

然后补充说明下氢键的那个脚本

已经修改脚本,谢谢建议
您需要登录后才可以回帖 登录 | 现在注册!

本版积分规则

手机版|北京科音自然科学研究中心|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949-1号 )

GMT+8, 2019-8-26 16:34 , Processed in 0.168634 second(s), 29 queries .

快速回复 返回顶部 返回列表