FindMoleculeSubstructure

FindMoleculeSubstructure[mol,patt]

finds a mapping between the atom indices in mol and an occurrence of patt in mol.

FindMoleculeSubstructure[mol,patt,All]

finds all occurrences of patt in mol and returns all mappings.

FindMoleculeSubstructure[mol,patt,n]

finds at most n mappings.

Details and Options

  • FindMoleculeSubstructure returns a list of associations Association[p1->m1,p2->m2,] where pi and mi are atom indices in patt and mol, respectively.
  • By default, substructure matches are pruned to remove multiple matches to the same set of atoms. Use the option Overlaps->True to disable this behavior.

Examples

open allclose all

Basic Examples  (2)

Find phenyl rings in a molecule:

Find all alcohol functional groups:

Scope  (4)

Use an atomic symbol string as a pattern:

Indicate charge or mass number in the atomic symbol:

Use Atom to make a more general pattern. Find all charged atoms:

Find positively charged atoms:

Find negatively charged atoms:

Use Bond to define a pattern for any double bond:

Find only double bonds with a nitrogen atom:

Find double bonds with a charged atom:

Introduced in 2019
 (12.0)