计算化学公社

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

[Gaussian/gview] 用于代替柔性扫描+过渡态自动搜索的Python脚本(解决RedCar failed问题

[复制链接 Copy URL]

5

帖子

1

威望

51

eV
积分
76

Level 2 能力者

跳转到指定楼层 Go to specific reply
#
在做丝氨酸蛋白酶催化机理的QM计算时,需要扫描质子从SER-OG转移到HIS-NE2的过程来寻找过渡态初猜。使用Gaussian的opt=(modredundant)柔性扫描功能时,反复遇到以下报错:
New curvilinear step failed
RedCar failed.

尝试过改变原子冻结方式,扫描步数、步长,调整结构等方法依然不能解决,或者换其他结构时仍反复出现。
看到sob老师说将每一步做限制性优化,以此为灵感写了本脚本。
脚本功能
  • 从gjf文件自动读取坐标(支持带冻结标志的5列格式)
  • 根据两原子初始距离和目标距离自动计算扫描步数
  • 依次提交每步约束优化,实时输出能量
  • 扫描完成后自动判断能量拐点(要求左右两侧能量均低于该点)
  • 找到拐点后自动生成并提交过渡态搜索输入(可自定义,代码)
  • 自动检查TS搜索结果:虚频数量、是否收敛、是否报错
使用方法:只需修改脚本顶部的用户配置区,填写gjf文件路径、两个原子编号、目标距离和步长,其余全自动处理。在终端输入python运行命令即可。

本人没有系统学过计算机编程,若使用过程中有问题欢迎批评并交流

1.png (168.43 KB, 下载次数 Times of downloads: 1)

1.png

Generate_scan_steps_TS.py

10.4 KB, 下载次数 Times of downloads: 5

评分 Rate

参与人数
Participants 1
威望 +1 收起 理由
Reason
sobereva + 1

查看全部评分 View all ratings

5

帖子

1

威望

51

eV
积分
76

Level 2 能力者

6#
 楼主 Author| 发表于 Post on yesterday 21:35 | 只看该作者 Only view this author
Daniel_Arndt 发表于 2026-4-27 20:48
我一般会用Gaussian 16里的generalized internal coordinates来实现这种scan。如果scan的结果还不行的话, ...

之前用ORCA的NEB太慢了,不知道是不是我设置有问题,后来体系一百多个原子的时候没再用过,怕算不动

5

帖子

1

威望

51

eV
积分
76

Level 2 能力者

5#
 楼主 Author| 发表于 Post on yesterday 21:34 | 只看该作者 Only view this author
wal 发表于 2026-4-27 18:06
对,就是这个意思。顺便也应该guess=read读一下波函数,不然对于某些体系可能收敛歪出去

guess=read脚本里有的,每新的一步都会读前一步的波函数

530

帖子

1

威望

2471

eV
积分
3021

Level 5 (御坂)

4#
发表于 Post on yesterday 20:48 | 只看该作者 Only view this author
我一般会用Gaussian 16里的generalized internal coordinates来实现这种scan。如果scan的结果还不行的话,我会考虑用ORCA的NEB功能。

810

帖子

15

威望

3485

eV
积分
4595

Level 6 (一方通行)

鸩羽

3#
发表于 Post on yesterday 18:06 | 只看该作者 Only view this author
peifanli 发表于 2026-4-27 18:02
好像明白您的意思了,我根据初始坐标生成了一系列输入文件。但其实应该等上一步结束后再提取坐标,写输入 ...

对,就是这个意思。顺便也应该guess=read读一下波函数,不然对于某些体系可能收敛歪出去
某不知名实验组从苞米地里长出来的计算选手

5

帖子

1

威望

51

eV
积分
76

Level 2 能力者

2#
 楼主 Author| 发表于 Post on yesterday 18:02 | 只看该作者 Only view this author
wal 发表于 2026-4-27 17:19
不错的脚本。提个问题点:如果你的目的是柔性扫描,那么过程中每一步除了待扫描的坐标以外,周围的基团也是 ...

好像明白您的意思了,我根据初始坐标生成了一系列输入文件。但其实应该等上一步结束后再提取坐标,写输入文件。谢谢您的意见

810

帖子

15

威望

3485

eV
积分
4595

Level 6 (一方通行)

鸩羽

楼主
发表于 Post on yesterday 17:19 | 只看该作者 Only view this author
不错的脚本。提个问题点:如果你的目的是柔性扫描,那么过程中每一步除了待扫描的坐标以外,周围的基团也是在做调整的,所以如果你以初始结构一次拉到底,可能会出现(1)后期的点,一些原子直接撞上。撞车的基团理论上应该随着柔性扫描步进而不断调整构象(2)跨过了一些本来不该跨过的能垒形成产物。
可能比较抽象,我举个例子,假如六螺烯能找到一些反应坐标扫描翻转过渡态,那你扫到一半的时候两个苯环百分之百撞车
某不知名实验组从苞米地里长出来的计算选手

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

GMT+8, 2026-4-28 01:00 , Processed in 0.877359 second(s), 27 queries , Gzip On.

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