Chemical Markup Language
|Type of format||chemical file format|
Chemical Markup Language (ChemML or CML) is an approach to managing molecular information using tools such as XML and Java. It was the first domain specific implementation based strictly on XML, first based on a DTD and later on XML Schema, 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 documents.
CML is capable of supporting a wide range of chemical concepts including:
- spectra and analytical data
- computational chemistry
- chemical crystallography and materials
Details of CML and points currently under discussion are now posted on the CML Blog.
Versions of the schema are available at Sourceforge. As of April 2012, the latest frozen schema is CML v2.4. Some constructs in CML v1 are now deprecated.
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 and JChemPaint, some of which use alternative CML libraries. See Blue Obelisk.
See also 
- List of document markup languages
- Comparison of document markup languages
- Software importing and exporting a valid CML format
- Joint Committee on Atomic and Molecular Physical Data (another well-known standard, especially for spectroscopic data)
- Blue Obelisk community for Open Source chemical software
- Murray-Rust, P.; Rzepa, H. S. (1999), "Chemical Markup, XML, and the Worldwide Web. 1. Basic Principles", J. Chem. Inf. Comput. Sci. 39 (6): 928–942, doi:10.1021/ci990052b
- Murray-Rust, P.; Rzepa, H. S. (2003), "Chemical Markup, XML and the World Wide Web. 4. CML Schema", J. Chem. Inf. Comput. Sci. 43 (3): 757–772, doi:10.1021/ci0256541
- Gkoutos, G. V.; Murray-Rust, P.; Rzepa, S.; Wright, M. (2001), "Chemical Markup, XML, and the World-Wide Web. 3. Toward a Signed Semantic Chemical Web of Trust", J. Chem. Inf. Comput. Sci. 41 (5): 1124–1130, doi:10.1021/ci000406v
- Holliday, G. L.; Murray-Rust, P.; Rzepa, H. S. (2006), "Chemical Markup, XML and the World Wide Web. Part 6. CMLReact; An XML Vocabulary for Chemical Reactions", J. Chem. Inf. Mod. 46 (1): 145–157, doi:10.1021/ci0502698
- Kuhn, S.; Helmus, T.; Lancashire,, R. J.; Murray-Rust, P.; Rzepa, H. S.; Steinbeck, C.; Willighagen, E. L. (2007), "Chemical Markup, XML, and the World Wide Web. 7. CMLSpect, an XML Vocabulary for Spectral Data", J. Chem. Inf. Mod. 47 (6): 2015–2034, doi:10.1021/ci600531a
- Murray-Rust, P.; Rzepa, H. S. (2001), "Chemical Markup, XML and the World-Wide Web. 2. Information Objects and the CMLDOM", J. Chem. Inf. Comput. Sci. 41 (5), doi:10.1021/ci000404a
- CML home on Sourceforge
- E. L. Willighagen, Processing CML Conventions in Java, Chemistry Preprint Server, 2000. CPS Archives; E. L. Willighagen, Processing CML Conventions in Java, Internet Journal of Chemistry, 2001, 4. Abstract
Further reading 
- Rzepa, H. S.; Murray-Rust, P.; Whitaker, B. J. (1997), "The Internet as a Chemical Information Tool", Chem. Soc. Revs 26 (1): 1–10, doi:10.1039/CS9972600001
- Murray-Rust, P.; Rzepa, H. S.; Wright, M. (2001), "Development of Chemical Markup Language (CML) as a System for Handling Complex Chemical Content", New J. Chem.: 618–634