Hierarchical enumeration. Our implementation of a hierarchical enumeration is based on the V-SYNTHES method . We created a minimally-enumerated library (MEL) of UnREAL by 'capping' each synthon with a 'minimal' synthon at each of the R-group positions. Thus, the MEL contains one compound with caps for each unique synthon in the library. The hierarchical enumeration proceeds by iteratively performing three steps: scoring, filtering/selection, and expansion. The scoring step assigns scores to properties of molecules in the current iteration. The filtering and selection step removes molecules that have either grown too large or too greasy. We relaxed the filtering thresholds for molecular weight and logP based on the number of caps still present in the molecule, increasing the molecular weight by 100 Da and 1 unit of logP for each cap replaced. The final compounds satisfy MW < 550 Da and CLogP < 5. Finally, we imposed a mild diversity cutoff (Tanimoto coefficient T c < 0.9 to any other molecule in the set) to ensure we select sufficiently diverse molecules for expansion. At each iteration, k molecules are selected for the expansion step (where k can be adjusted). In the expansion step, for each of the k molecules, we replace one of the caps with up to m synthons. Synthons are selected based on the score of their corresponding MEL compound. The enumeration terminates when all caps were replaced. The highest scoring molecules are output.