






Using the Typestate Pattern with Rust Traits
Improving code quality by moving bugs from run time to compile time.

Conjugated Cycle Selection
Overcoming the limitations of two-atom bonding with with a little help from graph theory.

Exhaustive Cycle Enumeration in Rust
Generating the set of all cycles for undirected graphs.

Extending the V3000 Molfile Format with User-Specified Collections
A practical look at a unique feature.

Rethinking Tautomer Representation
A unified approach to dealing with tautomers and electron delocalization.


Balsa Reference Implementation
Pairing theory with practice for better molecular serialization.


Reading CTfiles with CTcore
Precision tools for processing CTfile member formats such as molfile and SDfile.

CTfile Character Encoding
Math, science, history - unraveling the mystery at the base layer of cheminformatics.

Dealing with Delocalization
Building a practical approach to electron delocalization, tautomerism, and more.

Beyond Stereochemical Templates
Developing a general approach to configurational and conformational representation.

Toward a Standard InChI Formal Grammar
Building a base layer for third-party InchI readers and writers.

Element-to-Atom Mapping in InChI
Toward lossless encoding and decoding for new applications.

Trey: A Toolkit for V3000 Molfiles and RGfiles
Building a suite of power tools for CTfile manipulation.


18 SMILES Problems as Seen through Twitter Polls
Understanding the problem is the first step toward solving it.


A Dedicated Library for Reading and Writing V3000 CTfiles
Fleshing out a minimalist, modular approach to molecular serialization.

TUCAN Canonicalization Revisited
A revised first-principles approach to canonicalization of a new molecular identifier.