CML

Marvin is capable of importing and exporting files in the Chemical Markup Language. Special atom types are lost during export.

Import

The following CML2 standard tags are recognized:

Code: cml

Extension: .cml

    • <propertyList>

      • <property dictRef="name" title="name"> - A property.

        • <scalar [dataType="dataType"]>value</scalar> - Supported data types: "string" (default), "boolean", "integer", "double", "ENTITY" (for special property classes).

        • <array dataType="dataType" [delimiter="delimiter"]>list of values</array> - Currently, only the "integer" data type is supported. The default delimiter is the space character.

    • <property>

    • <atomArray>
      Attributes:

      • atomID, elementType, x2, y2, x3, y3, z3, formalCharge, hydrogenCount, isotope

      Children:

      • <atom>
        Attributes:

        • id, elementType, x2, y2, x3, y3, z3, formalCharge, hydrogenCount, isotope

    • <bondArray>
      Attributes:

      • atomRefs1, atomRefs2, order

      Children:

      • <bond atomRefs2="a1a2" order="order" >
        The atom references a1 and a2 must be valid atom ids. The order value can be "1", "S" (single), "2", "D" (double), "3", "T" (triple) or "A" (aromatic).
        Children:

        • <bondStereo>value</bondStereo>

          • Value can be "W" (wedge - up), "H" (hatch - down), "C" (cis) or "T" (trans)

        • <bondStereo convention="convention" conventionValue="value" />

          convention

          conventionValue

          meaning

          MDL

          1

          up

          MDL

          6

          down

          MDL

          4

          either

          MDL

          3

          cis or trans

          ChemAxon

          CTUnspec

          cis/trans or unspecified

        A <bond> tag is recognized at import even if the bondArray container is not present.

  • <reaction>
    Attributes:

    • title

    Children:

    • <reactantList>

      • <molecule>

    • <productList>

      • <molecule>

    • <propertyList> - Reaction properties

CML in other programs:

  • JChemPaint (last version tested: 1.9.8) and Marvin imports each other's CML files.

  • Jmol 8 imports CML files exported by Marvin that contain 3D structures. Jmol is a 3D viewer that does not import bonds but calculates them from atomic distances. This means that bonds are not imported correctly if the molecule is 2D.