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 allScope (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:
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