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:

Options  (3)

IgnoreStereochemistry  (1)

By default, stereoisomers do not match:

Use IgnoreStereochemistryTrue to get a positive match:

IncludeHydrogens  (1)

By default, substructure matching is performed using a molecule's hydrogen-suppressed graph, unless the pattern contains explicit hydrogen atoms:

Some matches to hydrogen will be missed for more involved patterns. In the following example, the pattern is for a carbon atom bonded to either a hydrogen or chlorine atom, but only finds the C-Cl bond:

Use the option IncludeHydrogensTrue to make sure hydrogens are treated as explicit for the purposes of pattern matching:

Overlaps  (1)

By default, substructure matches are pruned to remove multiple matches to the same set of atoms:

Use the option OverlapsTrue to find all possible matchings between the pattern and molecule:

Applications  (1)

Write a function to locate the nitrogen and carbonyl carbon at the N-terminus of a protein:

Apply the function to a peptide:

Highlight the atoms in a 2D plot:

Wolfram Research (2019), FindMoleculeSubstructure, Wolfram Language function, https://reference.wolfram.com/language/ref/FindMoleculeSubstructure.html.

Text

Wolfram Research (2019), FindMoleculeSubstructure, Wolfram Language function, https://reference.wolfram.com/language/ref/FindMoleculeSubstructure.html.

CMS

Wolfram Language. 2019. "FindMoleculeSubstructure." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/FindMoleculeSubstructure.html.

APA

Wolfram Language. (2019). FindMoleculeSubstructure. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FindMoleculeSubstructure.html

BibTeX

@misc{reference.wolfram_2024_findmoleculesubstructure, author="Wolfram Research", title="{FindMoleculeSubstructure}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/FindMoleculeSubstructure.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_findmoleculesubstructure, organization={Wolfram Research}, title={FindMoleculeSubstructure}, year={2019}, url={https://reference.wolfram.com/language/ref/FindMoleculeSubstructure.html}, note=[Accessed: 22-November-2024 ]}