CML-aware software

This page contains information about and links to CML-aware software, developed in the Murray-Rust group and elsewhere.


"JUMBO" is a collective term for CML-aware software components. They are intended to be definitive for the CML language, and provide validation and examples. CMLXOM and JUMBO are available under SCM on Sourceforge.


CMLXOM represents an in-memory and serializable CML object of any complexity. In general CML can be read into CMLXOM and processed with Java code or XPath expressions.

The code consists of components directly supporting the elements and attributes in CML. Every element has a Java class, e.g.:
<molecule> is supported by
<basisSet> is supported by
In general the classes support management of required or common childElements, required or common attributes.

CMLXOM does not support complex chemical calculations (which are in JUMBO and JUMBOConverters). For example CMLXOM will support the management of bond information but not the generation of SMILES.


JUMBO provides a large set of "tools" which generally support the CMLXOM classes but also provide general functionality. Typically: is supported by MoleculeTool is supported by ReactionTool
These might provide, respectively, molecular geometry, fragment analysis, properties; and stoichiometry, identification of catalysts, etc.


A large set of modular components for carrying out 1:1 transformations. The simplest are Foo2CMLConverter and CML2FooConverter where Foo is a legacy format. This supports major formats in:


The Chemistry Add-in for Word (Chem4Word) is an Open Source (Apache 2.0) program that makes it easier to insert and modify chemical information, such as labels, formulas, and 2D depictions, within Microsoft Office Word. Additionally, it enables the creation of inline "chemical zones", the rendering of print-ready visual depictions of chemical structures, and the ability to store and expose chemical information in a semantically rich manner.