Docking a protein with a fatty acid side chain

I have tried to do protein-protein docking where one of the proteins has a fatty acid chain. Even though the docking was successful, the fatty acid chain was removed and is not visible when I view the results in Pymol. The fatty acid chain is essential for my protein, so I really need this fatty acid chain to also be docked.

Is it possible to dock proteins with fatty acid chains using HADDOCK?

Thank you,

Provided the fatty acid chain is defined as HETATM is will work.
And check the content of the HADDOCK PDB files. It’s not because you don’t see it in PyMol that it is not there…

Thanks for the reply.

However, I am completely new to all of this and I am unsure how I should proceed. Do I only have to change “ATOM” to “HETATM” for all the atoms of the fatty acid chain in the pdb file of the ligand? The fatty acid chain is attached to a Cys residue. Does the Cys residue also have to be in the HETATM format?

Once again, I am a complete beginner to all of this, so I would greatly appreciate your help.


Yes you will have to change all "ATOM " to “HETATM” - don’t mess up the columns in doing that.

As for the covalent link to the CYS, I would define an ambiguous distance restraint between your fatty acid and the CYS sulfur atom to keep it in place since HADDOCK won’t generate the covalent bond

How exactly should I go about defining an ambiguous distance restraint? I have never done such a thing before.

I know that the file must be in the format:
assign (resid x and segid B) (residy and segid A) d0 d- d+

However, if you look at the image from my previous post, both the Cys residue and the fatty acid atoms are assigned as residue 20. So what would resid x and residy be?

What should d0 (target distance), d-, d+ (lower and upper distance margins) be? How do they exactly define the distance?


Make the distance specific between two atoms, e.g.:

assign (resid x and name YYY and segid B) (resid y and name SG and segid A) d0 d- d+

And as distance simply measure the corresponding distance in your starting model and use that one, with e.g. values of 0.1 for d- and d+


Thank you for the information. I am doing something very similar: I would like to dock an acylated holo protein ligand to a receptor. In particular, I would like to constrain the model such that the 9th carbon of the fatty acid chain is in a certain location in the binding pocket of the receptor, near the catalytic site. Do you recommend any settings to ensure that the acyl chain is situated in this fashion? I also saw some suggestions from Francesca Cantini’s post from 2016 which I will also try.

In a previous attempt using the easy interface, I docked an acyl-ACP to the receptor, however, the acyl chain retained its conformation from the input file and did not enter the binding pocket. I just received access for the expert interface so that I may incorporate distance restraints.

Thank you again for your time.

Define a specific distance restraint from your 9th carbon is at a specific distance range from the catalytic residues

Hi Alex,

I am trying to dock an acyl-ACP to a receptor with a deep binding pocket. Like majindra14, I’ve been having an issue where the acyl chain is not entering the binding pocket and retains its original conformation with the acyl chain in the ACP pocket, even after defining a constraint for the acyl chain to be a specific distance from the catalytic residues in the binding pocket. I’ve attempted combinations of the following:

  • defining the acyl chain as fully flexible
  • defining the entire binding pocket and acyl chain as active residues
  • defining the binding pocket as active for the ambiguous restraints, then as passive for unambiguous restraints and adjusting the restraints energy constants per this tutorial
  • defining only the catalytic residue in the binding pocket as active and the acyl chain as active
  • manually altering the original acyl-ACP pdb file to have the acyl chain rotated out of the ACP pocket so that it is in the intended final conformation.
  • increasing the number of structures for rigid-body docking stage and semi-flexible refinement

For all docking trials, I have defined the same residues on the surface of the ACP and the receptor as active. So far, the only successful docked structures have been those that have been submitted with the acyl chain rotated out of the ACP pocket. Furthermore, depending on how far the acyl chain is rotated away from the ACP pocket, I get different docking results, which I believe is the result of the rigid-docking stage not allowing the acyl chain to be flexible.

Is there a way for Haddock to do this docking without needing to manually alter the input acyl-ACP file?

Thank you!

If the acyl chain is blocking the binding pocket it will be tricky…

You could try setting inter_rigid to 0.001, and the weight of the van der Waals energy term at it0 to 0 (for the scoring).

Thank you for the suggestions! Just to clarify, does the van der Waals energy term for it0 correspond to the Evdw 1 parameter? I am also having trouble finding what parameter inter_rigid corresponds to. Or is inter_rigid only accessible through the json file?

Edit: Found it! “Scaling of intermolecular interactions for rigid body EM”

Should be Evdw 0 (for it0) - the first vdw weight