请选择 进入手机版 | 继续访问电脑版
第9届北京科音分子动力学与GROMACS培训班将于4月17~20日于北京举办,请点击此链接查看培训详情,欢迎参加和相互转告!

计算化学公社

 找回密码
 现在注册!
查看: 5725|回复: 11

[VMD] 小脚本-vmd画虚线

[复制链接]

9

帖子

0

威望

187

eV
积分
196

Level 3 能力者

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

效果见博客
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, 下载次数: 207)

4种风格

4种风格

评分

参与人数 9eV +44 收起 理由
ezez + 5 赞!
GoldenBaby + 5 好物!
qmlearner + 5 好物!
po390 + 4 好物!
smutao + 5 好物!
yjmaxpayne + 5 好物!
captain + 5 好物!
greatzdk + 5 好物!
sobereva + 5

查看全部评分

2万

帖子

25

威望

3万

eV
积分
65555

管理员

公社社长+计算化学玩家

发表于 2015-9-1 23:02:18 | 显示全部楼层
试了下,挺好用
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办最高质量的各种计算化学类培训:初级量子化学培训班基础(中级)量子化学培训班分子动力学与GROMACS培训班量子化学波函数分析与Multiwfn程序培训班。这些培训是计算化学快速入门以及全面系统性提升研究水平的最佳途径,培训各种相关信息见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取培训最新消息、避免错过网上最有价值的计算化学文章!
欢迎加入人气最高、水准最高的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395(已满),2号:466017436(已满)。3号:764390338(可加),合计8000人,讨论范畴相同
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

9

帖子

0

威望

187

eV
积分
196

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画。

110

帖子

0

威望

2445

eV
积分
2555

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,最开始尝试了下,结果在半空中画线,想半天才弄明白

9

帖子

0

威望

187

eV
积分
196

Level 3 能力者

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

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

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

9

帖子

0

威望

187

eV
积分
196

Level 3 能力者

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

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

已经修改脚本,谢谢建议

40

帖子

0

威望

353

eV
积分
393

Level 3 能力者

发表于 2020-12-30 23:12:36 | 显示全部楼层
不小心画错了 draw_bond  -index1 1  -index2 3  怎么取消呢?楼主

33

帖子

1

威望

892

eV
积分
945

Level 4 (黑子)

发表于 2020-12-31 10:25:37 | 显示全部楼层
能在一个分子的不同原子之间画虚线吗?
留给自己点琢磨的时间。

9

帖子

0

威望

187

eV
积分
196

Level 3 能力者

 楼主| 发表于 2021-2-24 10:35:21 | 显示全部楼层
skdmax 发表于 2020-12-31 10:25
能在一个分子的不同原子之间画虚线吗?

完全可以,-mol1和-mol2就是用来指定哪两个分子的

24

帖子

0

威望

658

eV
积分
682

Level 4 (黑子)

发表于 2021-3-1 03:31:19 | 显示全部楼层
请问下这个脚本应该如何使用,能不能出个教程啥的,多谢。

17

帖子

0

威望

147

eV
积分
164

Level 3 能力者

发表于 2021-3-5 15:47:26 | 显示全部楼层
wgg1181543722 发表于 2020-12-30 23:12
不小心画错了 draw_bond  -index1 1  -index2 3  怎么取消呢?楼主

draw delete all
您需要登录后才可以回帖 登录 | 现在注册!

本版积分规则

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

GMT+8, 2021-4-15 06:26 , Processed in 0.293027 second(s), 28 queries .

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