MOL (.mol)

Background & Context

    • MIME type: chemical/x-mdl-molfile
    • MDL molecule model files.
    • Used in cheminformatics applications and on the web for storing and exchanging 3D molecule models.
    • Plain text tabular format.
    • Represents a single chemical compound.
    • Stores atomic coordinates, chemical bond information, and metadata.
    • Maintained by Elsevier Molecular Design Limited (MDL).

Import & Export

  • Import["file.mol"] imports a molecule from a molfile.
  • Export["file.mol",mol] exports elements of a molecule model to a molfile.
  • Import["file.mol"] gives a Molecule containing the molecule model contained in the molfile.
  • Import["file.mol",elem] imports the specified element from a molfile.
  • Import["file.mol",{elem,suba,subb,}] imports a subelement.
  • Import["file.mol",{{elem1,elem2,}}] imports multiple elements.
  • The import format can be specified with Import["file","MOL"] or Import["file",{"MOL",elem,}].
  • Export["file.mol",mol] creates a molfile by treating mol as a Molecule.
  • Export["file.mol",expr,elem] creates a molfile by treating expr as specifying element elem.
  • Export["file.mol",{expr1,expr2,},{{elem1,elem2,}}] treats each expri as specifying the corresponding elemi.
  • Export["file.mol",expr,opt1->val1,] exports expr with the specified option elements taken to have the specified values.
  • Export["file.mol",{elem1->expr1,elem2->expr2,},"Rules"] uses rules to specify the elements to be exported.
  • See the following reference pages for full general information:
  • Import, Exportimport from or export to a file
    CloudImport, CloudExportimport from or export to a cloud object
    ImportString, ExportStringimport from or export to a string
    ImportByteArray, ExportByteArrayimport from or export to a byte array

Import Elements

  • General Import elements:
  • "Elements" list of elements and options available in this file
    "Summary"summary of the file
    "Rules"list of rules for all available elements
  • Data element:
  • "Molecule"a symbolic representation of the molecule model
  • Graphics elements:
  • "Graphics3D"3D rendering of the molecule model
    "StructureDiagram"2D structure formula
  • Data representation elements:
  • "EdgeRules"connectivity data, given as a list of rules
    "EdgeTypes"bond types, given as a list of strings
    "FormalCharges"electric charges of the atoms, given as a list of integers
    "MassNumbers"isotope mass numbers
    "VertexCoordinates"2D or 3D atomic coordinates, typically given in angstroms
    "VertexTypes"all atoms or groups constituting the molecule, typically given as a list of chemical element abbreviations
  • Export["file.mol",{vert,coord},{{"VertexTypes","VertexCoordinates"}}] creates a molfile from a specification of atom types and their 2D or 3D coordinates.
  • Metainformation element:
  • "Header"header information from the file


  • Graphical Import options:
  • ImageSizeAutomaticspecifies the overall size of the graphics to display
    BackgroundWhitespecifies what background color to use
    ViewPointAutomaticpoint in space from which the 3D model is to be viewed
  • With the default setting "ViewPoint"->Automatic, the Wolfram Language automatically calculates the optimal viewing angle for the imported molecule geometry.
  • Selecting a 3D rendering style:
  • "Rendering""BallAndStick"specifies the visualization method
  • Possible settings for "Rendering" are:
  • "BallAndStick"displays atoms and bonds as a ball-and-stick model
    "Spacefilling"atoms shown as overlapping spheres
    "Wireframe"bonds rendered as lines
  • General Export options include:
  • "CoordinateDimension"Automaticwhether to include 2D or 3D coordinates
    "Header"Automatica string to use on the first line
    IncludeAromaticBondsTruewhether to use the "Aromatic" bond type
    IncludeHydrogensAutomaticwhether to include explicit hydrogen atoms
  • With the setting of "CoordinateDimension"Automatic, 3 will be chosen if the molecule expression contains explicit AtomCoordinates, and 2 will be chosen if the molecule contains AtomDiagramCoordinates.
  • If neither is present, coordinates will be generated automatically. In this case, three- or two-dimensional coordinates will be used, depending on whether the molecule has explicit or implicit hydrogens, respectively.


open allclose all

Basic Examples  (2)

Show the Import elements available in a MOL file:

Import a 3D molecule model as a Molecule:

The coordinates from the file are contained in the expression under the AtomCoordinates option:

When importing a molfile that contains a 2D representation of a molecule, the coordinates are stored in the expression under the AtomDiagramCoordinates option:

This creates a molfile from the previous output:

Export Options  (3)

"CoordinateDimension"  (1)

Use "CoordinateDimension"n, where n is 2 or 3, to control whether 2D or 3D coordinates are exported:

IncludeAromaticBonds  (1)

By default, aromatic bonds, when present, are marked with the MDL bond type 4:

To use alternating single and double bonds, bond types 1 and 2 in the MDL scheme, use the option IncludeAromaticBondsFalse:

"Header"  (1)

Use a compounds "PubChem" compound ID to label the output: