Ligand becomes residue in model - local installation


I am trying to do protein-protein docking with ligands bound to each protein. The goal is to obtain complexes for PROTAC screening. I’m using a local installation instead of the webserver, since we try to set up a pipeline for PROTAC screening where the results of haddock can be directly used in the other software for the PROTAC screening on the computing clusters. I did use the webserver prior and was able to obtain the results I wanted to see for test cases.

I’m using Haddock2.2 on a SLURM system (waiting for Haddock2.4 to be installed on the server) and have two PDB files (proteinA.pdb and proteinB.pdb). I generated a run directory and I generated parameter and topology files of the ligands present in the PDB files of proteinA-B.pdb on the PRODRG server and added this in the ligand.param and files in the toppar directory respectively. I removed the NBONDs part of the ligand.param and adjusted one of the param files to take into account that atoms definitions are not similar between the two compounds. Also, added the first and last ions part in ligand.pep file.

When running haddock, I do not get any errors in any of the generate*.out files in the ./begin directory. When I look into the generateA.pdb files, I have a protein with a ligand. However, in the generate_complex.pdb model the ligand of proteinA has “disappeared”. The ligand is still present, but seen as a residue in the sequence of the proteinB. (So, when I open the file, I have chain of ProteinA, chain of ProteinB + ligand ProteinA (included in the sequence), and the ligand of Protein B). In the PDB file of the complex, both ligands are ATOM rather than HETATM. But one is seen as residue and other as ligand.

How could I solve this? Do I have to change or add something in the ligand.param/.top file if I include multiple ligands? Or should I include the compounds as separate PDB files?

Thanks in advance!

All ligands are defined as ATOM in HADDOCK once they went through the generate step.

What do you mean exactly by one is seen as residue and one as ligand? Ligands also get a residue number.

Are the two ligands similar?

Also you better give them different residue names to be safe.

What are the segIDs of those ligands? A and B?


When I visualize the structures, one is recognized as ligand the other as a residue of one of the chains. (When I open the structures obtained from the web server, I don’t encounter this problem).

The two ligands are different and included in the two PDB files of the proteins. They have different residue names (TG0 and 759 respectively for protein A (VHL) and protein B (BRD4BD2)). The protein chain IDs are similar to the protein they are part of.

Would giving them different protein chain IDs help?

Well if the resulting models are fine, then it is simply a visualisation issue :slight_smile: