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 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
- 检查安装:
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
进行配置。程序按以下顺序查找配置文件:
- 当前目录
- 用户主目录下的
.banetop/
目录 - 系统级目录
/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),程序会:
- 自动尝试多组相位组合:
- 180°, 0°, 0°, 0°
- 0°, 180°, 0°, 0°
- 0°, 180°, 0°, 180°
- 0°, 0°, 0°, 0°
为每个二面角选择最佳拟合结果
- 生成拟合质量报告,包括:
- RMSE (均方根误差)
- 相对误差百分比
- 拟合参数详情
- 提供交互式优化选项:
- 查看拟合质量排序
- 选择特定二面角重新拟合
- 手动指定相位组合
- 生成可视化文件:
- 每个二面角的势能曲线对比图 (
.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
常见问题
- 找不到 Sobtop
- 检查
banetop.conf
中的sobtop.path
设置 - 确保路径指向实际的 Sobtop 可执行文件
- 检查
- 转换 FCHK 失败
- 确保已安装 Open Babel
- 检查
obabel
命令是否在系统路径中
- 拟合质量不佳
- 尝试使用交互模式手动调整相位
- 考虑使用 ztop 进行周期势拟合
- 参考: http://bbs.keinsci.com/thread-24290-1-1.html
- 无法生成图表
- 确保已安装 Gnuplot
- 检查生成的
.plt
文件权限
技术支持
如遇到问题,请提供:
- 完整的命令行输出
- 相关的日志文件
- 使用的配置文件内容
This post is licensed under CC BY 4.0 by the author.