XuhanLiu / DrugEx

Deep learning toolkit for Drug Design with Pareto-based Multi-Objective optimization in Polypharmacology
MIT License
196 stars 67 forks source link

Running Multitarget with smiles? #12

Open rajiv03 opened 2 years ago

rajiv03 commented 2 years ago

Thanks for the interesting tool. How do we run multitarget with our own database(smiles) ?

XuhanLiu commented 2 years ago
  1. Collecting your own data from public database, e.g. ChEMBL, and then encode them to the token series of SMILES format. (dataset.py)
  2. Constructing the QSAR model as the predictor to predict the affinity of each molecule for the given target. (environ.py)
  3. you have to pre-train and fine-tune the generator based on the your molecular dataset. (pretrain.py)
  4. Train the generator under the reinforcement learning framework with Pareto ranking algorithm. (agent.py)
  5. Generating molecules with well-trained model. (sampler.py)
rajiv03 commented 2 years ago

its very hard to follow-up the steps. I would like to make a use of this tool for followng scenarios: (1) Have ~2000 active/inactive cpds data for two targets (i.e., assume both are kinaes but different target) (2) I would like to use these data knowledge for training the model to geneatre molecules that are very favourable/selective to one target?

XuhanLiu commented 2 years ago

I think DrugEx v2 is suitable for your scenarios. 2k data points are enough to construct predictors. But for the generator, you need to find some similar molecules to enlarge your dataset to make sure that your final model can generate more diverse molecules. In addition, I think you have finished for the step 1 and step 2 is not quite hard. For the step 3, you need to pre-train your model on the large dataset (e.g. ChEMBL database with 2M molecules) and then fine-tuned it on your focused dataset (2k molecules). Maybe the step 4 is the most difficult part, you can run it at first, if there are some problems, just let me know, I will try to help you. Good luck!