Le CML (Chemical Markup Language)

December 6th, 2009

Bonjour, quoi de mieux pour commencer la semaine qu’un billet à propose du CML (Chemical Markup Language).

L’univers de la représentation des structures moléculaires est présentement dominé par les formats propriétaires développés par Cambridgesoft (.chm & .cdx) et Symyx Technology (.skc). Cette situation a, entre autre, comme conséquence que le développement des applications libres d’édition de structure moléculaire (pour Linux par exemple) est relativement peu avancé. Pour cette raison, l’utilisation des OS alternatifs parmi les étudiants de chimie et biochimie est extrêmement peu répandue.

Le CML est une alternative aux formats propriétaires qui permet de décrire les structures de composés chimiques de façon précise et indépendante de la plateforme utilisée. Le CML a été inventé par Peter Murray-Rust et Henry Rzepa en 1994 dans le but de créer une nouvelle approche de gestion des informations moléculaires utilisant la technologie XML. Bien qu’à la base, le CML soit strictement basé sur le SGML, il est entièrement compatible avec le XML. Contrairement à d’autres formats similaire tel que le CDXML développé par Cambridgesoft dans le cadre de sa suite de logiciel ChemOffice, le CML permet de décrire les données d’un large éventail de domaine relatif à la chimie. (source http://wwmm.ch.cam.ac.uk/blogs/cml/?p=38) Par exemple, il peut être utilisé pour décrire plusieurs types de spectres, pour décrire les molécules organiques ainsi que leur réactions, pour décrire les structures cristallines obtenues par diffraction des rayon X et bien plus encore. (Source http://cml.sourceforge.net/historical/faq.html#whatdiscip)

CML inclue les spécifications de plusieurs autres langages de balisage basés sur le XML tel que MathML, ThermoML, CIF et AniML. Les spécifications complètes de CML sont disponibles sous une multitude de modules dont le plus important, CMLCore, est disponible à l’adresse http://cml.sourceforge.net/schema/cmlCore.xsd. L’espace de nom correspondant est le ‘http://www.xml-cml.org/schema/cml2/core’.

Il existe plusieurs options pour visualiser les informations contenues dans un fichier CML. Peter Murray-Rust a grandement contribué au développement de JUMBO (Java Universal Markup Browser for Objects), une librairie Java qui permet de représenter les informations contenues dans le CML sous forme d’objets qui peuvent ensuite être utilisée pour une grande variété de contextes (affichage via SVG, conversion entre différents formats, validation/édition de CML, etc.). JUMBO comprends plus de 300 classes et est toujours en évolution. (source http://sourceforge.net/projects/cml/) La plupart des logiciels d’édition de structure supportent CML et plusieurs, tel que JchemPaint (dessins 2D) ou Jmol (dessins 3D) sont des logiciels libres.

Je vous invite à lire la publication originale des spécifications du CML, disponible au http://www.rsc.org/suppdata/NJ/b0/b008780g/cmlarticle.html, qui présente de manière extensive les possibilités offertes par ce format.

Business Broker