5 分钟上手¶
用一份可下载的 ORCA 输出完成“解析、读取最终结构和能量、生成摘要、导出 XYZ”。
准备¶
- 按安装指南安装 MolOP。
- 下载 water_mp2.out 到一个空目录。
- 在同一目录启动 Python。
样例来自 cclib 的 ORCA 回归数据,许可证和来源见 样例说明。本页只解析已有输出,不运行 ORCA。
解析并读取结果¶
Python
from molop import AutoParser
batch = AutoParser("water_mp2.out", n_jobs=1)
parsed_file = batch[0]
frame = parsed_file[-1]
print(parsed_file.detected_format_id)
print(len(frame.atoms), frame.coords.shape)
print(frame.energies.total_energy.m_as("hartree"))
AutoParser 总是返回一个 batch。这里的访问顺序是:
生成完整摘要¶
Python
summary = batch.to_summary_df(
frame=-1,
brief=False,
flatten_columns=True,
)
summary.to_csv("summary.csv", index=False)
print(summary.shape)
summary.csv 会包含一行最后一帧结果。brief=False 才会包含能量、热化学和振动等扩展列。
DiskStorage.FilePath 默认保存绝对路径;该列的值随运行目录变化。
导出最终结构¶
Python
rendered = batch.format_transform("xyz", frame=-1, write_to_disk=False)
print(rendered[parsed_file.file_path])
batch.format_transform(
"xyz",
output_dir=".",
frame=-1,
write_to_disk=True,
)
第一次调用打印:
输出
第一次调用只返回 XYZ 文本;第二次在当前目录写出 water_mp2.xyz。
换成自己的文件¶
将路径替换为你的输入文件或 glob:
Python
gaussian = AutoParser("calculation.log")
orca = AutoParser("job.out")
xtb = AutoParser("xtb.out")
many_files = AutoParser("results/*.log")
同一扩展名可能有歧义时,显式指定格式: