The SCINS descriptor. The SCaffold Identification and Naming System (SCINS) is a descriptor of the reduced generic scaffold (Figure ) and is represented by a string in the format Implementation. A pivotal part of the algorithm for computing the SCINS for a generic scaffold is obtaining all atoms that take part in a chain (equivalent to removing all ring atoms from the molecule). The so-obtained chains are then traversed in a depth-first type of manner and used to find the contiguous linkers (A), as well as computing the lengths of the chains in the chain assemblies (B, J-M). To calculate the ring descriptors, we first obtain a list of all rings (the length of which is C), where each ring is represented by a list of atom indices that take part in it, and then, merging rings with common atoms gives the ring assemblies. The result is then used to compute D and F-H. E is different from the original definition which uses the number of bridging bonds . Here the number of bridge atoms is used because of the convenience of the method implemented in RDKit (rdMolDescriptors.CalcNumBridgeheadAtoms). While users have the choice to obtain the generic scaffold in the way they choose, throughout the rest of this work we use the sequence in Figure (a) because it results in a more generic scaffold, therefore, reducing scaffold and SCINS space. Empirically, this resulted in a much smaller SCINS space (30-40% depending on the dataset). In case of an error when calculating the SCINS, the package returns "ERROR_SCINS" which can easily be detected in the later parts of a workflow. In our experience this has only been observed when a rdkit.Chem.rdchem.Mol object (i.e., a molecule that can be sanitized according to the rules in RDKit) cannot be obtained from the input.