<p>I'm a computer scientist who is now getting into designing new molecules, with the goal that they dock well to a given target. While I'm used to coding up machine learning algorithms in python, I'm finding things a bit murky in terms of the how-to of docking. I lack pretty much any (medicinal) chemistry/biomedical engineering background and so understanding how to get things to work has been a real struggle.</p>
<p>In particular I've been looking at two githubs: <a href="https://github.com/cieplinski-tobiasz/smina-docking-benchmark" rel="nofollow noreferrer">this one using smina</a> and <a href="https://github.com/cstein/GB-GA/tree/feature-glide_docking" rel="nofollow noreferrer">this one using glide</a>. Recently, my collaborators have steered me toward rDock/RxDoc.  Near as I can tell the basic ingredients for ANY docking software are:</p>
<ol>
<li>a target file (rna or protein) in a .pdbdt,.pdb, or .mol2 file with
it docked to any ligand</li>
<li>a ligand file (mol2)</li>
<li>a target file with the ligand removed</li>
</ol>
<p>But where I get lost is in any intuition on how to prepare these files, how to find them, and any intuition <em>at all</em> about how to make these work. I've seen suggestions of openbabel, etc, but there seem to be no tutorials online.</p>
<p>So, my question is: Suppose I have a molecule in <code>rdkit</code> and a protein or an RNA that I want to dock it to, accessed from the protein databank, say. What is the ``right'' way to do the following:</p>
<ol>
<li>Download the receptor from pdb</li>
<li>Process the receptor to get file of the receptor with and without ligand</li>
<li>Process a molecule from <code>rdkit</code> so that the docking software can dock a (new) molecule to the receptor and give a docking score?</li>
</ol>
<p>Ideally this should work for `any' receptor, but if the steps above need to be based on the specifics of the receptor, that would be helpful for me to know.</p>
<p>I'm shocked there isn't a beginners guide on this out there that's more easy to find, and I worry about going down this route without any intuition.</p>

CC BY-SA 4.0
2021-11-21T08:27:30.533Z
The basics of docking are explaining in several textbooks (eg. Essentials of computational chemistry). The science is _rather_ important as there are lots of complications as protein are not solid blocks, water can form tight interactions (cf implicit water), Lipinski rules, the candidate compound needs to block the protein s activity (cf box size), Gibbs free energy (“score”) isn’t the sole value to sort on etc etc.
Matteo Ferla
CC BY-SA 4.0
2021-11-21T08:32:51.207Z
Regarding what to use, the Capri competition is a great way to see how programs compare. Glide scores well but it’s not open source. Autodock4 and Autodock Vina are very popular and highly documented —they are different in approach and the former is more adaptable and the latter is (misleadingly) simple. The papers describing these give a lot of info…
Matteo Ferla
CC BY-SA 4.0
2021-11-25T22:26:26.377Z
not sure I remembder it right, you put your target in a box , add the ligand somewhere in the box , minimize everything to find the most probable binding site ?, or you force the ligand in one particular site of the target ?
pippo1980
<docking>
Basic Docking Work Flow
# Basic Docking Work Flow

(Asked by: username_0 on 2021-11-18)

I'm a computer scientist who is now getting into designing new molecules, with the goal that they dock well to a given target. While I'm used to coding up machine learning algorithms in python, I'm finding things a bit murky in terms of the how-to of docking. I lack pretty much any (medicinal) chemistry/biomedical engineering background and so understanding how to get things to work has been a real struggle.

In particular I've been looking at two githubs: [this one using smina](https://github.com/cieplinski-tobiasz/smina-docking-benchmark) and [this one using glide](https://github.com/cstein/GB-GA/tree/feature-glide_docking). Recently, my collaborators have steered me toward rDock/RxDoc. Near as I can tell the basic ingredients for ANY docking software are:

1. a target file (rna or protein) in a .pdbdt,.pdb, or .mol2 file with
   it docked to any ligand
2. a ligand file (mol2)
3. a target file with the ligand removed

But where I get lost is in any intuition on how to prepare these files, how to find them, and any intuition *at all* about how to make these work. I've seen suggestions of openbabel, etc, but there seem to be no tutorials online.

So, my question is: Suppose I have a molecule in `rdkit` and a protein or an RNA that I want to dock it to, accessed from the protein databank, say. What is the ``right'' way to do the following:

1. Download the receptor from pdb
2. Process the receptor to get file of the receptor with and without ligand
3. Process a molecule from `rdkit` so that the docking software can dock a (new) molecule to the receptor and give a docking score?

Ideally this should work for `any' receptor, but if the steps above need to be based on the specifics of the receptor, that would be helpful for me to know.

I'm shocked there isn't a beginners guide on this out there that's more easy to find, and I worry about going down this route without any intuition.

**Tags:** docking
> **Comments:**
> **username_1**: The basics of docking are explaining in several textbooks (eg. Essentials of computational chemistry). The science is _rather_ important as there are lots of complications as protein are not solid blocks, water can form tight interactions (cf implicit water), Lipinski rules, the candidate compound needs to block the protein s activity (cf box size), Gibbs free energy (“score”) isn’t the sole value to sort on etc etc.  
> **username_1**: Regarding what to use, the Capri competition is a great way to see how programs compare. Glide scores well but it’s not open source. Autodock4 and Autodock Vina are very popular and highly documented —they are different in approach and the former is more adaptable and the latter is (misleadingly) simple. The papers describing these give a lot of info…  
> **username_2**: not sure I remembder it right, you put your target in a box , add the ligand somewhere in the box , minimize everything to find the most probable binding site ?, or you force the ligand in one particular site of the target ?  

---

## 0 answers

