It is been a while since I've studied chemistry. Now, I am reading the documentation of RDKit, where they mention the expression "smallest set of smallest rings" (SSSRs). I understand that a ring is a cycle in a molecule. I also understand that the SSSRs is, as the name suggest, the smallest set of smallest rings, but how do you determine what the smallest sets and rings are? What is a molecule's smallest set of smallest rings? What is a SSSRs used for?
This is a tool to classify molecules with multiple rings. Here is an example from a PhD thesis:
So even though you can find six-membered and eight-membered rings in this structure, these are made up of multiple four-membered rings, and are thus not parts of the set of rings. As the picture illustrates, it is sufficient to choose five rings to show the connectivity of the atoms, so even though there are six four-membered rings, the SSSR includes only five of them. In this case, which five is ambiguous.
how do you determine what the smallest sets and rings are?
It turns out that this is ambiguous, so different software might get different results. In contrast, giving the size of all rings is unambiguous, but - according to the thesis I quoted - computationally more expensive and chemically less intuitive.
What is a SSSRs used for?
To classify cyclic molecules in cheminformatics. For a given software, two molecules are different if they have different SSSRs. Conversely, two identical molecules will have the same SSSR. This makes it easier to classify, sort, and search this class of molecules.