Molecular Structure & Computation

The (RefLink[Molecule, paclet:ref/Molecule]) is a symbolic representation of a chemical species and is a fully computable first-class member of the  Wolfram Language. 20+ new functions allow users to create, analyze and modify chemical species. A wide range of  computed properties such as stereochemistry, symmetry elements, molecular graphs and molecular mechanics energies  facilitate problem solving across all chemical disciplines. Built-in support for organic and inorganic nomenclature allows fast creation of molecule objects from chemical names. Molecule folds seamlessly into existing functionality, e.g. (RefLink[Graph, paclet:ref/Graph]), to enable novel computations.

Symbolic Molecule Representation

(RefLink[Molecule, paclet:ref/Molecule]) — a molecule specified by atoms and bonds, name or SMILES string

(RefLink[Atom, paclet:ref/Atom]) — symbolic representation of an atom in a molecule

(RefLink[Bond, paclet:ref/Bond]) — symbolic representation of single, double, aromatic, etc. bond

Molecule Options

(RefLink[IncludeHydrogens, paclet:ref/IncludeHydrogens]) — whether to implicitly add hydrogen atoms for unfilled valences

(RefLink[StereochemistryElements, paclet:ref/StereochemistryElements]) — specify local stereochemical arrangements of atoms

(RefLink[AtomCoordinates, paclet:ref/AtomCoordinates]) — explicitly specify 3D coordinates of atoms in a molecule

(RefLink[AtomDiagramCoordinates, paclet:ref/AtomDiagramCoordinates]) — explicitly specify 2D coordinates to use in diagrams

(RefLink[IncludeAromaticBonds, paclet:ref/IncludeAromaticBonds]) — whether to include aromatic bonds or use single/double form

Molecular Structure

(RefLink[MoleculeQ, paclet:ref/MoleculeQ]) — test for a valid molecule

Molecular Visualization

(RefLink[MoleculePlot, paclet:ref/MoleculePlot]) — annotatable 2D molecular structure diagram with automatic layout

(RefLink[MoleculePlot3D, paclet:ref/MoleculePlot3D]) — 3D molecular rendering allowing automatically generated coordinates

(RefLink[Style, paclet:ref/Style]) — specify highlighting and other styles for molecular substructures

(RefLink[PlotTheme, paclet:ref/PlotTheme]) — specify overall appearance ("SpaceFilling", "BallAndStick", "Tubes", ...)

Molecular Graphs

(RefLink[MoleculeGraph, paclet:ref/MoleculeGraph]) — get an annotated graph for a molecule

(RefLink[ConnectedMoleculeQ, paclet:ref/ConnectedMoleculeQ]) — test for a single covalently bound structure

(RefLink[ConnectedMoleculeComponents, paclet:ref/ConnectedMoleculeComponents]) — give a list of independent covalently bound structures

Molecular Property Computation

(RefLink[MoleculeValue, paclet:ref/MoleculeValue]) — find structural or computed properties of molecules

(RefLink[MoleculeProperty, paclet:ref/MoleculeProperty]) — symbolic representation of a molecular property

Molecular Comparison & Substructure

(RefLink[MoleculeEquivalentQ, paclet:ref/MoleculeEquivalentQ]) — test for molecule equivalence with various criteria

(RefLink[MoleculeContainsQ, paclet:ref/MoleculeContainsQ]) — test whether a molecule contains a specified structure

(RefLink[FindMoleculeSubstructure, paclet:ref/FindMoleculeSubstructure]) — find where a substructure occurs in a molecule

(RefLink[MoleculePattern, paclet:ref/MoleculePattern]) — symbolic or SMARTS pattern representing a molecular substructure

Modifying Molecules

(RefLink[MoleculeModify, paclet:ref/MoleculeModify]) — create a new molecule by editing an existing molecule

(RefLink[ValenceErrorHandling, paclet:ref/ValenceErrorHandling]) — how to handle valence errors when a molecule is edited

(RefLink[Import, paclet:ref/Import]), (RefLink[Export, paclet:ref/Export]) — import and export molecular structures

Known Chemicals & Properties

(EntityTypeLink[Chemical, paclet:ref/entity/Chemical]) — known chemicals and their properties

Molecular Dynamics

(RefLink[NBodySimulation, paclet:ref/NBodySimulation]) — classical n-body simulation with arbitrary potentials