What's New — Gap Analysis 89% Closure
Gap Analysis Closure
8 Priority Items Implemented
Singular box matrix handling converted from panic!() to Result type.
Complete stereo layer support: /b (E/Z), /t (R/S), /m (relative), /s (version).
Formal charge redistribution for carboxylate and ammonium patterns.
Complete roadmap for true MHFP implementation (Lowe & Sayle 2013).
Added functional group detection bits (aromatic, heteroatom, aliphatic).
Structural difference encoding for transformation detection.
Relative stereo parity (/m) and stereo type (/s) layer parsing.
3-pass pattern detection: azide [N-][N+]#N and sulfoxide S=O.
Enter a SMILES with stereo to generate InChI with /b (E/Z) and /t (R/S) layers:
Compare two reactions and see how XOR-like difference encoding highlights transformations:
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 |
npm install @kent-tokyo/chematic@0.1.89
Or:
npm install @kent-tokyo/chematic
[dependencies]
chematic = "0.1.89"
const mol = await chematic.parseSmiles("CCO");
const logp = chematic.logp(mol);
console.log(logp); // 0.307