To help guide optimization for the kinase inhibitor application, Atlas uses a physicochemical descriptor representation of the molecular template and alkyne options. We hand-select a set of 17 2d molecular descriptors from the Mordred Python library. The descriptors are as follows: molecular weight (MW), topological radius (Radius), topological diameter (Diameter), topological polar surface area (TopoPSA), rotable bonds ratio (RotRatio), number of rotable bonds (nRot), bond polarizability (bpol), atomic polarizability (apol), number of hydrogen bond donor (nHBDon), hybridization ratio (HybRatio), Wildman-Crippen LogP (SLogP), number of hydrogen bond donor (nHBDon), number of SP3 carbon bound to 1 other carbon (C1SP3), number of SP2 carbon bound to 3 other carbons (C3SP2), number of SP2 carbon bound to 2 other carbons (C2SP2), number of SP2 carbon bound to 1 other carbons (C3SP2), number of heteroatoms (nHetero), and the number of heavy atoms (nHeavyAtom). The same set of descriptors are used for both template and alkyne molecules, thus the descriptor vector x ∈ R 34 is utilized by the optimizer. (main text Fig. ). The goal of the screening was to find thermodynamically stable HOIPs with small effective masses and optimal band gaps for photovoltaics. The search space consisted of 11 molecular cations (A), 29 divalent metals (B), and 4 halogens (X) for a total of 1276 possible HOIPs.