The ClusterGraph object expands on the SingleGraph idea by creating SMIRKS for groups of molecular fragments. The underlying structure is the same with a graph connecting atoms (nodes) by bonds (edges). As depicted in the implementation example below, the inputs also mirror SingleGraph, but it takes a list of molecules instead of a single molecule. The atoms are specified by lists of indices that should be included in the SMIRKS for each molecule. To illustrate the differences we will consider making SMIRKS which match the carbon-carbon single bonds in ethanol and propene (Figure ). The SMIRKS for this example can be generated with the code snippet below.