chematic v0.1.89

What's New — Gap Analysis 89% Closure

89% ✅

Gap Analysis Closure
8 Priority Items Implemented

1,521
Tests Passing
46
New Tests
36
Commits
13
Release Commits

Priority A — Correctness Bugs (6 items)

A1

PME Panic Fix

Singular box matrix handling converted from panic!() to Result type.

map_to_fractional() → Result<[f64;3], EwaldError>
A2

InChI Stereo Parsing

Complete stereo layer support: /b (E/Z), /t (R/S), /m (relative), /s (version).

parse_ez_stereo_layer() + parse_tetrahedral_stereo_layer()
A3

MMFF94 Charge Accuracy

Formal charge redistribution for carboxylate and ammonium patterns.

apply_formal_charge_redistribution()
A4

MHFP Documentation

Complete roadmap for true MHFP implementation (Lowe & Sayle 2013).

Current: ECFP4 bits | True: Circular SMILES MinHash
A5

ERG + FG Bits

Added functional group detection bits (aromatic, heteroatom, aliphatic).

Bits 256–258: topology-based discrimination
A6

Reaction FP XOR-like

Structural difference encoding for transformation detection.

compute_structural_difference() via OR approximation

Priority B — Feature Gaps (2 items)

B1

InChI Metadata Layers

Relative stereo parity (/m) and stereo type (/s) layer parsing.

parse_relative_stereo_layer() + parse_stereo_type_layer()
B2

normalize_groups Expansion

3-pass pattern detection: azide [N-][N+]#N and sulfoxide S=O.

Group detection → Charge normalization → Bond order

🔬 Demo: InChI Stereo Layer Parsing (A2)

Enter a SMILES with stereo to generate InChI with /b (E/Z) and /t (R/S) layers:

⚛️ Demo: Reaction FP Comparison (A6)

Compare two reactions and see how XOR-like difference encoding highlights transformations:

🆚 RDKit Comparison — Accuracy Metrics

chematic vs RDKit on 175-molecule test set:

Property MAE RMSE Pearson r Status
LogP (Crippen) 0.0540 0.1406 0.9968 ✅ Excellent
TPSA (Ų) 0.0748 0.4659 0.9999 ✅ Excellent
HBA 0.0400 0.2928 0.9888 ✅ Excellent
HBD 0.0114 0.1069 0.9974 ✅ Excellent
ECFP4 Tanimoto 0.0137 0.0282 ρ=0.925 ✅ Good

📦 Installation & Usage

Node.js / TypeScript

npm install @kent-tokyo/chematic@0.1.89

Or:

npm install @kent-tokyo/chematic

Rust / Cargo

[dependencies]
chematic = "0.1.89"

Quick Start

JavaScript:
const mol = await chematic.parseSmiles("CCO");
const logp = chematic.logp(mol);
console.log(logp); // 0.307

📋 Release Information

Version
0.1.89
Release Date
2026-06-12
Status
✅ Production

See GitHub Release | Release Notes | RDKit Comparison