• Using xyz2mol , an RDKit mol object is generated for the ligand using the charge guess. This is done by looping over all combinations of allowed valences for the atoms until a solution matching the required charge and ligand AC is found. If no sanitizable solution is found, the charge is adjusted; if q ≥ 0 we add two electrons, otherwise we remove two electrons. If still no sanitizable solution can be found no SMILES is generated.