ブラウザで動く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-10-18時点で、公開されている@kent-tokyo/chematic@1.1.7 npmパッケージから直接測定した値です。WebAssemblyバイナリはraw 6.91 MB / gzip圧縮後 2.50 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.1.7/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>ブラウザ向けにchematicを選ぶ理由
分子機能をAPIの向こう側ではなく、ブラウザの画面そのものに組み込みたい場合にchematicを選べます。 解析、物性計算、検索、描画をインターフェースのそばで実行できるため、これらの処理だけのために 化学バックエンドを運用する必要はありません。同じエンジンはPythonとRustでも使えるので、 ブラウザの試作を別の製品へ広げても化学処理を入れ替えずに済みます。公開済みブラウザパッケージの 確認結果と対応範囲は検証記録で確認できます。