计算化学公社

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

[VMD] 谈谈VMD可视化程序的连接关系的判断和设置问题

[复制链接 Copy URL]

5万

帖子

99

威望

5万

eV
积分
112354

管理员

公社社长

谈谈VMD可视化程序的连接关系的判断和设置问题
On the determination and setting of the connection relationship in VMD visualization program

文/Sobereva@北京科音
First release: 2020-Feb-25   Last update: 2023-Dec-29


化学体系可视化程序VMD的用户越来越多,经常有人在网上问我怎么在VMD里修改键连关系,这里就专门说一下这个问题。本文内容对应于撰文时最新的VMD正式版1.9.3,对其它版本可能适用也可能不适用。


当VMD载入pdb、xyz、gro等格式的结构文件时,程序就会自动判断连接关系。判断规则和Multiwfn、GaussView等程序类似,都是根据两个原子间距离以及这两个原子半径之和来判断的,参看此文的相关说明:《谈谈原子间是否成键的判断问题》(http://sobereva.com/414)。VMD里默认的line方式,以及常用的CPK、Licorice等显示风格都是根据连接关系显示的。

具体来说,若原子间距离小于两个原子半径之和的0.6倍就会被VMD视为成键。原子半径是VMD内置的,大部分是Bondi范德华半径。元素的默认半径没法在VMD图形界面里或配置文件里改,但载入结构后可以通过命令行改特定原子的半径。

如果两个原子间没有被判断为成键,但你希望让它们之间显示键,就选择Mouse - Add/Remove Bonds,然后点击这两个原子的正中心,它们就连上了。如果你点击两个已经成键的原子,它们之间的键就会被去掉。

在你点击原子时,VMD会自动给你点击的原子加上标签并显示在图上,如果不想显示,就按键盘上的1键,再点击有标签的原子,标签就被隐藏了。如果你想把一批标签都隐去或者彻底删掉,就进入Graphics - Labels,按住鼠标左键选中一批,然后点Hide按钮就可以隐藏,点Delete按钮就可以删掉。如果想让批量删除标签的操作尽可能省事,对于Windows版VMD,你可以在VMD目录下的vmd.rc里加入如下内容
proc da {} {
label delete Atoms all
}

启动VMD后,随时都可以在文本窗口里输入自定义命令da来删除所有原子标签。

如果有很多同类的键,它们的连接关系判断得都和你要求的不符,一个一个靠鼠标点击来修改连接关系很麻烦。此时可以在Graphics - Representation界面里把Drawing Method改为DynamicBonds,这代表基于当前结构实时判断成键并显示,判断阈值可以用旁边的Distance Cutoff控件来修改,恰当改成令显示的连接方式满足你要求的情况即可。但这种显示方式有个缺点就是不显示原子球,而只显示键,而且键是空心的,很不好看。因此为了让原子球也显示出来,你可以点Add Rep增加一个Representation,把Drawing Method设成VDW,并且把Sphere Scale改小到合适。

有的时候在用DynamicBonds方式显示时,通过调节Distance Cutoff虽然让A-B之间键连方式满足要求了,但同时C-D之间的连接方式变得却与期望的不符了,这种时候就需要灵活变通,多设几个Representation,每个都恰当用不同的选择语句选定绘制的区域(参考《VMD里原子选择语句的语法和例子》http://sobereva.com/504),并用恰当的Drawing Method和参数设定,从而让显示出的效果叠加起来正好满足你的要求。

有的文件格式包含了连接关系信息。比如AMBER、NAMD的拓扑文件都可以被VMD载入,载入的时候就相当于提供了连接关系了,之后再往这个ID里载入结构文件或轨迹时也因此都是按照拓扑文件里的连接关系来显示。VMD虽然不能载入GROMACS的拓扑文件,但是如果安装了http://bbs.keinsci.com/thread-37839-1-1.html中提供的tpr插件的话,载入GROMACS的tpr时也会从中读取正确的连接关系。还有的结构文件格式自己也带了连接关系段落,典型的就是mol2格式(mol格式也有,但VMD不能载入),相减《谈谈记录化学体系结构的mol2文件》(http://sobereva.com/655)。你用文本编辑器打开它的话,会看到@<TRIPOS>BOND字段,这部分记录的是键的形式,诸如5 3 27 2就代表这是第5号键,对应3与27原子间的双键。当VMD载入mol2格式文件的时候,就不会自动根据结构来判断连接关系,而是直接用文件里的连接关系。pdb格式里有个CONECT字段,也是记录连接关系用的,但是VMD并不会采用这里的连接关系。如果你想让VMD直接利用这里的连接关系,方法看《使VMD根据pdb文件中的CONECT字段设定原子连接关系》(http://sobereva.com/121)。

在GaussView里可以编辑键连关系,而且从GaussView 6开始,可以自定义不同元素之间成键的判断阈值,这在前述的《谈谈原子间是否成键的判断问题》文中已经说过了。改过之后只点击Edit - Rebond就可以按照用户自定义的阈值重新判断成键,因此在批量修改特定类型元素间的成键方式的时候比较方便。GaussView可以保存mol2格式的文件,里面的连接关系信息正对应于你在GaussView图形界面里当前看到的。因此,可以先让GaussView正确显示出你期望的连接关系,保存成mol2文件,再用VMD读取,此时VMD里显示的连接关系就和GaussView里精确一致了。

注意VMD里没法以GaussView的风格来显示双键、三键等成键形式。比如载入VMD的mol2文件离记录了某两个原子间形成的是二重键,但在VMD的Line、CPK、Licorice显示风格显示时看起来和单键一样。VMD的Bonds显示风格倒是能区分形式键级,但双键和三键分别是以两个、三个套筒形式显示的,非常难看,没实际意义。

VMD自身也可以保存mol2文件,因此你在VMD里通过Add/Remove bonds好不容易把连接关系改合适后,不妨通过File - Save coordinate功能保存成mol2文件,以后再次显示时就免得再修改一遍了。

常有人问我怎么载入动力学轨迹后,虽然第一帧的成键方式正确,但播放轨迹时成键方式有时连得乱七八糟,甚至跨越盒子。这是因为如前所述,连接关系要么是从拓扑文件里读取的(比如看Amber轨迹前要载入拓扑文件),要么是载入结构文件时自动判断的(比如看GROMACS轨迹前通常要载入与模拟体系原子信息对应的gro或pdb文件),或者是根据轨迹文件的第一帧结构判断的(比如载入molclus、xtb程序产生的多帧xyz文件),之后再载入轨迹或播放轨迹时都不会改变连接关系。由于动力学过程中可能发生分子解离、异构化,或者由于周期边界条件的原因分子时而完整时而被盒子截断,因此内存里记录的连接关系列表可能对于轨迹的某些帧并不适用,极度影响正常观看。像这种情况,可以用DynamicBonds显示方式,这样就会按照当前帧的坐标实时判断成键并显示(但并不会改写内存里的连接关系列表);但如果你想用其它显示方式,就得让VMD根据当前这一帧的结构重新判断连接关系并改写内存里的连接关系列表,做法是在文本窗口输入mol bondsrecalc all; topo retypebonds。此时连接关系就是满足当前这一帧的情况了,而对其它帧可能就不适合了。为了方便,你可以定义重新判断连接关系的快捷键,甚至可以让VMD自动对每一帧实时判断连接关系,做法见《VMD初始化文件(vmd.rc)我的推荐设置》(http://sobereva.com/545)。

如果你想把当前内存里的连接关系列表以文本方式显示出来,就在文本窗口输入[atomselect top all] getbonds,输出的信息比如
{1 2 3 4 7} 0 0 0 {5 6 7 0} 4 4 {4 0}
这是个列表,里面共有8个成员(有的成员自身就是个列表),对应体系一共8个原子的成键情况,比如第0号原子与1、2、3、4、7成键,第2号原子与第0号原子成键,第3号原子也与第0号原子成键...注意这体现的是连接关系,而非键级。

连接关系也可以从自行提供的列表里读取。比如运行
[atomselect top all] setbonds {{1 2 3 4 7} 0 0 0 {5 6 7 0} 4 4 {4 0}}
就代表把当前体系的连接关系改成{1 2 3 4 7} 0 0 0 {5 6 7 0} 4 4 {4 0}所定义的。

评分 Rate

参与人数
Participants 3
eV +13 收起 理由
Reason
DZW + 4
朙天儿 + 5
lijiayisjtu + 4 好物!

查看全部评分 View all ratings

北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口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!

117

帖子

0

威望

1953

eV
积分
2070

Level 5 (御坂)

2#
发表于 Post on 2020-4-1 18:10:26 | 只看该作者 Only view this author
用GMX跑完动力学并用trjconv修正完轨迹后,经常会出现一些分子的绝大部分原子都在盒子外边(分子是完整的),在VMD中用pbc wrap指令倒是可以把所有原子都对称到盒子内部,但是分子又不完整了。请问SOB老师,有没有办法让大部分原子在盒子内部并且还能保持分子完整呢?
谢谢。

175

帖子

0

威望

3867

eV
积分
4042

Level 6 (一方通行)

3#
发表于 Post on 2020-4-1 19:36:16 | 只看该作者 Only view this author
请问怎么更改VMD可视化氢键判断默认设定,每次都得重新设角度和距离,烦心

5万

帖子

99

威望

5万

eV
积分
112354

管理员

公社社长

4#
 楼主 Author| 发表于 Post on 2020-4-4 05:09:32 | 只看该作者 Only view this author
azero 发表于 2020-4-1 19:36
请问怎么更改VMD可视化氢键判断默认设定,每次都得重新设角度和距离,烦心

选择file - log tcl commands to console,在界面里修改一下阈值,然后把终端里显示的命令恰当加入vmd.rc里
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口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!

5万

帖子

99

威望

5万

eV
积分
112354

管理员

公社社长

5#
 楼主 Author| 发表于 Post on 2020-4-4 05:10:44 | 只看该作者 Only view this author
wanlichuan 发表于 2020-4-1 18:10
用GMX跑完动力学并用trjconv修正完轨迹后,经常会出现一些分子的绝大部分原子都在盒子外边(分子是完整的) ...

应当不会有“绝大部分”在外面
gmx用-pbc mol方式处理后,当分子质心越过了盒子,才会被弄到另一头去
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口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!

117

帖子

0

威望

1953

eV
积分
2070

Level 5 (御坂)

6#
发表于 Post on 2020-4-4 10:41:47 | 只看该作者 Only view this author
谢谢社长,是我在处理轨迹的时候参数设置不完整。

193

帖子

0

威望

4228

eV
积分
4421

Level 6 (一方通行)

7#
发表于 Post on 2021-4-15 14:41:34 | 只看该作者 Only view this author
社长,请问能不能解释下{1 2 3 4 7} 0 0 0 中 0 的个数表示什么?
eureka

5万

帖子

99

威望

5万

eV
积分
112354

管理员

公社社长

8#
 楼主 Author| 发表于 Post on 2021-4-16 09:18:29 | 只看该作者 Only view this author
Frank 发表于 2021-4-15 14:41
社长,请问能不能解释下{1 2 3 4 7} 0 0 0 中 0 的个数表示什么?

setbonds后面跟着每个原子的成键列表。当前说明1、2、3号原子都与第0号原子成键
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口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!

193

帖子

0

威望

4228

eV
积分
4421

Level 6 (一方通行)

9#
发表于 Post on 2021-4-16 14:31:55 | 只看该作者 Only view this author
sobereva 发表于 2021-4-16 09:18
setbonds后面跟着每个原子的成键列表。当前说明1、2、3号原子都与第0号原子成键

不好意思还是有点不明白,您说“第0号原子与1、2、3、4、7成键” 但是列表是{1 2 3 4 7} 0 0 0,这个不应该是{1 2 3 4 7} 0 0 0 0 0 吗?还是说“第0号原子与1、2、3、4、7成键” 这句话和上面的{1 2 3 4 7} 0 0 0是分开说的?
eureka

5万

帖子

99

威望

5万

eV
积分
112354

管理员

公社社长

10#
 楼主 Author| 发表于 Post on 2021-4-21 15:36:14 | 只看该作者 Only view this author
Frank 发表于 2021-4-16 14:31
不好意思还是有点不明白,您说“第0号原子与1、2、3、4、7成键” 但是列表是{1 2 3 4 7} 0 0 0,这个不应 ...

{1 2 3 4 7} 0 0 0这里是指{1 2 3 4 7} 0 0 0 0 0 中的前一部分
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口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!

3

帖子

0

威望

39

eV
积分
42

Level 2 能力者

11#
发表于 Post on 2022-3-21 10:47:12 | 只看该作者 Only view this author
想问问sob老师,通过DynamicBonds方法得到的成键能否通过getbonds输出出来(我直接通过DynamicBonds显示成键之后使用getbonds命令无法得到相关的成键信息)?DynamicBonds这里面是不是只是修改了成键显示,但是对于实际上键的连接关系是没有发生修改的?

5万

帖子

99

威望

5万

eV
积分
112354

管理员

公社社长

12#
 楼主 Author| 发表于 Post on 2022-3-21 13:34:00 | 只看该作者 Only view this author
wenhzh 发表于 2022-3-21 10:47
想问问sob老师,通过DynamicBonds方法得到的成键能否通过getbonds输出出来(我直接通过DynamicBonds显示成 ...

不影响内部连接关系,只影响显示

如果体系不是特大的话,可以在gview里显示,在gview 6中可以自定义不同元素间成键距离的判据,视图上看没问题后保存成mol2,里面有连接关系信息,然后放到VMD里看到的连接关系将是正常的
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口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!

3

帖子

0

威望

39

eV
积分
42

Level 2 能力者

13#
发表于 Post on 2022-3-21 20:58:14 | 只看该作者 Only view this author
sobereva 发表于 2022-3-21 13:34
不影响内部连接关系,只影响显示

如果体系不是特大的话,可以在gview里显示,在gview 6中可以自定义不 ...

谢谢老师~!

4

帖子

0

威望

981

eV
积分
985

Level 4 (黑子)

14#
发表于 Post on 2022-3-23 16:29:28 | 只看该作者 Only view this author

请问VMD可以将分子的 C 和 H 原子改成球棍,重点研究的金属原子放大显示吗?
就是说有选择的改变原子半径。

5万

帖子

99

威望

5万

eV
积分
112354

管理员

公社社长

15#
 楼主 Author| 发表于 Post on 2022-3-24 15:00:02 | 只看该作者 Only view this author
Turylc 发表于 2022-3-23 16:29
请问VMD可以将分子的 C 和 H 原子改成球棍,重点研究的金属原子放大显示吗?
就是说有选择的改变原子半 ...

对关注的区域建立个新rep,用恰当的选择语句选择,专门设置显示方式就完了
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口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!

本版积分规则 Credits rule

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

GMT+8, 2024-11-24 00:00 , Processed in 0.205859 second(s), 29 queries , Gzip On.

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