计算化学公社

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

[波函数分析交流] 利用VMD批量实现键级的自动标注

[复制链接 Copy URL]

89

帖子

1

威望

1264

eV
积分
1373

Level 4 (黑子)

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 luzujia 于 2024-5-25 20:44 编辑

研究了一下怎么批量实现键级的自动标注,在此整理向大家分享。(虽然有这个需求的小伙伴应该不多,但万一有用呢)

好像没有任何的可视化程序可以直接显示分子的键级,受社长利用原子显示静电势表面极值点的方法的启发,实现了基于VMD的键级自动标注。

步骤:
1. 首先要有一个键级列表文件,我的命名格式为[mol]_bond_BO.txt,文件的结构如下:



第一列是化学键,第三列是键级,第二列是键长,并没有什么用,写成这种格式是“历史原因”。这个文件我是用脚本从Multiwfn里输出的键级记录文件bndmat.txt里读的,基本思路是先从高斯输出文件里读键连关系,再去bndmat.txt里找相应的键级。这个脚本也给了,就是附件里的geom.sh。从名字可以看出来,这个脚本原来是用来从高斯输出文件里读键长、键角、二面角的。不带参数执行会输出如下的使用说明



简单解释一下,i/o分表代表”读初始结构/读最后一帧结构”,<B/A/D/T>分别代表输出”键长/键角/二面角/全部”,如果第三个参数是一个文件那就会去读键级。在我的例子中,执行“geom.sh ske100.out i bndmat.txt”就得到ske100_bond_BO.txt。在后面的bo_visual.sh和showchrg.vmd两个脚本中,都是按这个规则去找相对应的文件的。所以要注意文件名命名格式,或者改脚本以符合你的习惯。同理,我定义键级文件是3列的,如果你用自己的方法得到的没有键长这一列,要嘛随便填点东西占位,要嘛改脚本。

2. 把分子结构文件转为mol2格式,我是用Open Babel把高斯输出文件转成mol2文件。命令为“obabel -ig98 input_file -omol2 -O output_file”。


3. 用bo_visual.sh生成mol2文件对应的“键级点”文件[mol]_bo.mol2。我进行自动标注的思路是在每个键的中心点定义一个原子(就叫做键级点吧),把键级写到原子电荷的位置(@<TRIPOS>ATOM字段的最后一列),然后用vmd同时载入分子结构文件和键级点文件,然后显示键级点的原子电荷,这就实现了自动标注键级的作用。


4. 把所有的[mol].mol2、[mol]_bo.mol2文件和附件里的showchrg.vmd、showchrg.tcl脚本都拷到VMD文件夹里。在VMD命令行窗口输入“source showchrg.vmd”就会对所有分子进行批量键级标注。效果如下:


图中红色的点表示该键的键级最小,特别用不同元素作了标识。VMD默认的原子标签是绿色的,如果想用别的颜色(像这个例子改成了紫色),就按“Graphics--Colors--Labels--Atoms--Colors”在VMD里设置完再运行脚本。


5. 把多张图片排版合并成大图。这是个人的需求,让gpt写了个python脚本实现这个功能,我觉得还挺方便的,也在此分享出来(附件里的image_grids.py,要安装Pillow模块:“pip install pillow”)。先用IrfanView批量裁去白边,再调用image_grids.py进行排版,命令为“python image_grids.py/path/to/images output_grid --rows 3 --cols 3 --add_labels --font_path/path/to/arial.ttf --font_size 24 --h_spacing 10 --v_spacing 10”。可以定义每行和每列放几个,在每个小图下标注其对应的文件名,还可以定义字体(直接用系统自带的字体,如C:/Windows/Fonts/arial.ttf)、还能定义横向和纵向间距。最后效果如下,效果嘛,只能说差强人意吧。





脚本.rar

4.98 KB, 下载次数 Times of downloads: 18

评分 Rate

参与人数
Participants 6
威望 +1 eV +21 收起 理由
Reason
djjj148 + 5 好物!
xiaoxinyu-bhu + 1 谢谢
wsz + 5 赞!
Gzh_NJ + 5 谢谢
Yjc + 5 GJ!
sobereva + 1

查看全部评分 View all ratings

5万

帖子

99

威望

5万

eV
积分
112496

管理员

公社社长

2#
发表于 Post on 2024-5-26 04:38:59 | 只看该作者 Only view this author
好像没有任何的可视化程序可以直接显示分子的键级

之前我介绍过用GaussView实现的方式
将Multiwfn计算的键级直接标注在分子结构图上的方法
http://sobereva.com/523http://bbs.keinsci.com/thread-15658-1-1.html

评分 Rate

参与人数
Participants 1
eV +2 收起 理由
Reason
luzujia + 2 谢谢社长

查看全部评分 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!

343

帖子

1

威望

7002

eV
积分
7365

Level 6 (一方通行)

3#
发表于 Post on 2024-5-26 12:29:25 | 只看该作者 Only view this author
谢谢楼主的分享!

110

帖子

0

威望

1083

eV
积分
1193

Level 4 (黑子)

4#
发表于 Post on 2024-5-31 16:00:05 | 只看该作者 Only view this author
本帖最后由 anlancx 于 2024-5-31 17:00 编辑

1.geom.sh ske100.out i bndmat.txt 这里为什么是i,而不是o呢?
2.为什么最后用vmd生成图片的时候那么小呢?好模糊

89

帖子

1

威望

1264

eV
积分
1373

Level 4 (黑子)

5#
 楼主 Author| 发表于 Post on 2024-6-3 15:35:45 | 只看该作者 Only view this author
anlancx 发表于 2024-5-31 16:00
1.geom.sh ske100.out i bndmat.txt 这里为什么是i,而不是o呢?
2.为什么最后用vmd生成图片 ...

1. i和o都可以,因为只读取键连关系,读哪一帧都可以
2. 我的参数是按照自己的体系调的,可能不适合你的体系。你可以分别在showchrg.tcl里的“label textsize 0.5”调节字体大小,在showchrg.vmd里的“scale to 0.15”调节分子的大小,其它的参数也都可以调,主要在showchrg.vmd里定义。

本版积分规则 Credits rule

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

GMT+8, 2024-11-27 06:49 , Processed in 0.240710 second(s), 28 queries , Gzip On.

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