计算化学公社

标题: 用于代替柔性扫描+过渡态自动搜索的Python脚本(解决RedCar failed问题 [打印本页]

作者
Author:
peifanli    时间: 6 hour ago
标题: 用于代替柔性扫描+过渡态自动搜索的Python脚本(解决RedCar failed问题
在做丝氨酸蛋白酶催化机理的QM计算时,需要扫描质子从SER-OG转移到HIS-NE2的过程来寻找过渡态初猜。使用Gaussian的opt=(modredundant)柔性扫描功能时,反复遇到以下报错:
New curvilinear step failed
RedCar failed.

尝试过改变原子冻结方式,扫描步数、步长,调整结构等方法依然不能解决,或者换其他结构时仍反复出现。
看到sob老师说将每一步做限制性优化,以此为灵感写了本脚本。
脚本功能
使用方法:只需修改脚本顶部的用户配置区,填写gjf文件路径、两个原子编号、目标距离和步长,其余全自动处理。在终端输入python运行命令即可。

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


作者
Author:
wal    时间: 6 hour ago
不错的脚本。提个问题点:如果你的目的是柔性扫描,那么过程中每一步除了待扫描的坐标以外,周围的基团也是在做调整的,所以如果你以初始结构一次拉到底,可能会出现(1)后期的点,一些原子直接撞上。撞车的基团理论上应该随着柔性扫描步进而不断调整构象(2)跨过了一些本来不该跨过的能垒形成产物。
可能比较抽象,我举个例子,假如六螺烯能找到一些反应坐标扫描翻转过渡态,那你扫到一半的时候两个苯环百分之百撞车
作者
Author:
peifanli    时间: 5 hour ago
wal 发表于 2026-4-27 17:19
不错的脚本。提个问题点:如果你的目的是柔性扫描,那么过程中每一步除了待扫描的坐标以外,周围的基团也是 ...

好像明白您的意思了,我根据初始坐标生成了一系列输入文件。但其实应该等上一步结束后再提取坐标,写输入文件。谢谢您的意见
作者
Author:
wal    时间: 5 hour ago
peifanli 发表于 2026-4-27 18:02
好像明白您的意思了,我根据初始坐标生成了一系列输入文件。但其实应该等上一步结束后再提取坐标,写输入 ...

对,就是这个意思。顺便也应该guess=read读一下波函数,不然对于某些体系可能收敛歪出去
作者
Author:
Daniel_Arndt    时间: 2 hour ago
我一般会用Gaussian 16里的generalized internal coordinates来实现这种scan。如果scan的结果还不行的话,我会考虑用ORCA的NEB功能。
作者
Author:
peifanli    时间: 1 hour ago
wal 发表于 2026-4-27 18:06
对,就是这个意思。顺便也应该guess=read读一下波函数,不然对于某些体系可能收敛歪出去

guess=read脚本里有的,每新的一步都会读前一步的波函数
作者
Author:
peifanli    时间: 1 hour ago
Daniel_Arndt 发表于 2026-4-27 20:48
我一般会用Gaussian 16里的generalized internal coordinates来实现这种scan。如果scan的结果还不行的话, ...

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




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3