计算化学公社

 找回密码 Forget password
 注册 Register
Views: 12004|回复 Reply: 12

[Gaussian/gview] 在VMD中绘制Gaussian计算的分子振动矢量的方法

[复制链接 Copy URL]

4万

帖子

99

威望

4万

eV
积分
89946

管理员

公社社长+计算化学玩家

发表于 Post on 2020-9-8 17:01:10 | 显示全部楼层 Show all |阅读模式 Reading model
在VMD中绘制Gaussian计算的分子振动矢量的方法

文/Sobereva@北京科音
First release: 2020-Sep-8    Last update: 2022-May-19


Gaussian用户观看freq任务产生的振动矢量一般都是通过GaussView看(虽然也有ChemCraft等其它一些程序也可以看)。然而,起码对于GaussView 6来说,GaussView显示振动矢量的一个很大不足是箭头太细,而且头部不够粗,导致有时候都看不清楚,放在文章里不够美观。另外,GaussView绘制分子结构的作图选项不够灵活,而且还收费。VMD是极其流行的化学体系可视化程序,免费、灵活、图像效果好,本文介绍如何通过笔者写的VMD作图脚本非常方便地绘制Gaussian的振动分析任务产生的振动矢量。VMD可以在http://www.ks.uiuc.edu/Research/vmd/免费下载。

在这里下载笔者编写的绘图脚本和示例文件:http://sobereva.com/attach/567/file.zip。此脚本至少对于目前撰文时的VMD正式版中最新的1.9.3、Gaussian 09和16是完全适用的。

这里以绘制多巴胺的振动矢量为例进行演示。把文件包里的dopamine.out放到VMD目录下,这是多巴胺的Gaussian的freq任务的输出文件。然后我们得把这个.out文件转化成一个VMD可以认的结构文件的格式,比如可以把此文件载入GaussView,然后另存为.pdb或.mol2文件。也可以下载Multiwfn(http://sobereva.com/multiwfn),启动Multiwfn后载入此文件,然后选主功能100的子功能2,通过相应选项导出为.pdb或.xyz文件。

把文件包里的drawarrow.tcl和GauNorm.tcl都放到VMD目录下,然后用文本编辑器打开GauNorm.tcl,把开头的set filename后面的文件名改为dopamine.out。之后启动VMD,把多巴胺的结构文件载入VMD,然后在文本窗口输入source GauNorm.tcl执行此脚本,此时振动矢量信息就被读入了,与此同时定义了名为norm的绘制振动矢量的命令。之后在VMD的文本窗口输入比如norm 4,就可以把4号振动模式通过箭头画出来。

norm后面还可以接第2个参数,用来设置箭头长度是正则矢量的几倍,数值越大箭头越长,默认是3。norm后面还可以接第3个参数,用来设置箭头的半径,默认为0.05。比如norm 5 6 0.07就代表用6倍长度、0.07的半径绘制第5个振动矢量。默认是用黄色绘制箭头,如果想用别的颜色,把GauNorm.tcl中的draw color后面的yellow改成其它颜色名,比如cyan。

此例输入norm 17 5,然后令分子以CPK方式显示(在Graphics - Representation里把Drawing method改为CPK,再把Sphere Scale设为0.6),效果如下,可见非常理想!和GaussView显示的相对比,可见展现的信息是相同的,而GaussView画的箭头相比之下明显太小气了。

1.png

2.png

注意GauNorm.tcl开头还有个set ilinear语句,如果当前体系是线型体系,必须把后面的值改为1。

如果你在Gaussian做freq或opt freq任务中按照《在Gaussian中做限制性优化的方法》(http://sobereva.com/404)中的做法将N个原子的笛卡尔坐标冻结了,运行source GauNorm.tcl之前必须把里面set nfreeze后面的值设为N(默认为0,没有原子被冻结)。

评分 Rate

参与人数
Participants 4
eV +17 收起 理由
Reason
lisanoid + 2 赞!
Novice + 5 好物!
kay + 5 赞!
agent99 + 5 好物!

查看全部评分 View all ratings

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

183

帖子

4

威望

1457

eV
积分
1720

Level 5 (御坂)

发表于 Post on 2020-9-8 21:34:07 | 显示全部楼层 Show all
测试了一下1.9.4阿尔法测试版,需要先unset x,就可以正常工作。

评分 Rate

参与人数
Participants 1
eV +5 收起 理由
Reason
snljty + 5 谢谢分享

查看全部评分 View all ratings

1188

帖子

5

威望

2758

eV
积分
4046

Level 6 (一方通行)

发表于 Post on 2020-9-8 22:13:49 | 显示全部楼层 Show all
本帖最后由 snljty 于 2020-9-8 22:29 编辑
liuyuje714 发表于 2020-9-8 21:34
测试了一下1.9.4阿尔法测试版,需要先unset x,就可以正常工作。

vmd这个有点儿无厘头啊,定义x为string是要闹哪样,明显x是用户非常常用的关键词吧...感觉1.9.4和1.9.3内置的tcl语法也不一样了,以前好多脚本都得改...
顺便,卢老师博文写的GauNorm.tcl,文件包里是GauNormal.tcl

4万

帖子

99

威望

4万

eV
积分
89946

管理员

公社社长+计算化学玩家

 楼主 Author| 发表于 Post on 2020-9-9 06:38:16 | 显示全部楼层 Show all
既然1.9.4有这么恶心的默认情况,脚本里新加了行if {[info exist x]} {unset x},已更新了脚本
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办最高质量的各种计算化学类培训:初级量子化学培训班基础(中级)量子化学培训班分子动力学与GROMACS培训班量子化学波函数分析与Multiwfn程序培训班,内容介绍以及往届资料购买请点击链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的最佳途径。培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取培训最新消息、避免错过网上最有价值的计算化学文章!
欢迎加入人气最高、水准最高的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人,讨论范畴相同
思想家公社的门口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!

62

帖子

0

威望

1059

eV
积分
1121

Level 4 (黑子)

发表于 Post on 2020-9-9 08:55:28 | 显示全部楼层 Show all
老师 原子标号能显示出来吗 我见您的图中没有

100

帖子

0

威望

1859

eV
积分
1959

Level 5 (御坂)

发表于 Post on 2020-9-9 09:34:13 | 显示全部楼层 Show all
sob老师,频率类似63.89的,该如何输入呢?刚才测试了一下,提示can't read "x(1,63.89)": no such element in array

1061

帖子

16

威望

5786

eV
积分
7167

Level 6 (一方通行)

計算化学の社畜

发表于 Post on 2020-9-9 09:52:40 | 显示全部楼层 Show all
kay 发表于 2020-9-9 09:34
sob老师,频率类似63.89的,该如何输入呢?刚才测试了一下,提示can't read "x(1,63.89)": no such element ...

输入振动模式的编号,不是其频率
Stand on the shoulders of giants

100

帖子

0

威望

1859

eV
积分
1959

Level 5 (御坂)

发表于 Post on 2020-9-9 10:26:10 | 显示全部楼层 Show all
冰释之川 发表于 2020-9-9 09:52
输入振动模式的编号,不是其频率

好的,谢谢冰老师,误以为输入频率了

4万

帖子

99

威望

4万

eV
积分
89946

管理员

公社社长+计算化学玩家

 楼主 Author| 发表于 Post on 2020-9-10 03:56:45 | 显示全部楼层 Show all
Peter_zhong 发表于 2020-9-9 08:55
老师 原子标号能显示出来吗 我见您的图中没有

在VMD中显示原子序号的方法
http://sobereva.com/197

评分 Rate

参与人数
Participants 1
eV +3 收起 理由
Reason
Peter_zhong + 3 谢谢

查看全部评分 View all ratings

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

62

帖子

0

威望

1059

eV
积分
1121

Level 4 (黑子)

发表于 Post on 2020-10-9 15:40:54 | 显示全部楼层 Show all
sobereva 发表于 2020-9-10 03:56
在VMD中显示原子序号的方法
http://sobereva.com/197

老师 按您博文说的做,原子数多的话,标签在一侧很乱,cpk模式下,标签还被遮住了。想请问您,还有什么软件是VMD和Gaussview的结合体吗? 那样就可以使标签在原子中心不被遮挡,振动矢量又美观。谢谢老师

4万

帖子

99

威望

4万

eV
积分
89946

管理员

公社社长+计算化学玩家

 楼主 Author| 发表于 Post on 2020-10-10 00:29:35 | 显示全部楼层 Show all
Peter_zhong 发表于 2020-10-9 15:40
老师 按您博文说的做,原子数多的话,标签在一侧很乱,cpk模式下,标签还被遮住了。想请问您,还有什么软 ...

CPK下没法避免被遮挡。
只能PS

评分 Rate

参与人数
Participants 1
eV +3 收起 理由
Reason
Peter_zhong + 3 谢谢

查看全部评分 View all ratings

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

164

帖子

0

威望

591

eV
积分
755

Level 4 (黑子)

蓝卫兵

发表于 Post on 2020-12-12 05:51:31 | 显示全部楼层 Show all
前几天闲逛的时候看到了这个github项目 利用pymol来显示分子振动的动画 感觉比vmd的功能多一些
https://github.com/smutao/PyVibMS
感兴趣的小伙伴可以看一下
B样条插值
个人专栏https://zhuanlan.zhihu.com/p/21936803

4万

帖子

99

威望

4万

eV
积分
89946

管理员

公社社长+计算化学玩家

 楼主 Author| 发表于 Post on 2022-5-19 21:44:56 | 显示全部楼层 Show all
对本文的脚本进行了更新,支持了振动分析时对原子做限制的情况,已给本文加入了以下内容:
如果你在Gaussian做freq或opt freq任务中按照《在Gaussian中做限制性优化的方法》(http://sobereva.com/404)中的做法将N个原子的笛卡尔坐标冻结了,运行source GauNorm.tcl之前必须把里面set nfreeze后面的值设为N(默认为0,没有原子被冻结)。

北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办最高质量的各种计算化学类培训:初级量子化学培训班基础(中级)量子化学培训班分子动力学与GROMACS培训班量子化学波函数分析与Multiwfn程序培训班,内容介绍以及往届资料购买请点击链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的最佳途径。培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取培训最新消息、避免错过网上最有价值的计算化学文章!
欢迎加入人气最高、水准最高的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人,讨论范畴相同
思想家公社的门口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, 2023-2-6 05:14 , Processed in 0.225664 second(s), 25 queries .

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