The 3D molecular models are obtained with the RDKit function MMFFOptimizeMolecule and the arguments mmffVariant='MMFF94' and maxIters=5000. Several options are available previous to the generation of the models: to remove metals (based on the MetalDisconnector class), to keep the largest fragment (uses LargestFragmentChooser(preferOrganic=True)), or to neutralize (uses Uncharger). The hydrogen atoms are added with Chem.AddHs().