计算化学公社

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

[Multiwfn资源与经验] pyforNICS:基于python和multiwfn的NICS(1)ZZ建模和计算工具

[复制链接 Copy URL]

15

帖子

0

威望

466

eV
积分
481

Level 3 能力者

本帖最后由 yaonaite 于 2025-7-4 22:07 编辑

置顶:使用这一系列脚本时强烈建议新建工作文件夹,且其中不要放重要的东西的唯一副本。

作为专业有机化学、实验为主的研究生,总是面对一些环数很多的稠环芳烃做计算,这就导致了NICS(1)ZZ的建模非常繁琐,总是耗费很多时间。需要一种方法来方便地进行这种机械化的建模和数据处理。考虑到同门自行建模的需求,又无法让所有同门都部署linux,就使用python结合cmd命令行和Multiwfn写了一个工具。其中最难的一个脚本,也就是根据分子结构找到环在哪里的脚本最初是由 @Infaltion 编写的。目前@Infaltion正在测试适合在linux上运行的具有相同功能的脚本(python+bash),后续计划在他的微信公众号上发布,名为 齐某的计算化学手册(我目前是这个公众号的编辑),期待大家的关注、讨论和批评。


方法主要参考:利用Multiwfn计算倾斜、扭曲环的NICS_ZZ - 思想家公社的门口:量子化学·分子模拟·二次元
部分过程思路来自:使用Multiwfn+VMD快速绘制高质量分子轨道等值面图(含视频) - 思想家公社的门口:量子化学·分子模拟·二次元
使用的Python 开发环境:PyCharm 2025.1.2。实际上多数代码是Deepseek生成的。

由于专业原因实验占时间比较长,占精力比较多,目前这版只是自用脚本,需要自行修改代码来满足不同的文件夹需求,也没有写大小写匹配,需要严格按照下文提到的尾缀和大小写命名文件,可以说非常的屎山。非常期待各位坛友的建议,但抱歉只能说之后有时间的话尽量优化。

建模:见getNICSgjf文件夹。
1.        建立一个纯英文路径的文件夹,在里面放入xx.pdb、未写入虚原子的xxNICS.gjf(xx要一致,NICS要大写)。可以有很多组,但要一一对应。
2.        把所有脚本都放到同一个目录下,运行getNICSgjf.py,成功得到需要的xxNICS.gjf,注意不要运行多次,否则会写入很多组虚原子。

a.        本系列脚本设定了D:\forrings为工作文件夹,D:\Multiwfn_3.8_dev_bin_Win64为Multiwfn所在文件夹。由于是自用脚本,需要自行修改代码来满足不同的文件夹需求。
b.        如果不想删掉过程文件,注释掉getNICSgjf.py运行delNICStem.py的部分即可。delNICStem.py会删除D:\forrings文件夹下除了pdb和gjf以外的其他所有文件,以及D:\Multiwfn_3.8_dev_bin_Win64文件夹下的所有的xxNICS.bat文件,所以强烈建议新建工作文件夹,且其中不要放重要的东西的唯一副本。
c.        getNICSgjf.py中有各个脚本执行的顺序,如果需要debug可以参考。
d.        运行getNICSgjf.py需要首先建立能够下载软件包的python环境(如PyCharm),然后运行getNICSgjf.py(这样会提示下载依赖的包)。如果一定要在命令行中使用,请在cmd中使用,不要直接在windows默认的powershell命令行中使用,或者至少在打开powershell之后输入cmd回车,然后再使用。

得到高斯输出后计算NICS(1)ZZ:见calcNICS1ZZ文件夹。
1.        建立一个纯英文路径的文件夹,在里面放入xxnics.out(nics要小写)、在建模时得到的xxringsringnumbers.txt(xx要一致,此处的尾缀是建模时自动产生的,无需修改)。可以有很多组,但要一一对应。
2.        把所有脚本都放到同一个目录下,运行calcNICS1ZZ.py,成功得到后缀名为.result2的结果文件。用记事本打开即可。
3.        结果文件第一行为组成该环的原子编号,随后两行为NICS(1)ZZ和NICS(-1)ZZ,再下一行为平均值。如此四行为一组。

a.        本系列脚本设定了D:\forrings为工作文件夹,D:\Multiwfn_3.8_dev_bin_Win64为Multiwfn所在文件夹。由于是自用脚本,需要自行修改代码来满足不同的文件夹需求。
b.        如果不想删掉过程文件,注释掉calcNICS1ZZ.py运行delNICScalctem.py的部分即可。delNICScalctem.py删除的是D:\Multiwfn_3.8_dev_bin_Win64中的*nicscalc.bat和D:\forrings中的*nicscalc.result、*nicscalc.ntxt、*nicscalc.result1、*nicscalc.txt、*nicsresult.txt、*ringnumbers.txt,这个删除脚本相对安全。
c.        calcNICS1ZZ.py中有各个脚本执行的顺序,如果需要debug可以参考。
d.        运行calcNICS1ZZ.py需要首先建立能够下载软件包的python环境(如PyCharm),然后运行calcNICS1ZZ.py(这样会提示下载依赖的包)。如果一定要在命令行中使用,请在cmd中使用,不要直接在windows默认的powershell命令行中使用,或者至少在打开powershell之后输入cmd回车,然后再使用。

pyforNICS.zip (22.08 KB, 下载次数 Times of downloads: 8)



评分 Rate

参与人数
Participants 2
eV +13 收起 理由
Reason
Infaltion + 5 好物!
sobereva + 8

查看全部评分 View all ratings

本版积分规则 Credits rule

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

GMT+8, 2025-8-12 12:17 , Processed in 0.402875 second(s), 25 queries , Gzip On.

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