SDF (.sdf)

  • Import and Export support version 2 of the SDF format.
  • Background & Context

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

    Import and Export

    • Import["file.sdf"] imports a molecule model or a structure diagram from an SDF file.
    • Export["file.sdf",expr] exports elements of a molecule model to an SDF file.
    • Import["file.sdf"] gives a Graphics3D object when reading a 3D molecule model and vector graphics when importing a planar representation of a molecule.
    • Import["file.sdf",elem] imports the specified element from an SDF file.
    • Import["file.sdf",{elem,suba,subb,}] imports a subelement.
    • Import["file.sdf",{{elem1,elem2,}}] imports multiple elements.
    • The import format can be specified with Import["file","SDF"] or Import["file",{"SDF",elem,}].
    • Export["file.sdf",expr,elem] creates an SDF file by treating expr as specifying element elem.
    • Export["file.sdf",{expr1,expr2,},{{elem1,elem2,}}] treats each expri as specifying the corresponding elemi.
    • Export["file.sdf",expr,opt1->val1,] exports expr with the specified option elements taken to have the specified values.
    • Export["file.sdf",{elem1->expr1,elem2->expr2,},"Rules"] uses rules to specify the elements to be exported.
    • See the reference pages for full general information on Import and Export.
    • ImportString and ExportString support the SDF format.


    • General Import elements:
    • "Elements"list of elements and options available in this file
      "Rules"full list of rules for each element and option
      "Options"list of rules for options, properties, and settings
    • Graphics elements:
    • "Graphics3D"3D renderings of all molecule models stored in the file
      "Graphics3D",n3D rendering of the n^(th) molecule
      "StructureDiagram"2D structure formulas of all molecules
    • Import by default uses the "Graphics3D" element for SDF files that contain 3D molecule models, and "StructureDiagram" for structure formulas.
    • Data representation elements:
    • "EdgeRules"connectivity data, given as a list of lists of rules
      "EdgeTypes"bond types, as a list of lists of strings
      "FormalCharges"charges of the atoms given by "VertexTypes"
      "MassNumbers"isotope mass numbers
      "VertexCoordinates"2D or 3D atomic coordinates, typically in picometers
      "VertexTypes"all atoms or groups constituting the molecule, typically given as a list of chemical element abbreviations
    • Import["file.sdf","EdgeRules"] gives the connectivity data for all chemical compounds stored in the file as a list of lists of rules.
    • Export["file.sdf",{vertlist,coordlist},{{"VertexTypes","VertexCoordinates"}}] creates an SDF file from a specification of atom types and their 2D or 3D coordinates.
    • Meta-information element:
    • "Header"header information for each molecule stored in the file, given as a list of strings


    • General 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


    Basic Examples  (1)

    Show the Import elements available in an SDF file:

    Click for copyable input

    Import all molecules and render them as structure diagrams:

    Click for copyable input

    Import the second molecule from the file as a structure diagram:

    Click for copyable input

    Import meta-information for the second compound in this file:

    Click for copyable input

    This gives the atom types and their 2D coordinates for all structure diagrams stored in the file:

    Click for copyable input

    This creates an SDF file from the previous output:

    Click for copyable input

    See Also

    "FASTA"  "MOL"  "PDF"  "XYZ"  "HIN"

    Introduced in 2008