Never use re-docking for estimation of docking accuracy
Re-docking of ligands found in PDB files are often used as a fast evaluation of a docking program before working with designed or other ligands. However this re-docking can give deceptively good results and it is recommended to instead test with cross docking. In this follow up blog post I give a short example of how it can be done.
Cross docking with Smina
Last time I illustrated how easy it is to use Smina for docking a small molecule ligand to its receptor. However, the excellent results can be deceptive if only re-docking is used for estimation of the docking accuracy. Re-docking is the process of removing the ligand molecule from the receptor model and then dock it back. Instead cross-docking should be used. Here a receptor model obtained from a PDB file where another ligand is removed is used for docking of the small molecule. Its easy to download a PDB file, remove the ligand and compare with the original, but as I will show, the results can be much different, when the much more cumbersome procedure of cross docking is used.
The two different procedures are conceptually outlined in the figure to the right. The PDB file with ID 1OYT was time downloaded, the ligand (id: FSN) removed and re-docked. This is what was done in the previous blog post. For cross docking shown below, the 1G32 receptor will be, aligned to the receptor model in 1OYT, the 1G32 ligand with ID R11 removed and the receptor used for docking.
Receptor file download, alignment and saving is easily done with a script for PyMOL:
fetch 1OYT fetch 1G32 align 1G32, 1OYT remove resn HOH h_add elem O or elem N #Select select 1G32-R11, resn R11 select 1OYT-FSN, resn FSN select 1OYT-receptor, 1OYT and not 1OYT-FSN select 1G32-receptor, 1G32 and not 1G32-R11 #Save receptors and ligands save 1G32-R11.pdb, 1G32-R11 save 1OYT-FSN.pdb, 1OYT-FSN save 1OYT-receptor.pdb, 1OYT-receptor save 1G32-receptor.pdb, 1G32-receptor
As last time OpenBabel is used to convert to PDBQT file format.
obabel 1G32-receptor.pdb -xr -O 1G32-receptor.pdbqt obabel 1G32-R11.pdb -O 1G32-R11.pdbqt obabel 1OYT-FSN.pdb -O 1OYT-FSN.pdb1t obabel 1OYT-receptor.pdb -xr -O 1OYT-receptor.pdbqt
The align command in Pymol specifies the mobile target first, so the files generated in the previous blog post could actually have been reused as the atom coordinates of the 1OYT receptor did not change. With the PDBQT files generated it is easy to cross-dock one ligand to the other receptor and afterwards in PyMOL compare the result with the original pose of the ligand.
smina.static -r 1G32-receptor.pdbqt -l 1OYT-FSN.pdbqt --autobox_ligand 1OYT-FSN.pdbqt --autobox_add 8 --exhaustiveness 16 -o FSN-Crossdock.pdbqt pymol FSN-Crossdock.pdbqt 1OYT-FSN.pdb 1G32-receptor.pdb 1OYT-receptor.pdb
The results are not as convincing as last time. The first nine suggested poses fails to find the native pose. The reason seem to be the changes in a tyrosine and tryptophan side chain, which have adapted their position in an induced fit with the other ligand which had been used to produce the Xray structure in the PDB file with the id 1G32. This leads to a steric clash with the native pose of the ligand for the test docking, which penalizes the pose in the scoring function. To get around this a lot of preparation of the docking target is necessary or alternatively the scoring function can be adjusted. Let me know if theres interest for this subject by commenting below.
Docking the ligand from 1G32 into the receptor from 1OYT gives better better results, although not as nice as if the 1G32 receptor is used. So always evaluate docking targets with cross docking if it is possible.
smina.static -r 1OYT-receptor.pdbqt -l 1G32-R11.pdbqt --autobox_ligand 1OYT-FSN.pdbqt --autobox_add 8 --exhaustiveness 16 -o R11-Crossdock.pdbqt pymol R11-Crossdock.pdbqt 1G32-R11.pdb 1G32-receptor.pdb 1OYT-receptor.pdb
Happy docking 😉
Esben Jannik Bjerrum