ブラウザで動くcheminformatics
chematicはWebAssemblyへコンパイルされており、分子のパース、記述子計算、 フィンガープリント生成、2D構造描画、類似度検索をブラウザのタブ内だけで 実行できます。サーバーへの往復もなく、データがページの外に出ることも ありません。ちょっとした解析ウィジェットから、オフラインで動く化合物 エクスプローラーまで、軽量でlocal-firstなJavaScript/TypeScript向けの 化学ツールキットが必要な場面で実用的な選択肢です。
ブラウザ内で完結する処理
- SMILES / SMARTSのパースと正規化
- 分子記述子(分子量、LogP、TPSA、水素結合ドナー/アクセプター数など)
- フィンガープリント(ECFP、MACCSなど)とTanimoto/Dice類似度検索
- SVGとしての2D構造描画
- SMARTSマッチングによる部分構造検索
上記はすべてローカル計算であり、サーバーへは何も送信されません。 プロジェクト全体で唯一の例外は、別プロダクトであるMCPサーバーの AIエージェント向けツールname_to_smilesです(詳細はAIエージェントを参照)。 これはブラウザ/WASMビルドの一部ではありません。
バンドルサイズ
2026-09-11時点で、公開されている@kent-tokyo/chematic@1.0.13 npmパッケージから直接測定した値です。WebAssemblyバイナリはraw 3.95 MB / gzip圧縮後 1.44 MB。これは特定リリース時点の スナップショットであり、恒久的な仕様ではありません — ライブラリの成長に伴い変化します。 デフォルトビルドには2D構造描画機能(resvg/rustybuzzを使用)が 含まれており、サイズの大部分を占めています。不要な場合はfeature-gatedビルドについてドキュメントを参照してください。
インストール
npm install @kent-tokyo/chematicPure Rust by default。The optional native-inchi feature vendors the IUPAC InChI C reference implementation for bit-exact standard InChI output. It is opt-in and isolated to the chematic-inchi crate. 何が安定版・部分対応・実験的かの 詳細は検証ページを参照してください。
CDN — ビルド不要
公開済みのnpmパッケージは、bundlerなしでCDNから直接動作します — このページを公開する前にjsDelivr (ミラーとしてunpkgも)で実際に動作確認済みです。 本番では必ずバージョンを固定してください — @latestのような未固定URLは、将来のリリースで挙動が変わる可能性があります。
<script type="module">
import init, { parse_smiles } from "https://cdn.jsdelivr.net/npm/@kent-tokyo/chematic@1.0.13/chematic_wasm.js";
await init();
const mol = parse_smiles("CC(=O)Oc1ccccc1C(=O)O"); // アスピリン
console.log(mol.molecular_weight().toFixed(2)); // 180.16
mol.free();
</script>どんな場面に向いているか
ブラウザ内での分子解析の選択肢を検討している場合 — 「軽量なRDKit.js代替」として 探されることもあります — chematicは、ビルドにC++ツールチェーンを含めたくない、 小さくlocal-firstなWASMモジュールが欲しいという場面に適しています。RDKit自身の WASMビルド(RDKit.js)は 機能面でもはるかに充実しており、長年の検証実績があります。必要な機能セットと 検証実績のどちらを優先するかで選んでください。詳しくは検証とRDKitの使い分けをご覧ください。