MolecularDiffusion.runmodes.analyze.druglike¶
Drug-likeness descriptors for generated molecules.
Backs MolCraftDiff analyze metrics --metrics druglike. Everything here is
computed from the molecule alone – no reference molecule, no receptor – which
is why it is a separate set from similarity3d.
Columns follow what the pocket-conditioned literature reports:
RDKit descriptors – QED, SA, LogP, fsp3, MW, HBD, HBA;
lipinski– how many of the five Lipinski rules a molecule obeys (others/targetdiff/utils/evaluation/scoring_func.py:obey_lipinski);pains_pass– free of PAINS-A substructures;ring_filter_pass– no ring larger than 6 that is not aromatic-fused, the 2D ring sanity filter from DiffLinker;ring statistics – counts plus which ring sizes are present;
rdkit_rmsd_*– distance from the generated pose to UFF-optimised RDKit conformers. Expensive (embedsn_confconformers per molecule), so it is opt-in via--rdkit-rmsd.
Attributes¶
Functions¶
|
All drug-likeness columns for one molecule. |
|
RMSD from the generated pose to |
Module Contents¶
- MolecularDiffusion.runmodes.analyze.druglike.compute(mol, with_rdkit_rmsd=False, n_conf=20)¶
All drug-likeness columns for one molecule.
molmust already be sanitized. Returns a flat dict ready for a DataFrame row.
- MolecularDiffusion.runmodes.analyze.druglike.rdkit_rmsd(mol, n_conf=20, random_seed=42)¶
RMSD from the generated pose to
n_confUFF-optimised conformers.Mirrors
others/targetdiff/utils/evaluation/scoring_func.py:get_rdkit_rmsd. Returns(min, median, max), or(None, None, None)when embedding fails.
- MolecularDiffusion.runmodes.analyze.druglike.RING_SIZES¶