pengxingang / Pocket2Mol

Pocket2Mol: Efficient Molecular Sampling Based on 3D Protein Pockets
MIT License
266 stars 73 forks source link

Differences between sample.py and sample_for_pdb.py #28

Open VincentBt opened 1 year ago

VincentBt commented 1 year ago

Hi, thank you for the great piece of work!

I was comparing sample.py and sample_for_pdb.py and I noticed that only the second file had queue_weight. Is there any reason for that? I guess this helps generating more diverse molecules.

I also noticed another difference: the possibility in sample.py (but not in sample_for_pdb.py) to use LigandBFSMask masking instead of LigandMaskAll: what is the use of it?

Thank you very much!

pengxingang commented 1 year ago

Hi, thanks for your interest.

The queue_weight parameter was introduced to address situations where a single sample has an excessive number of descendant samples. This can lead to decreased diversity in the generated molecules. Moreover, we have noticed that it can sometimes result in the generation of molecules with multiple rings, resembling polycyclic aromatic hydrocarbons, which is not desired.

Regarding the LigandBFSMask and LigandMaskAll options for sampling, if the masking ratio is set to 100%, there is no practical difference between the two. You can choose either option without affecting the outcome.