Lipinski and logP
Most datasets will be filtered by the Lipinski rule, plus in the some cases, such as Enamine Real whether they can be bought.
One criterion in the Lipinski rule filter is the logP, or octanol-water partition coefficient. This is super important, because a compound that cannot cross the membrane is likely of limited uses —as a consequence prodrugs are a commonly taken approach.
However, albeit obvious, not all datasets in Zinc are filtered by the Lipinski rule, they just need more browsing...
However, you may have a valid reason to eschew logP.
Nature tries its best to have intermediate metabolites that have hydrophilic handles attaches, eg. CoA, phosphates and sugars. Therefore, if you want a natural metabolite this is a completely different question. Many of these are not very purchasable, but a PDB-derived dataset of natural ligands will likely be purchasable or easily extractable. Alternatively Zinc has several natural catalogues...
Glycerol is a 3 carbon molecule and has a MW of 90 Da. Many of the old drugs are small, but not that small. For example aspirin is 180 Da, which is twice the size of glycerol. Lipinski rule says not to go over 500 Da and 250-400 Da is a lovely range. Say you have a perfectly bound glycerol, with a perfect ligand efficiency of -1.5 kcal/mol/atom, that would mean it would bind at –9 kcal/mol in the best case scenario, i.e. it is too small to bind anything with nanomolar affinity and will actually bind a lot of things. Glycerol after all is commonly cocrystallised in protein...
The GDB datasets have enumerated compounds of a given size, but don't go that low.
There will be two further complications that will hinder the accuracy.
- protonated and deprotonated atoms
- polarisable groups
The former requires correct conformers, the latter requires a force field that has a Drude particle, e.g. in openMM.
Caveat against sorting by binding score
Also, it should be said that if you sort by binding score (kcal/mol or kJ/mol) you will get bigger compounds (hence the whole point of ligand efficiency) and compounds with high logP. The former is because they will have more contact points to make, the latter is because given that ∆∆G is ∆G_bound - ∆G_unbound, an unbound high-logP compound is highly unhappy in aqueous solution.