2. 分子计算结果的数据形态
分子计算跑完之后,真正进入“汇总与筛选”环节的并不是某个软件界面,而是一批结构化的数据。理解这些数据“长什么样、字段代表什么、存在哪里”,是后续批量解析、入库、筛选和复现的前提。本节按结果类型逐一拆解其字段含义与常见存储格式,并给出可操作的读取思路。
一、能量:最常被筛选、也最容易被误读的字段
能量结果通常不是一个孤立数字,而是一组带标签的标量。以常见的量化输出为例,至少包含:电子能量(electronic energy,不含零点振动能)、零点振动能(ZPE)、内能(thermal correction to internal energy)、焓(H)、吉布斯自由能(G),以及单点能(SPE)。它们的关系是:G = Eelec + ZPE + 热校正 − TS。筛选时若混用不同层级,会出现“看起来更稳定”的假象。
单位必须显式记录。量化程序内部常用 Hartree(1 Hartree ≈ 2625.5 kJ/mol ≈ 627.51 kcal/mol),而实验与工程语境常用 kJ/mol 或 eV。存储上,能量常以“键值对”形式出现在文本输出中,例如:
SCF Done: E(RB3LYP) = -234.5678901 A.U. after 12 cycles
Zero-point correction= 0.123456 (Hartree/Particle)
Thermal correction to Gibbs Free Energy= 0.098765
Sum of electronic and thermal Free Energies= -234.469125
解析时建议用正则提取“标签 + 数值 + 单位”,并统一换算到同一单位后再比较。若使用 JSON 存储,推荐字段为 e_elec_hartree、zpe_hartree、g_hartree、e_elec_kjmol,避免只存一个 energy 造成歧义。
二、几何结构:坐标、原子序数与收敛状态
几何结构是“分子长什么样”的直接记录,核心字段包括:原子数、原子序数(或元素符号)、三维坐标(x, y, z,单位通常为 Å 或 Bohr)、以及是否收敛。常见格式有 XYZ、PDB、MOL/SDF、GJF 内嵌坐标块。XYZ 最简洁:
3
water optimized
O 0.000000 0.000000 0.117790
H 0.000000 0.757000 -0.471160
H 0.000000 -0.757000 -0.471160
筛选时,几何结构常与能量联合使用:同一分子不同构象的坐标差异,决定了能量差是否可信。若要做构象聚类,可提取全部优化后的坐标,计算 RMSD 或二面角分布。存储上,建议保留原始坐标文件路径与哈希值,便于回溯;数据库字段可设计为 natoms、formula、coords_angstrom、converged、scf_energy。
三、振动频率:判断稳定点与热力学修正的依据
频率计算输出的是 3N−6(非线性分子)或 3N−5(线性分子)个简正模式,每个模式包含:频率值(cm⁻¹)、红外强度(km/mol)、对称性标签,以及对应的原子位移向量。关键判断规则是:所有频率为正,说明该几何是极小点;出现一个虚频,通常是过渡态;多个虚频,则优化未到位或方法不适用。
频率结果还直接决定 ZPE 和热校正。若频率计算与能量计算不在同一理论层级,热力学量会失真。存储时,频率常以列表形式出现,建议字段为 freq_cm-1、ir_intensity、n_imag、zpe_hartree。筛选逻辑可写成:n_imag == 0 且 zpe_hartree > 0 才进入下一步。
四、电子性质与光谱:从轨道到可观测信号
电子性质包括:HOMO/LUMO 能量、能隙、偶极矩、原子电荷(Mulliken、NBO、ESP)、自旋密度、极化率等。它们通常以表格或分块文本出现,例如:
Alpha occ. eigenvalues -- -0.34567 -0.23456
Alpha virt. eigenvalues -- 0.01234 0.05678
Dipole moment (field-independent basis, Debye):
X= 0.0000 Y= 0.0000 Z= 1.2345 Tot= 1.2345
光谱结果则分为红外光谱、紫外-可见吸收、圆二色、拉曼、NMR 化学位移等。它们本质上是“频率/波长 + 强度”的二维数组,常以峰表或谱图数据文件存储。筛选时,常把计算峰位与实验峰位比对,用均方根误差或峰位偏移判断方法可靠性。存储建议:homo_ev、lumo_ev、gap_ev、dipole_debye、spectrum_type、peaks(数组)。
五、轨迹:时间维度上的结构序列
分子动力学(MD)或路径优化会产生轨迹,字段包括:帧号、时间(ps)、坐标、速度、能量(势能、动能、总能量)、温度、压力等。轨迹文件常见格式为 DCD、XTC、TRJ、XYZ 多帧。与单点结果不同,轨迹是“结构 + 时间”的序列,筛选时关注的是统计量:平均能量、RMSD 随时间变化、回旋半径、氢键数目等。
存储上,轨迹通常体积大,建议原始文件保留在磁盘,数据库只存索引与统计摘要,例如 traj_path、n_frames、dt_ps、mean_potential_kjmol、rmsd_mean。若需快速筛选,可先计算每帧的标量描述符,再入库。
六、把字段落到可执行的筛选表
下面给出一份可直接用于批量筛选的字段清单示例,字段名与上文保持一致,单位统一为 Hartree 与 kJ/mol 双列,便于不同来源数据合并:
| 字段 | 含义 | 示例值 | 筛选条件 |
|---|---|---|---|
| e_elec_hartree | 电子能量 | -234.567890 | — |
| zpe_hartree | 零点振动能 | 0.123456 | > 0 |
| g_hartree | 吉布斯自由能 | -234.469125 | 同层级取最小 |
| n_imag | 虚频个数 | 0 | == 0 |
| converged | 几何是否收敛 | true | == true |
| gap_ev | HOMO-LUMO 能隙 | 3.45 | 按目标区间 |
| dipole_debye | 偶极矩 | 1.23 | 按目标区间 |
| n_frames | 轨迹帧数 | 5000 | > 1000 |
method、basis、solvent、coord_unit 四个元字段。最后强调一点:数据形态决定了筛选的可行性。若原始输出只保留了能量而丢失了频率与几何,后续就无法判断稳定性和构象差异;若轨迹只存了图而没存帧数据,就无法做统计。因此,在计算任务设计阶段就应明确“要保留哪些字段、以什么格式落盘”,而不是等汇总时再补救。