SDF (.sdf, .sd)
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 & Export
- Import["file.sdf"] imports a list of molecules from an SDF file.
- Export["file.sdf",expr] exports a molecule or list of molecules to an SDF file.
- 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",mol] creates an SDF file from a molecule.
- Export["file.sdf",{mol1,mol2,…}] creates an SDF file from a list of molecules.
- 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 following reference pages for full general information:
-
Import, Export import from or export to a file CloudImport, CloudExport import from or export to a cloud object ImportString, ExportString import from or export to a string ImportByteArray, ExportByteArray import 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 elements:
-
"Molecule" a symbolic representation of the molecule model "Molecule", n a symbolic representation of the n molecule "Metadata" an Association containing the metadata from the file "Metadata", n the metadata for the n molecule - Graphics elements:
-
"Graphics3D" 3D renderings of all molecule models stored in the file "Graphics3D",n 3D rendering of the n molecule "StructureDiagram" 2D structure formulas of all molecules - 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 angstroms "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
Options
- General Import options:
-
ImageSize Automatic specifies the overall size of the graphics to display Background White specifies what background color to use ViewPoint Automatic point 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" Automatic whether to include 2D or 3D coordinates "Header" Automatic a string to use on the first line IncludeHydrogens Automatic whether 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.
Examples
open allclose allBasic Examples (2)
Show the Import elements available in an SDF file:
Import the second molecule from the file:
Import meta-information for the second compound in this file:
This gives the atom types and their 2D coordinates for all structure diagrams stored in the file: