Beta
chematic for Python
chematicのPythonパッケージは、Rust crateやWebAssembly版と同じRustコアの上に構築されています。 Jupyterノートブック、pandasのDataFrame、構造式ファイルのディレクトリに対するバッチ処理など、 Pythonユーザーが既に慣れている利用形態を対象に、RDKitと同様の挙動をする操作のサブセットを提供します。RDKitの完全な置き換えではありません — 高度な反応処理、フルの3Dツールキット、多くのプラグインなど、RDKitの機能の一部は実装されていません。
インストール
pip install chematicバージョン1.0.13がPyPIで公開されており、 分類はBeta、対応するPythonバージョンは3.9–3.13です。 動作するチュートリアルはリポジトリ内のクイックスタートノートブックにあります。
Jupyterとノートブック
典型的な流れは、構造を解析し、内容を確認し、インラインで描画することです。
import chematic
mol = chematic.parse_smiles("CC(=O)OC1=CC=CC=C1C(=O)O")
mol.canonical_smiles()
mol.molecular_weight()
mol.depict_svg()これはAPIの雰囲気を示す例であり、将来にわたって安定して動作することを保証するサンプルコードではありません。 依存する前にAPIリファレンスで正確なメソッド名を確認してください。
pandasとバッチ解析
DataFrameのSMILES列をスクリーニングしたり、SDFファイルのディレクトリを走査したりする場合、 chematicの記述子計算やフィンガープリント計算はサーバーやデータベースを必要としない純粋なPython関数です。ブラウザ版やRust版と 同じロジックを、バッチスクリプトとノートブックのセルの両方から呼び出せます。
「RDKit互換のサブセット」とは
物理化学的コア記述子(分子量、LogP、TPSA、水素結合ドナー/アクセプター数、芳香環数)は、 4,999分子のChEMBLコーパスにおいてRDKitと100%一致しています。
一方で、Kappa形状指数、BertzCT、BalabanJ、BCUT2D、VSA記述子群、MQN、SA Scoreなどの拡張記述子群は、 コーパス規模で検証するとRDKitの値から大きく乖離します。Mol.descriptors()は 合計194個の値を返しますが、これには検証済みのコアと上記の拡張記述子群の 両方が含まれるため、「194個の記述子」と「194個の検証済み記述子」は 同じ主張ではありません。詳細な内訳と検証方法は検証ページを参照してください。