MolOP¶
MolOP 是面向计算化学文件的 Python 库和命令行工具。它读取已有的 Gaussian、ORCA、xTB 和结构
文件,自动识别格式,并统一整理为 batch -> file -> frame 对象模型。
MolOP 不运行量子化学计算;它负责读取计算结果、批量筛选与汇总、结构转换和后续自动化处理。
数据流概览¶
flowchart TB
subgraph inputs["不同来源与文件格式"]
direction TB
qm["量化软件输出<br/>Gaussian / ORCA / xTB / ..."]
qminput["量化计算输入<br/>GJF / ORCA input / ..."]
structure["结构文件<br/>XYZ / SDF / SMILES / ..."]
future["后续新增格式<br/>注册新的 reader"]
end
parser["MolOP AutoParser<br/>根据文件内容自动选择 reader"]
batch["FileBatchModelDisk<br/>batch -> file -> frame<br/>统一科学结果容器"]
subgraph tasks["统一的下游处理"]
direction TB
results["读取能量、振动、轨道等结果"]
summary["完整表格汇总与批量筛选"]
export["结构和输入文件转换与导出"]
workflow["自定义分析与自动化流程"]
end
qm --> parser
qminput --> parser
structure --> parser
future --> parser
parser --> batch
batch --> results
batch --> summary
batch --> export
batch --> workflow
最短可运行流程¶
Python
from molop import AutoParser
batch = AutoParser("water_mp2.out", n_jobs=1)
frame = batch[0][-1]
print(batch[0].detected_format_id)
print(frame.energies.total_energy.m_as("hartree"))
输入样例见 ORCA 水分子文件。解析结果通过统一字段访问,字段缺失时
保留为 None,不会用推测值补齐源文件没有提供的科学结果。
按任务进入¶
| 目标 | 推荐入口 |
|---|---|
| 读取单个文件或一批文件 | 解析文件 |
| 读取能量、热化学、振动、轨道或 NMR | 读取计算结果 |
| 生成 CSV/JSON 汇总表 | 批量汇总 |
| 筛选正常结束、优化结果或过渡态 | 过滤与选择 |
| 导出 XYZ、SDF、Gaussian 或 ORCA 输入 | 格式转换与导出 |
| 从坐标恢复金属配合物分子图 | 结构恢复 |
| 排查格式、路径或原生库问题 | 常见问题 |
| 调整日志、并行度和结构恢复策略 | 配置 |
支持范围¶
当前提供 Gaussian log/fchk/input、ORCA output/input、xTB output、XYZ、SDF/MOL、SMILES 和 CML 相关 reader 或 writer。具体字段、目标格式和信息边界以格式支持概览为准。
核心数据模型¶
需要理解对象层级、frame 选择和惰性结构恢复时,阅读核心概念。