I am new starter on coding; therefore, it is quite hard for me. I need to find or write from scratch, which is really hard for me now. Do you have any question for me? Please help me solve my problem.
Can you please thoroughly explain what you're trying to do? What docking exactly are you trying to reverse? What are the aims? Once we have more details, we'll be better able to help.
Thanks for clarifying your aims, they're actually quite interesting, and challenging!
I think that writing a Python program to do all of the above by itself would be nearly impossible (docking etc. are usually done in more performant languages like C++). I'd recommend using Python as a sort-of glue to stick other existing programs together instead.
The better approach would be to find a docking program that can identify the cavities in a protein, and that you can automate the use of through Python. Then:
* give the software all the proteins, to identify all the cavities
* make the program bind all the cavities to all the small molecules
* record the binding scores for each
Afterwards, you could use some of the methods in Scikit-Learn to calculate the correlation between off-target binding to side-effects.
I hope this helps, and good luck with the project.