Back to projects

Reymond Group · ~70k npm/mo

A pure JS library for molecules.

Core maintainer of SmilesDrawer, a pure-JavaScript library that parses SMILES and renders molecules as SVG or Canvas, with ~70,000 monthly downloads on npm.

SmilesDrawer

Try the full website

More presets, more options, and the full SmilesDrawer playground.

Try the website!

Ring perception (in progress)

Rebuilding ring perception (SSSR) from scratch in TypeScript on top of new BitSet/BitMatrix primitives, implementing Vismara's algorithm to recover the minimum cycle basis and the set of relevant cycles. This replaces a heuristic that mis-counted rings on fused/bridged systems.

Stereochemistry

Replaced patched ad-hoc stereochemistry handling with a lazy CIP priority tree (CIPTree) that follows the IUPAC P-9 rules. Verified against an RDKit reference suite. Fixed bridged-ring layout (Kamada–Kawai), E/Z double-bond rendering, SVG bounding-box and pseudo-element issues along the way.

Tooling and infra

Wired vitest CI (unit + regression + stereo-reference suites), modernised the build (esbuild), and shipped a new GitHub Pages docs/landing site. Tens of merged PRs across rendering, parser, and tooling.