You are here

How to set start coordinates for ligand when doing protein_ligand docking

4 posts / 0 new
Last post
How to set start coordinates for ligand when doing protein_ligand docking


I am new to rosetta and I want to perform protein-lignad docking using rosetta3.13, I used my own PDB files and the option.txt, dock.xml under the folder rosetta/main/demos/tutorials/ligand_docking to perform docking. I found the ligand was still outside the protein after docking. Therefore, I tried to add the start coordinates for the ligand in the dock.xml but didn't find a right way. Could you help me with this?  I attached the PDB file I used for docking.



The pdb file for docking173.64 KB
Post Situation: 
Wed, 2021-08-18 21:09

The easiest, most basic, yet crude way to put a ligand roughly where you want it is by moving it there by hand in PyMOL.

Opening your PDB in PyMOL with the ligand as a different object (`create ligand, resn XXX`, `remove resn XXX and not ligand`) and then click on the right hand side panel where it says "Mouse mode" in hacker green, until it switches to 3 button editing. Then find your ligand (`zoom ligand`) and click and drag with Shift+middle button (Move Object).
To put everything back together, `create combo, ligand and whateveryourproteiniscalled`. `save out.pdb, combo`.

Thu, 2021-08-19 01:02

Hi Matteoferla,

Thank you for your reply! The problem is I have a large number of ligands perform docking. It might be a problem to do this manually.  Is there any way to do this by code in rosetta? Like, add the coordinates in the dock.xml? 


Thu, 2021-08-19 11:33

I have never used that script, but I was the first to comment so I'll throw in my two pence. So hopefully someone will correct me here!

The placement mover in ligand_dock.xml is StartFrom, followed by SlideTogether.

I had not used these (as I don;t use scripts) and SlideTogether seems interesting, so I gave it a go but in PyRosetta (as it is quicker for me with copypasted code) to see if I could see a similar issue. I loaded 1UBQ added a calcium and set it to start from the first atom of the first residue.

plonked       0.000000000000000       0.000000000000000       0.000000000000000
placed - preslide       0.000000000000000       0.000000000000000       0.000000000000000
placed - scored - preslide      -2.854124475849641      -4.498435482824281      -12.72844504157526
applied - slide       21.13875155600521       19.56288919831405       7.898165303046977
expected       27.34000000000000       24.43000000000000       2.614000000000000
from+slide iteration # 0       24.55963064266824       21.60568207840703       2.123735115821379
from+slide iteration # 1       25.39198942346304       22.19521404330319       1.299503139695085
from+slide iteration # 2       25.81168774549055       22.46766056497561      0.7280901660913717
from iteration # 0       25.74978111132409       22.37820849808345      0.5029993036049070
from iteration # 1       22.83320766713281       17.82550084631411      -12.22666573009498
from iteration # 2       19.92370757542735       13.28383454378630      -24.92545843723330

SlideTogether seems to do its thing, but the starting location was bad.

The StartFrom does the weird stale thing in PyRosetta, but simply scoring the pose fixes it... I assume it is fine in Rosetta XML, but the location is not right. 

Applying it multiple times, shifts it for me farther and farther of the same amount.

You might want to check the result of that mover alone...

But a hack could be to simply have your active site at the origin and skip the StartFrom...

File attachments: 
Fri, 2021-08-20 08:37