This algorithm yields our "all nodes" representation . It can be converted to "PE" (standing for "points of extension") by removing all metallic atoms and bonding their corresponding points of extension to describe the coordination polyhedra around the removed metals. The "all nodes" representation is also convertible to "single nodes" simply by merging the organic points of extension with their neighbouring organic SBU. It can also be transformed to yield the "PEM" (for "points of extension and metals") representation by splitting inorganic clusters to keep only one metal atom per SBU. Combining the algorithm for "PEM" and "single nodes" yields our "standard" representation . For simple cases, we also provide an "each vertex" clustering option which bypasses the entire clustering step and keeps each atom as its own SBU, as well as an "input" option which determines clusters directly from the Residues of the chemfiles-parsed input file, so that the user may provide their own SBUs.