Critic2 分子排序与晶体片段替换
用实际水分子几何演示MOLCELL、两种分子图匹配和MOLMOVE,保留输入与变换前后的结构。
阅读本篇目录
这篇解决三件常见结构处理问题:分子工作区域如何设置、两个文件的原子顺序如何对应、独立得到的新分子几何如何放回分子晶体。这里处理结构,不重新做电子结构计算或结构优化。
1. 准备资料和工具#
下载分子与谱线处理包:
unzip critic2-molecular-xrpd-wave143-*.zip -d critic2-tools
cd critic2-tools
bash run.sh list
critic2/1.4内部1.4.155,GCC/GFortran13.3、OpenMP、LAPACK/BLAS,配有NLopt2.10;分析和绘图使用ASE、SciPy、NumPy、Matplotlib。例子单CPU运行,无需GPU。
水分子坐标来自本集群既有PBE/def2-SVP实际计算使用的固定几何。排序文件只做已知刚体旋转、平移与原子置换;14Å双水分子周期盒是明确构造的几何,不代表优化过的冰结构。
2. MOLCELL:改变区域,不改变原子#
bash run.sh 1
ls work/molcell
molecule ../../data/water.xyz
molcell 2
cpreport border2.json
molcell 4
cpreport border4.json
write water.xyz
MOLCELL 2和 MOLCELL 4分别给分子周围留出2Å与4Å的工作区域边界。它不改变分子键长,也不执行优化;区域仍受当前分子外包晶胞限制。输出 border2.json、border4.json保存了实际边界,water.xyz保存相同原子位置。

3. MOLREORDER:匹配原子顺序#
bash run.sh 3
cat work/reorder3d-ullmann/reordered.xyz
molecule ../../data/water-plain.xyz
molreorder . ../../data/permuted3d.xyz write reordered.xyz moveatoms ullmann
当前结构 . 是参考分子;第二个文件是原子被置换过的目标。WRITE指定输出,MOVEATOMS把参考分子以最佳刚体姿态放到目标位置,ULLMANN选择图匹配方法。应明确自己需要的是原子重排还是同时放置参考内部几何;两者不是同一个操作。
另一个原生方法:
bash run.sh 4
它将最后一个关键词改为 UMEYAMA。本例两种方法得到相同原子顺序与坐标,独立检查全部原子间距离保持一致。平面分子放在一般三维姿态,使三个笛卡尔方向的外包跨度均非零,适配当前版本的片段读取方式。

4. MOLMOVE:把新内部几何放回晶体#
bash run.sh 2
head -n 18 work/molecular-replacement/replaced.cif
molmove ../../data/fragment1.xyz ../../data/fragment2.xyz ../../data/water-crystal.cif replaced.cif
前两份文件是两个新分子片段,第三份是目标分子晶体,最后一项是输出CIF。这里特意把原分子的OH向量按1.02缩放,使替换效果清楚可见;它们不是本次新优化得到的分子。
程序保留目标晶胞,将新片段匹配、旋转并放到原分子位置。对应位置以原子几何中心对齐,本例每个分子的两条OH键都准确增长2%。实际使用中要让片段与目标分子的元素和原子对应一致,先处理排序,再替换。

5. 得到结构与图片#
bash analyze.sh
ls figures-reference
得到排序后的XYZ、片段替换后的CIF、区域JSON、键长对照和三张结构图。需要从头运行全部条件与谱线例子,在新解压目录执行 bash run-all.sh。后续结构优化仍须交给适合该体系的电子结构或分子模拟程序,不能把几何处理输出当作优化结果。
只分析随包数据时,数值检查表在 analysis-reference/CHECKS.json,PNG/SVG图片在 figures-reference/;完整重算时分别写入 analysis/ 和 figures/。