Chemical Markup Language (ChemML or CML) is an approach to managing
molecular
A molecule is a group of two or more atoms that are held together by attractive forces known as chemical bonds; depending on context, the term may or may not include ions that satisfy this criterion. In quantum physics, organic chemistry, ...
information using tools such as
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing data. It defines a set of rules for encoding electronic document, documents in a format that is both human-readable and Machine-r ...
and
Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
. It was the first domain specific implementation based strictly on
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing data. It defines a set of rules for encoding electronic document, documents in a format that is both human-readable and Machine-r ...
, first based on a
DTD and later on an
XML Schema
An XML schema is a description of a type of XML document, typically expressed in terms of constraints on the structure and content of documents of that type, above and beyond the basic syntactical constraints imposed by XML itself. These constrai ...
, the most robust and widely used system for precise information management in many areas. It has been developed over more than a decade by
Murray-Rust,
Rzepa and others and has been tested in many areas and on a variety of machines.
Chemical information is traditionally stored in many different file types which inhibit reuse of the documents. CML uses XML's portability to help CML developers and chemists design interoperable documents. There are a number of tools that can generate, process and view CML documents. Publishers can distribute chemistry within XML documents by using CML, e.g. in
RSS
RSS ( RDF Site Summary or Really Simple Syndication) is a web feed that allows users and applications to access updates to websites in a standardized, computer-readable format. Subscribing to RSS feeds can allow a user to keep track of many ...
documents.
CML is capable of supporting a wide range of chemical concepts including:
* molecules
* reactions
* spectra and analytical data
*
computational chemistry
Computational chemistry is a branch of chemistry that uses computer simulations to assist in solving chemical problems. It uses methods of theoretical chemistry incorporated into computer programs to calculate the structures and properties of mol ...
* chemical crystallography and materials
Details of CML and points currently under discussion are now posted on the CML Blog.
Versioning
Versions of the schema are available at
SourceForge
SourceForge is a web service founded by Geoffrey B. Jeffery, Tim Perdue, and Drew Streib in November 1999. SourceForge provides a centralized software discovery platform, including an online platform for managing and hosting open-source soft ...
. As of April 2012, the latest frozen schema is CML v2.4. Some constructs in CML v1 are now deprecated.
Tools
JUMBO began life as the Java Universal Molecular Browser for Objects but is now a Java library that supports validation, reading and writing of CML as well as conversion of several legacy formats to CML and, for example, a reaction in CML to an
animated SVG representation of the reaction. JUMBO has evolved into an extensive Java library, CMLDOM, supporting all elements in the schema. Although JUMBO used to be a browser, the preferred approach is to use the Open Source tools
Jmol
Jmol is computer software for molecular modelling of chemical structures in 3 dimensions.
It is an open-source Java viewer for chemical structures in 3D.
The name originated from ''Jva (the programming language) + olcules, and also the m ...
and
JChemPaint, some of which use alternative CML libraries.
See
Blue Obelisk
Blue Obelisk is an informal group of chemists who promote open data, Open-source model, open source, and open standards; it was initiated by Peter Murray-Rust and others in 2005. Multiple open source cheminformatics projects associate themselves w ...
.
Software support
Software importing and exporting a valid CML format
*
Bioclipse
*
CDK
*
JOELib
*
OpenBabel
*
Avogadro
*
XDrawChem
*
OpenChrom
See also
*
List of document markup languages
The following is a list of document markup languages. You may also find the List of markup languages of interest.
Well-known document markup languages
* HyperText Markup Language (HTML) – an ad hoc markup language that was originally created f ...
*
Blue Obelisk
Blue Obelisk is an informal group of chemists who promote open data, Open-source model, open source, and open standards; it was initiated by Peter Murray-Rust and others in 2005. Multiple open source cheminformatics projects associate themselves w ...
community for Open Source chemical software
*
Comparison of document markup languages
*
JCAMP-DX
JCAMP-DX are text-based file formats created by JCAMP for storing spectroscopic data. It started as a file format for Infrared spectroscopy. It was later expanded to cover Nuclear magnetic resonance spectroscopy, mass spectrometry, electron ma ...
(another well-known standard, especially for spectroscopic data)
*
MathML
Mathematical Markup Language (MathML) is a pair of mathematical markup languages, an application of XML for describing mathematical notations and capturing both its structure and content. Its aim is to natively integrate mathematical formulae ...
References
Further reading
*
*
External links
Chemical Markup Language (CML)This includes the CML Schema, links to tools, documentation, and source code
CML BlogThe original (old) site
{{Document markup languages
Markup languages
Industry-specific XML-based standards
Chemical file formats
Cheminformatics
Computational chemistry
Computer-related introductions in 1999