Fig. 1: eDESIGNER concepts.

a Description of the overall eDESIGNER process: reactions and building block types (BBTs) are combined to generate all possible eDESIGNs, then eDESIGNs are merged into libDESIGNS when they can be implemented together in the same experimental conditions. Only libDESIGNs meeting specific criteria survive and their diversity is analyzed through a sample of 10,000 compounds per libDESIGN. b eDESIGN and libDESIGN objects: BBTs and reactions are combined in graph objects in which edges represent reactions and nodes are BBTs. libDESIGNS combine several eDESIGNS with the same topology and compatible reactions. c Functional group (FG) and BBT objects: a functional FG is a handle that can be used to link BBTs through reactions. Some FGs are exposed for reactions, and some are protected and need deprotection reactions to become exposed. The null FG is added to simplify the code. A combination of FGs defines a BBT. d Reaction object: connecting reactions connect two FGs to link two BBTs eliminating the FGs used (entry 1) or creating a new one (entry 2). Deprotection reactions transform an FG into a different one without addition of mass (entry 3) or incorporating a scaffold (entry 4). e Iterative process to generate an eDESIGN: a growing eDESIGN, characterized by its list of FGs, can then further incorporate new BBTs using additional reactions, convert protected FGs in exposed FGs, or add a non-coded scaffold.