coleygroup / molpal

active learning for accelerated high-throughput virtual screening
MIT License
159 stars 36 forks source link

[QUESTION]: Basic MolPal usage #48

Open Tonylac77 opened 1 year ago

Tonylac77 commented 1 year ago

First of all, I would like to thank you for your work with MolPal, I'm sure this will be very useful to the drug discovery community in the future.

I am trying to use your software to predict docking scores that have been generated by my own consensus docking pipeline .

I am struggling to understand (despite your very clear documentation) how I would go about this. If I understand correctly I would be using the lookup function of Molpal. However, when I look at your examples on GitHub (for example in /examples/objective/EnamineHTS_lookup.ini which points to /data/EnamineHTS_scores.csv.gz) it seems the software is looking at the entire libraries docking scores. Obviously, I am understanding something wrong here as the point is to have to dock only a small part of the library.

These are the two ways I understand this, feel free to let me know if I'm completely off with either of these...

  1. Assuming I dock 1% of the library to start with, I would then essentially train the model on that 1%, do one iteration of Molpal, then dock the compounds predicted to have good docking scores. Then repeat this process until I reach a total of 6 iterations as described in the paper?
  2. Alternatively, assuming I dock 1% of the library to start with, would I then run Molpal directly using this 1% as a lookup and not have to dock the suggested compounds (except if I wanted to check the performance of the prediction?). In this case, I don't fully grasp why there would be an option to 'retrain from scratch'.

I apologize if I am missing something obvious.

Thank you for your time and assistance.

kc-chong commented 1 month ago

Any update? Have you managed to get the answer for this?

connorcoley commented 1 month ago

The --library setting is meant for retrospective evaluations and comparison of different settings and scoring functions.

In the README, we mention how to use the docking objective functions. An example of a configuration file is here.

If there is a different callable evaluation, you can use the DockingObjective class as a reference. It might take some tweaking to get this right, but it should be doable!

kc-chong commented 1 month ago

Hi @connorcoley Thanks for the prompt reply :)

connorcoley commented 1 month ago

Hopefully that promptness makes up for missing @Tonylac77 's original comment for over a year! (sorry)