计算化学公社

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

[建模与可视化] 分子二聚体刚性扫描的python脚本

[复制链接 Copy URL]

325

帖子

0

威望

2926

eV
积分
3251

Level 5 (御坂)

计算化学路人甲

本帖最后由 Novice 于 2025-1-10 20:00 编辑

用社长dimerscan小程序产生分子二聚体刚性扫描scan.xyz文件时,惊奇的发现分子的平移向量方向并不是严格沿着指定的两点连线的向量方向。
如下图所示,我的两个分子为平面型分子,我本来想将其沿pi平面的法线方向垂直的移动(如上图虚线方向所示),但是发现实际移动的结果却是如下图实线所示的方向:两个分子不只在垂直方向上距离发生了变化,水平方向上也发生了少量滑移。


这一结果显然不是我想要的,于是我借助AI自行折腾实现了一个能进行刚性扫描的python脚本scan_xyz.py,功能略比社长的dimerscan小程序强大,现分享出来。

此脚本有两个功能:
功能1. 严格沿着指定的两点连线的向量方向进行刚性扫描,此功能与dimerscan相似。
功能2. 根据输入文件中的部分坐标确定一个平面,然后沿着平面法线进行刚性扫描指定点与该平面的距离,此功能可以实现诸如pi-pi面间距扫描,平面上的分子与平面距离调节的扫描等。

脚本采用交互式界面,依次要求用户输入:
1.标准xyz格式的文件(含路径)名称,文件里的坐标可根据需要添加虚原子,辅助进行扫描定义;
2. 第1部分包含的原子序数,可不连续,格式为如1-5,8,9;
3. 第2部分包含的原子序数,可不连续,格式为如1-5,8,9;
4. 选择移动算法类型 : 点距离平移(对应功能1), 2: 点到面距离平移(对应功能2)
5. 点距离平移需要用户指出两个相应的点序号(空格分隔,分别位于两部分);点到面距离平移需要用户指出确定平面的原子序数(数量≥3,尽可能在一个平面,格式如1-5,8,9)以及确定点到面距离的原子的序号(单一整数)
6. 需要依次分别输入单位为埃的扫描起始距离、扫描结束距离、扫描步长。
程序运行完就会自动在工作目录产生包含每帧结构的scan.xyz文件,该文件每帧第二行对应扫描的距离。


--------------------------------
使用示例:
此脚本也算填了我自己之前挖下的一个坑,见:
Gaussian做刚性扫的输入文件如何定义两个方向的扫描变量?(http://bbs.keinsci.com/thread-12535-1-1.html)。
实现方式说明:
1. 使用功能2(
点到面距离平移)可以很容易实现pi-pi法向距离的调节,具体为,定义下面的分子(假定序号为1-24)为第1部分,并用下面蒽中的原子(全部或一部分)来确定平面将上面的蒽分子(25-48)指定为第二部分,在上面的蒽分子上任选一个原子确定点到面距离,然后就可以刚性扫描pi-pi距离。
2. 水平方向的相对滑移: 使用GV添加两个虚原子点(图中青色1和2,假定序号为49,50),然后将下面的分子和49指定为第1部分,将上面的蒽分子和50指定为第二部分,然后将49和50作为兴趣点,使用功能1(点距离平移)进行扫描。


---------------------------
P.S.
1. 文中提到的dimerscan可以从《考察SAPT能量分解的能量项随分子二聚体间距变化的简单方法》(http://sobereva.com/469)页面的链接里下载;
2. xyz2QC是社长molclus程序包中带的工具,可将方便地将含有多帧的xyz文件转换为Gaussian等程序的计算文件,具体使用和下载见molclus主页:http://www.keinsci.com/research/molclus.html
3. 代码产生时所用的AI为通义千问。

python程序源代码链接:

https://github.com/lizhiq16/py_color_draw/blob/main/scan_xyz.py







评分 Rate

参与人数
Participants 1
eV +1 收起 理由
Reason
mt13 + 1 牛!

查看全部评分 View all ratings

6万

帖子

99

威望

5万

eV
积分
120159

管理员

公社社长

2#
发表于 Post on 2025-1-11 00:20:38 | 只看该作者 Only view this author
没有你的dimerscan的输入文件,我没法判断是什么情况。dimerscan没有已知的bug
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办极高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入北京科音微信公众号获取北京科音培训的最新消息,并避免错过网上有价值的计算化学文章!
欢迎加入人气极高、专业性特别强的理论与计算化学综合交流群思想家公社QQ群(群号见此链接),合计达一万多人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大、极为流行的量子化学波函数分析程序)
Google Scholar:https://scholar.google.com/citations?user=tiKE0qkAAAAJ
ResearchGate:https://www.researchgate.net/profile/Tian_Lu

325

帖子

0

威望

2926

eV
积分
3251

Level 5 (御坂)

计算化学路人甲

3#
 楼主 Author| 发表于 Post on 2025-1-13 08:29:46 | 只看该作者 Only view this author
sobereva 发表于 2025-1-11 00:20
没有你的dimerscan的输入文件,我没法判断是什么情况。dimerscan没有已知的bug

附件为dimerscan输入文件,扫描的原子序号是40(X虚原子)和44(虚原子法线上方对应的原子)。

Trz-MeCz.txt (3.83 KB, 下载次数 Times of downloads: 2)


6万

帖子

99

威望

5万

eV
积分
120159

管理员

公社社长

4#
发表于 Post on 2025-1-14 03:48:06 | 只看该作者 Only view this author
Novice 发表于 2025-1-13 08:29
附件为dimerscan输入文件,扫描的原子序号是40(X虚原子)和44(虚原子法线上方对应的原子)。

我测试了dimerscan,没遇到你说的问题。下图是dimerscan产生的scan.xyz,对第二个片段每一帧叠加显示,肉色和青色圆球分别是40和44号原子,可以看到第二个片段就是相对于第一个片段顺着40-44连线方向刚性地移动的。




PS:为了避免视觉误差,我用了正交视角显示,而非默认的透视视角
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办极高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入北京科音微信公众号获取北京科音培训的最新消息,并避免错过网上有价值的计算化学文章!
欢迎加入人气极高、专业性特别强的理论与计算化学综合交流群思想家公社QQ群(群号见此链接),合计达一万多人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大、极为流行的量子化学波函数分析程序)
Google Scholar:https://scholar.google.com/citations?user=tiKE0qkAAAAJ
ResearchGate:https://www.researchgate.net/profile/Tian_Lu

325

帖子

0

威望

2926

eV
积分
3251

Level 5 (御坂)

计算化学路人甲

5#
 楼主 Author| 发表于 Post on 2025-1-14 08:36:54 | 只看该作者 Only view this author
sobereva 发表于 2025-1-14 03:48
我测试了dimerscan,没遇到你说的问题。下图是dimerscan产生的scan.xyz,对第二个片段每一帧叠加显示,肉 ...

我又试了一下,的确是没问题的。但是我之前不知道怎么搞的却有问题(如原帖左侧两图所示)

本版积分规则 Credits rule

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

GMT+8, 2025-8-16 14:02 , Processed in 0.266932 second(s), 24 queries , Gzip On.

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