In this work, molecules are represented as a set of molecular fragments including their attachment types (Figure ). We rely on BRICS as implemented in the RDKit (RDKit, on-line) to connect and disconnect molecular fragments and assign each molecular fragment an unambiguous gene type describing the number and nature of molecular attachment groups present. Specifically, a fragment gene type is a sorted list of disconnection type IDs, where disconnection types are defined by the fragmentation scheme. If a fragment has a single disconnection point (i.e. it is a pendant fragment in a molecule), the disconnection type will be identical to the gene type. Where a fragment has multiple disconnections, the disconnection types are sorted and concatenated into a string along with a separator character "#". Examples of fragments and their gene types are given in Figure . When a molecule is decomposed, we additionally keep track of the original connectivity as metadata on each disconnected fragment.