検証とベンチマーク

現行リリース: v1.1.7

以下のベンチマークには、ソース候補や過去版の測定が含まれます。各数値は、記載した版・配布物・環境・データに限った結果です。

chematicは、SMILES/SMARTS解析、分子記述子、フィンガープリント、2D構造式描画をカバーする、 オープンソース(MIT OR Apache-2.0)のRust製ケモインフォマティクスエンジンです。 このページは、chematicの出力がRDKitに対してどのように検証されているか、何が安定版で何が実験的か、 そしてベンチマーク数値が実際に何を意味し何を意味しないかをまとめたものです。詳細な手法、コーパス、 再現手順はchematicリポジトリにあります — このページはその要約であり、代わりとなるものではありません。

レスポンシブ・アクセシビリティの検証記録を読む

chematicを選ぶ理由

chematicは、化学情報学の処理をWebアプリケーションや開発者向けツールへ組み込むためのエンジンです。 新しいプロジェクトで、ブラウザ、Python、Rustの間に別々の化学処理を持ち込みたくないなら、まずchematicから始める価値があります。

特に相性がよい開発案件

  • ブラウザで完結する化学ツール:WASMパッケージを使えば、SMILES解析、記述子計算、フィンガープリント、2D描画をクライアント側で実行できます。入力をサーバーへ送らない体験を作れます。
  • Rustを中核にした製品:Pure Rustのコアなので、C++ツールチェーンや別プロセスに依存せず、CLI、バックエンド、デスクトップアプリへ組み込みやすくなります。
  • 複数の実行環境をまたぐ機能:Python、Rust、JavaScript/WASMで同じエンジンを使えるため、プロトタイプと本番、ローカルツールとWeb版の間で処理をそろえやすくなります。
  • 検証可能な実装を求める案件:公開されたベンチマーク、コーパス、再現手順を確認しながら、必要な機能だけを自分のデータで評価できます。

まずはブラウザ上の解析デモで分子を入力し、必要な処理が動くことを確かめてください。実装を始める場合は、SMILES入力を検証するチュートリアルが最短の入口です。

既存のRDKit資産がある場合

既存ワークフローを一度に置き換える必要はありません。ブラウザ向けの機能、Rustの新規サービス、または独立した解析機能からchematicを導入し、 このページの検証記録と自分のコーパスで必要な範囲を確認してください。高度な3Dや反応処理、既存プラグインとの互換性が要件なら、機能ごとの評価は引き続き必要です。

機能の成熟度

機能ステータス備考
SMILES / SMARTS parsingstable—
Molecular descriptors (physicochemical core)stable—
Fingerprints (ECFP, MACCS, etc.)stable—
3D conformer generation (distance geometry + MMFF94)experimental—
pKa / ADMET profilingexperimentalルールベースのスクリーニング用ヒューリスティックであり、臨床用途としての検証はされていません。
IUPAC name generationpartial25以上の構造クラスに対応。対応範囲外の構造には空文字列を返します。
InChI (default pure-Rust engine)approximate—
InChI (optional native-inchi feature)stable同梱されたIUPAC C言語リファレンス実装により、ビット完全な標準InChIを生成します。

公開パッケージで確認済みの範囲

ここに挙げる結果は、ローカルの作業コピーではなく公開済みの配布物で測定したものです。特定の操作の出力一致や速度結果は、両ライブラリ全体の互換性や性能を示すものではありません。

配布物と比較確認できたこと範囲外・差分
v1.0.42 の CPython 3.13 wheel と RDKit 2026.09.1TPSA、Labute ASA、キラルMorganは1万件の出力ゲートを通過。解析を含む21ブロックの区間は、ホスト型Linux x64とmacOS arm64でchematic側に有利でした。環数は9,994/10,000。prepared Labute ASAはmacOSでRDKitに劣り、prepared Morganは優位性を維持できませんでした。
v1.0.30 のブラウザ版と公式RDKit.jsChromium、Firefox、WebKitで、Morganの直接・prepared出力が各250/250一致。20ブロックの計時区間はこの試験でchematic側に有利でした。別のChromium 1万件試験では、鉄を含む1件を型付きエラーとして拒否しました。ブラウザ全体の性能を示す結果ではありません。
v1.0.42 の反応パッケージとRDKit83件中80件で生成グラフ、原子由来、原子マップが一致。残り3件は双方とも無効でした。反応処理には差分が残っており、RDKitの反応機能全体と互換ではありません。

最新ソースの比較結果(リリースの主張ではありません)

根拠の範囲:以下はRDKit 2026.09.1に対して最新mainから作った測定です。開発状況を追う材料にはなりますが、公開済みv1.1.7のパッケージで再実行するまでは、そのリリースの根拠にはなりません。

最新mainの記録では、TPSA、Labute ASA、環数、キラルMorganが1万件で一致し、解析を含む処理はmacOS arm64の1回の測定で有利な区間を示しました。v1.1.3のソース候補では、特殊なSMILES 4,072件で分子量、Morgan、環数が一致し、CIPの差分10件は隠さず分類しています。これは個別のテストレーンの結果であり、RDKit全体を実装したという意味ではありません。

現行リリースでは、荷電系を保存するEEM部分電荷、アレン・クムレンの軸性立体化学、オプトインのETKDGv3、V3000拡張立体化学、メモリ上限を持つSDFデータセット、再利用可能なPython力場オブジェクトを追加しました。v1.1.7の公開物を対象にした比較の再実行はまだです。

記述子・立体化学・3Dの検証範囲

Mol.descriptors()は194個の値を返しますが、この数はAPIの項目数であり精度の評価ではありません。使う予定の記述子とコーパスごとに確認してください。公開済みの記録が直接カバーするのはTPSAとLabute ASAであり、すべての拡張記述子を検証したものではありません。

公開Python監査では、SMARTS 310,000セル中200セルの差分と、CIPの5件の判定保留を記録しています。chematicは推測で埋めず、境界を返します。3Dでは、v1.0.42の公開ゲートが幾何・立体化学・clashの265件を通過し、最新ソースの同数比較では265コンフォーマー中258件がRDKitから1 kcal/mol以内でした。3Dは依然実験的で、実運用の3DではRDKitの方が機能範囲と実績の両方で広い選択肢です。

既知の制限事項

canonical SMILESは万能な同一性キーではありません

重複排除やキャッシュには、用途に合った同一性モードを明示して使ってください。canonicalizationには対象範囲と、判定できないときに失敗として返す制限があります。万能な構造識別子の代わりにはなりません。

出典: docs/rdkit-comparison.md