The GA was implemented using the Python programming language, version 3.8 using custom code which can be found on GitHub at . We ran the GA on a list of 1226 different organic monomers . The full list of monomers can be found in the Supplementy Information. Each monomer is numbered from 0 to 1225 in no particular order. The oligomers were 8 monomers long, that is, 4 monomer pairs (that is, AB-AB-AB-AB, where A and B are the different monomers in the oligomer), in order to match previous studies . In every step of the GA the oligomers were constructed from the SMILES strings of their respective monomers and followed by an initial force-field geometry optimization step with either UFF or MMFF95 using OpenBabel 23 version 3.10. A second geometry optimization step and the calculation of the HOMO-LUMO gap were done using GFN2-xTB 24 version 6.4.1. The GFN2-xTB output was parsed using a custom made Python script.