Beta

chematic for Python

chematic 的 Python 包构建在与 Rust crate 和 WebAssembly 版本相同的 Rust 核心之上, 可直接用于 Python 用户熟悉的工作方式:notebook、pandas DataFrame 和结构文件目录的批处理。 先在小脚本或 notebook 中尝试,产品需要扩展时,再将同一套分子操作带到 Rust 服务或浏览器功能中。

安装

pip install chematic

已在 PyPI 上发布版本 1.1.7, 分类为 Beta,支持的 Python 版本为 3.9–3.13。 仓库中的快速上手 notebook提供了可直接运行的示例。

Jupyter 与 notebook

典型的使用流程是解析一个结构、查看其内容,并在 notebook 中内联渲染:

import chematic

mol = chematic.from_smiles("CC(=O)OC1=CC=CC=C1C(=O)O")
mol.smiles
mol.mw
mol.svg()

Python 包使用from_smiles、mw等属性,以及返回描绘字符串的svg()。在生产工作流中依赖特定版本前,请查阅API 参考文档。

pandas 与批量分析

无论是筛选 DataFrame 中一整列 SMILES,还是遍历一个目录下的 SDF 文件, chematic 的描述符与指纹计算都只是普通的 Python 函数,不需要服务器或数据库 —— 这与浏览器版和Rust 版使用的是同一套底层逻辑,因此批处理脚本和 notebook 单元格调用的是完全相同的代码。

为什么从 Python 开始使用 chematic

  • 让 notebook、批量分析、浏览器工具和 Rust 服务使用同一化学引擎。
  • 可直接从 Python 调用解析、描述符、指纹与绘制,不需要化学计算服务器或数据库。
  • 可先检查发布 wheel 与验证记录,再将所需操作放入生产工作流。

这里所说的"RDKit 兼容子集"是什么意思

兼容性按操作逐项验证,而不是由 API 的数量决定。公开比较记录直接覆盖 TPSA、Labute ASA 和手性 Morgan。 在用其他描述符或工作流替代 RDKit 结果前,请针对实际使用的语料库单独验证。

Mol.descriptors() 总共返回 194 个数值。这个数字是 API 项目数, 不是验证得分。有关发布产物记录、源码候选记录和当前限制,请参见验证页面。

接下来