CREST:乙酸pKa估算操作
从完整乙酸结构出发,实际运行GFN2与ALPB水溶液pKa流程,说明酸性氢编号、输出及适用范围。
阅读本篇目录
CREST 的 pKa 工具把酸、共轭碱的计算与经验自由能关系连接起来。本篇用乙酸的实际计算演示命令与输出;结果是指定半经验模型的估算,不是实验 pKa。
1. 先看结构与结果#
下载完整输入、实际结果、CSV和读取绘图脚本,保存为 example.zip:
python3 -m zipfile -e example.zip .
cd crest-pKa-acetic-acid
bash read.sh
bash plot.sh
默认读取 reference-results,生成 analysis-read 和 figures。数据也可单独下载:CREST-pKa-FER.csv、CREST-pKa-components.csv。
本例使用独立 CREST 3.0.3,GNU Fortran 与 MKL 编译,配套 xTB 6.7.1。需要重算且尚未建立个人 3.0.3 程序时,在已分配的 CPU 作业内先运行 bash build-private.sh;首次构建需访问源码仓库。程序放在 ~/.local/ys-crest-tools/bin/crest,其他本专题使用此入口的教程可以共用。已有该入口则直接使用。CPU 提交模板申请 56 核整节点,实际使用 2 线程。

本次使用 GFN2-xTB、ALPB(水)、298.15 K 的原生热化学与 GFN2 经验参数,得到 pKa≈6.53。这里只分别优化了一个酸结构和一个碱结构,没有据此宣称完成水溶液构象与溶剂采样。
2. 准备完整XYZ#
8
Own acetic acid teaching input, acidic H index5
C -1.50 0 0
C 0 0 0
O .65 1.05 0
O .65 -1.10 0
H 1.60 -1.00 0
H -1.87 .52 .90
H -1.87 .52 -.90
H -1.87 -1.04 0
XYZ 原子从1计数,本输入第5个原子是羧基上的酸性氢。数字5对应原子行,不包含前两行的原子数和注释。
3. pKa命令怎样写#
在已分配的 CPU 作业中,核心命令是:
~/.local/ys-crest-tools/bin/crest input.xyz --pka 5 --gfn2 --T 2 --keepdir
程序依据所选氢生成共轭碱:乙酸8原子、电荷0;乙酸根7原子、电荷−1。该工具使用配套的 GFN2/ALPB(水)设置,不要在此流程随意换成不匹配的气相或其他参数集。
4. 工作流具体做什么#
先优化酸,移去指定的质子并优化共轭碱;随后计算两侧溶液能量、振动与RRHO热化学校正,计算原生酸碱校正,再代入经验多项式。它不是把一个气相电子能差简单除以 RT ln10。
本包已经把完整流程放进提交脚本:
bash submit.sh
# Slurm作业结束后
bash read.sh work-new analysis-read
bash plot.sh
作业内还会完成同几何独立溶液单点和文件重读示例;这些不是另外一轮构象搜索。输出在 work-new/full-pka。
5. 读取哪些结果#
grep -E 'Ecorr|calculated pKa' reference-results/full-pka/native.log
head -10 reference-results/full-pka/acid.xyz
head -9 reference-results/full-pka/base.xyz
head -8 analysis-read/CREST-pKa-components.csv
ACIDcalc/xtb.out、BASEcalc/xtb.out 保存实际酸、碱的能量及热化学信息。输入变成自己的分子后,先确认去掉的是目标氢、原子数与电荷变化正确,再看估算值。
不同酸性位点要分别建立目录计算。多构象、不同溶剂、标准态和方法适用范围也会影响定量结果;本例数值不能直接推广到其他分子或作为实验精度保证。分项和重读方法见自由能与经验校正。
参数参考:该固定版本附带的CREST命令手册。具体操作和结果见上面的实际输入。