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。若需快速筛选,可先计算每帧的标量描述符,再入库。

分子计算结果的数据形态与存储映射 从计算输出 → 字段提取 → 结构化存储 → 筛选判断 结果类型 能量 E, ZPE, H, G, SPE 几何结构 坐标, 原子序数, 收敛 振动频率 频率, 强度, 虚频数 电子性质 HOMO/LUMO, 偶极矩 光谱 IR, UV-Vis, NMR 轨迹 帧, 时间, 能量, RMSD 关键字段与格式 e_elec_hartree, zpe_hartree g_hartree, e_elec_kjmol natoms, formula, coords converged, scf_energy freq_cm-1, ir_intensity n_imag, zpe_hartree homo_ev, lumo_ev, gap_ev dipole_debye, charges spectrum_type, peaks wavelength_nm, intensity traj_path, n_frames, dt_ps mean_potential, rmsd_mean 存储与筛选判断 统一单位 + 层级一致 Hartree → kJ/mol,避免混用不同方法 筛选:G 最低且层级相同 几何收敛 + 坐标完整 保留原始文件路径与哈希 筛选:converged == true 频率全正 + ZPE 有效 n_imag == 0 为极小点 n_imag == 1 为过渡态 电子性质与光谱比对 gap_ev 与实验趋势一致 峰位 RMSE 作为可靠性指标 轨迹统计摘要入库 原始轨迹留盘,数据库存索引与均值

六、把字段落到可执行的筛选表

下面给出一份可直接用于批量筛选的字段清单示例,字段名与上文保持一致,单位统一为 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_evHOMO-LUMO 能隙3.45按目标区间
dipole_debye偶极矩1.23按目标区间
n_frames轨迹帧数5000> 1000
解析输出时,建议先写“字段提取器”再写“筛选器”。提取器只负责把文本/二进制转成统一 JSON,筛选器只负责按条件过滤。两者分离后,换软件、换版本时只需改提取器,筛选逻辑可复用。
常见坑:把不同泛函、不同基组、不同溶剂模型下的能量直接排序;把含虚频的结构当作稳定构象;把 Bohr 坐标误当 Å 使用。这三类错误在汇总阶段最隐蔽,建议在入库时强制记录 method、basis、solvent、coord_unit 四个元字段。

最后强调一点:数据形态决定了筛选的可行性。若原始输出只保留了能量而丢失了频率与几何,后续就无法判断稳定性和构象差异;若轨迹只存了图而没存帧数据,就无法做统计。因此,在计算任务设计阶段就应明确“要保留哪些字段、以什么格式落盘”,而不是等汇总时再补救。