zoukankan      html  css  js  c++  java
  • 使用gaussian和antechamber拟合RESP电荷过程

        本来觉得挺简单一操作,谁知道竟还是浪费了些时间在这(被gaussian09坑了),遂记录一下。

        拟合RESP电荷目前知道的方法有使用gaussian和antechamber拟合RESP电荷,以及Multiwfn拟合RESP电荷(很简单也很方便,参考Sob大神写的http://sobereva.com/441)。由于本人喜欢在服务器上搞这些操作,所以在这里使用第一种方案。

        使用gaussian和antechamber拟合RESP电荷的过程大致分为两步:首先通过gaussian计算得到esp电荷,然后使用antechamber拟合resp电荷.

        1,构建分子的结构文件,并存为mol2文件

        2,使用gaussian优化结构

        (1)关键词如下:#p HF/6-31G* SCF Pop=MK iop(6/33=2) iop(6/42=6) iop(6/50=1) opt

        (2)并在坐标后面输入两个文件名bcr_ini.gesp和bcr.gesp,(前者为初始结构的RESP电荷,后者为优化后的RESP电荷)如:

           这里需要注意:

    iop(6/33=2) iop(6/42=6) iop(6/50=1)这几个关键字是要求Gaussian输出RESP Fitting。其中
    iop(6/33=2)是进行RESP Fitting并输出到Gaussian的.log文件。
    iop(6/42=6)是指定精度(的关键字之一)。
    以上两个关键字可以在Gaussian 03及之前的版本中使用。
    iop(6/50)=1是Gaussian 09 C.01之后推荐的独立于高斯输出文件的resp文件格式,在antechamber中称为"gesp",使用时需要在高斯输入文件末尾指定单独的gesp的文件名称。
    Gaussian 09B.01(可能还有G09A,没有该版本不知道)“误删”了RESP Fitting的代码,所以以上关键字没一个管用。
    Gaussian 09C.01及后续版本恢复了误删的代码并且加上了gesp的代码,所以以上关键字全部可以使用。                               参考(http://bbs.keinsci.com/thread-2019-1-1.html)

    ………我就是在这里被坑了很长时间,本来一直用g09计算,但是怎么也没有gesp文件,报错为只有resp拟合中心,没有values。 最后换用g16可行。

    另外,我有一个体系含有一个Fe原子,报错为:L602,GetVDW:  no radius for atom XX atomic number XX.

    原因:使用pop=CHELPG 拟合静电势时没有内置相应元素的半径。
    解决:pop里用readradii,输入文件末尾写上元素名和指定的半径(一般用范德华半径,可以查得),例如(我这个没有做opt,所以只需要刚开始的bfe_ini.gesp电荷文件就行):

    #p HF/6-31G* SCF Pop=(mk,readradii) iop(6/33=2) iop(6/42=6) iop(6/50=1)

    title

    1 1
    FE   -24.5090   -57.4950    22.0040
    C    -25.1075   -58.6543    19.7452
    O    -25.2675   -59.0353    18.4992
    O    -24.1915   -59.2153    20.4402
    O    -25.9125   -57.7653    20.1602
    H    -24.0775   -59.4572    18.0504

    FE=2.05

    bfe_ini.gesp

        3,使用antechamber拟合resp电荷

    antechamber -i ligand.gesp -fi gesp -o ligand_resp.mol2 -fo mol2 -pf y -c resp  
    或者使用:antechamber -i ligand.out -fi gout -o ligand_resp.mol2 -fo mol2 -pf y -c resp
    PS:前面两个命令的计算结果一样,因为第二个命令默认拟合最终优化后结构的resp电荷(优化后和优化前拟合出来的resp电荷会有一定的区别)

    计算完成后得到ligand_resp.mol2文件中即包含了所有原子的resp电荷。
    到这里,RESP电荷结果就出来了!
    注意:拟合得到的总电荷不一定正好是0,比如有时候会是0.000006.但是一般都是接近0,对结果几乎没影响的,一般不用管。
    但是我是强迫症,如果多了一点,我会从最后一个原子的电荷上减去这一点,保证在tleap过程中总电荷为0。。。

       后面可以用 parmchk -i ligand_resp.mol2 -f mol2 -o ligand.frcmod 来生成小分子的键参数。

    参考:http://jerkwin.github.io/2015/12/08/%E4%BD%BF%E7%94%A8AmberTools+ACPYPE+Gaussian%E5%88%9B%E5%BB%BA%E5%B0%8F%E5%88%86%E5%AD%90GAFF%E5%8A%9B%E5%9C%BA%E7%9A%84%E6%8B%93%E6%89%91%E6%96%87%E4%BB%B6/

  • 相关阅读:
    sqlplus -S选项说明
    oracle中常见set指令
    nohup详解
    centos64位编译32位程序
    【PHP系列】框架的抉择
    【PHP系列】PHP推荐标准之PSR-4,自动加载器策略
    【PHP系列】PHP推荐标准之PSR-3,日志记录器接口
    【PHP系列】PHP推荐标准之PSR-1,PSR-2
    【项目管理】管理工具的抉择 --- 持续更新中
    【CNMP系列】CentOS7.0下安装FTP服务
  • 原文地址:https://www.cnblogs.com/jszd/p/14163254.html
Copyright © 2011-2022 走看看