Post

BaneTop:Gaussian力场参数生成器

BaneTop:Gaussian力场参数生成器

以下内容完全由Claude3.5生成,我大概看了一下使用方面说的没错(但是吹的牛逼一句都别信)

在计算化学公社写了个简介,有兴趣可以看一下。

BaneTop

BaneTop 是一个命令行工具,利用sobtop产生力场参数的功能,产生能用于 Gaussian 分子力学 (MM) 计算相关的输入,方便进行ONIOM计算。

下载和安装

GitHub:release

运行环境要求

  • Linux 64位操作系统
  • 外部依赖程序:
    • Sobtop: 生成力场参数
    • Open Babel : 如果您需要使用单fchk文件构建力场参数文件,则需要obabel命令行工具用于文件格式转换 (从 .fchk.mol2)
    • Gnuplot: 用于绘制周期势参数拟合结果图表

快速开始

  1. 创建配置文件:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    # 在当前目录创建配置文件
    cat > banetop.conf << EOF
    # 日志设置
    log.file_path = banetop.log
    log.level = 1
    log.to_console = true
    log.to_file = true
    
    # Sobtop配置
    sobtop.path = /path/to/your/sobtop
    sobtop.templates_dir = /path/to/your/banetop_templates
    EOF
    
  2. 检查安装:
    1
    
    banetop --help
    

主要功能

1. 设置原子电荷

.chg 文件中的电荷写入 .gjf 文件:

1
banetop -c molecule.gjf charges.chg

输出文件: molecule_charged.gjf

2. 处理未定义参数

从 Gaussian 输出中提取未定义参数并生成对应的力场参数:

1
banetop -u gaussian.log ff_params.txt > new_params.txt

3. 调用 Sobtop

使用预定义的模板处理分子文件:

1
banetop -s genpara molecule.mol2

4. 生成 MM 力场参数

从 RTP 文件生成

1
banetop -g rtp molecule.mol2 molecule.rtp
  • 会尝试调用 Sobtop 生成初始 .gjf 文件
  • 自动处理原子类型和电荷
  • 对谐振二面角进行周期势拟合
  • 生成拟合质量可视化脚本

从 FCHK 文件生成

1
banetop -g fchk calculation.fchk
  • 自动寻找或生成所需的 .mol2 文件
  • 调用 Sobtop 生成 .rtp 文件
  • 后续处理同 RTP 模式

配置文件

BaneTop 使用 banetop.conf 进行配置。程序按以下顺序查找配置文件:

  1. 当前目录
  2. 用户主目录下的 .banetop/ 目录
  3. 系统级目录 /etc/banetop/

配置项说明

1
2
3
4
5
6
7
8
9
10
11
12
# 日志设置
log.file_path = banetop.log  # 日志文件路径
log.level = 2                # 日志级别 (1:DEBUG, 2:INFO, 3:WARNING, 4:ERROR;默认值:2)
log.to_console = true        # 是否输出到控制台
log.to_file = true          # 是否输出到文件

# Sobtop配置
sobtop.path = /path/to/sobtop        # Sobtop可执行文件路径
sobtop.templates_dir = /path/to/templates  # 模板目录路径

# 其他参数 (可用于Sobtop模板)
custom_parameter = value

配置文件支持的特性

1. 环境变量

配置文件支持使用环境变量,支持以下语法:

1
2
3
4
5
6
7
8
# ${VAR} 语法
sobtop.path = ${HOME}/app/sobtop

# $VAR 语法
sobtop.templates_dir = $HOME/templates

# 带默认值的语法
custom_path = ${CUSTOM_DIR:-/default/path}  # 如果CUSTOM_DIR未定义,使用默认值

如果引用的环境变量不存在:

  • 使用默认语法 ($VAR${VAR}) 时,变量会被替换为空字符串
  • 使用带默认值语法时,会使用指定的默认值

2. 相对路径

对于路径类配置项,支持:

  • 绝对路径
  • 相对于配置文件的相对路径
  • 相对于用户主目录的路径 (~/ 开头)

使用技巧

1. 谐振二面角拟合

在使用 -g rtp-g fchk 时,对于谐振二面角 (funcType 2),程序会:

  1. 自动尝试多组相位组合:
    • 180°, 0°, 0°, 0°
    • 0°, 180°, 0°, 0°
    • 0°, 180°, 0°, 180°
    • 0°, 0°, 0°, 0°
  2. 为每个二面角选择最佳拟合结果

  3. 生成拟合质量报告,包括:
    • RMSE (均方根误差)
    • 相对误差百分比
    • 拟合参数详情
  4. 提供交互式优化选项:
    • 查看拟合质量排序
    • 选择特定二面角重新拟合
    • 手动指定相位组合
  5. 生成可视化文件:
    • 每个二面角的势能曲线对比图 (.plt 文件)
    • 一键绘图脚本 (_draw.sh)

2. 文件命名建议

  • 保持 .mol2, .rtp, .chg 文件使用相同的基础名称
  • 例如:molecule.mol2, molecule.rtp, molecule.chg,这样程序可以自动找到相关文件

3. 日志使用

  • 设置 log.level = 0 (DEBUG) 可查看详细处理过程
  • 同时输出到控制台和文件便于问题排查
  • 日志文件会记录每个参数的处理详情

4. 批处理建议

对于需要批量处理的情况,可以编写简单的shell脚本:

1
2
3
4
5
#!/bin/bash
for fchk in *.fchk; do
    echo "处理: $fchk"
    banetop -g fchk "$fchk"
done

常见问题

  1. 找不到 Sobtop
    • 检查 banetop.conf 中的 sobtop.path 设置
    • 确保路径指向实际的 Sobtop 可执行文件
  2. 转换 FCHK 失败
    • 确保已安装 Open Babel
    • 检查 obabel 命令是否在系统路径中
  3. 拟合质量不佳
    • 尝试使用交互模式手动调整相位
    • 考虑使用 ztop 进行周期势拟合
    • 参考: http://bbs.keinsci.com/thread-24290-1-1.html
  4. 无法生成图表
    • 确保已安装 Gnuplot
    • 检查生成的 .plt 文件权限

技术支持

如遇到问题,请提供:

  1. 完整的命令行输出
  2. 相关的日志文件
  3. 使用的配置文件内容
This post is licensed under CC BY 4.0 by the author.
Total hits!